<?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>BlaineSch</title>
	<atom:link href="http://www.BlaineSch.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.BlaineSch.com</link>
	<description>Web and Application Developer</description>
	<lastBuildDate>Tue, 20 Mar 2012 23:31:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Zend PHP 5.3 Certification</title>
		<link>http://www.BlaineSch.com/386/zend-php-5-3-certification/</link>
		<comments>http://www.BlaineSch.com/386/zend-php-5-3-certification/#comments</comments>
		<pubDate>Tue, 20 Mar 2012 23:28:01 +0000</pubDate>
		<dc:creator>Elecktricity</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.BlaineSch.com/?p=386</guid>
		<description><![CDATA[Last Monday, on the 19th, I got my Zend PHP certification! I wish I would have waited a little longer since 5.4 was released a few days after I purchased the 5.3 voucher, but at that point I&#8217;d still be waiting on the new 5.4 test which isn&#8217;t out yet. I&#8217;m pretty excited about passing! ...]]></description>
			<content:encoded><![CDATA[<p>Last Monday, on the 19th, I got my <a title="Blaine Schmeisser is Zend PHP 5.3 Certified" href="http://www.zend.com/en/store/education/certification/yellow-pages.php#show-ClientCandidateID=ZEND016542">Zend PHP certification</a>! I wish I would have waited a little longer since 5.4 was released a few days after I purchased the 5.3 voucher, but at that point I&#8217;d still be waiting on the new 5.4 test which isn&#8217;t out yet. I&#8217;m pretty excited about passing!</p>
<p>To prepare for the test I read through and quizzed myself quite a few times using the PDF (<a title="Zend PHP 5.3 Certification Guide" href="http://www.zend.com/services/certification/">PHP 5.3 Certification Guide</a>) they provided. I also found a lovely program by uCertify, called <a title="uCertify - Zend PHP 5 Certification Practice Test" href="http://www.ucertify.com/exams/Zend/ZEND-PHP5.html">Zend PHP 5 Certification Practice Test</a>, this software, and other uCerify software, has a lovely &#8220;100% pass guarantee&#8221;. With such a confident guarantee, why wouldn&#8217;t I get it? It had quite a few questions, and after finishing any of the tests you could go back and see what you did wrong with an explanation. You could also see reports of your progress and quiz yourself on your trouble areas. I would recommend this software to anybody who is interested in getting certified. They have an impressive 98.17% pass through rate, but because there isn&#8217;t a way to report if you passed or failed on your exam, the number seems a bit shady.</p>
<p>We were required to bring 2 forms of identification, and one needed to be a photo identification. They weren&#8217;t very specific about which two identifications you could use, but after calling I confirmed I could use a drivers license and social security card. It would be nice if they listed what was accepted since they had a strict policy that if you miss the exam you have to repurchase the voucher. Nobody would appreciate having to repurchase a voucher over such a small detail.</p>
<p>Something I also didn&#8217;t notice before was that upon being Zend Certified, you can only use the logo on personal items such as your personal website, resume, business cards and the like. You cannot post the Zend Certified logo on your company website, which was something my boss was looking forward to. The terms can be found at the bottom of the <a title="Zend Certified Engineer Logo" href="http://www.zend.com/en/services/certification/zce-logo">Zend Certified Engineer Logo page</a>.</p>
<p><a href="http://www.zend.com/en/store/education/certification/yellow-pages.php#show-ClientCandidateID=ZEND016542"><img class="size-full wp-image-388 aligncenter" title="Zend Certified Engineer PHP 5.3" src="http://www.BlaineSch.com/web/wp-content/uploads/2012/03/zce-php5-3-logo.gif" alt="" width="73" height="68" /></a></p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-knowledge">
<ul class="socials">
		<li class="shr-delicious">
			<a href="http://www.shareaholic.com/api/share/?title=Zend+PHP+5.3+Certification&amp;link=http://www.BlaineSch.com/386/zend-php-5-3-certification/&amp;notes=Last%20Monday%2C%20on%20the%2019th%2C%20I%20got%20my%20Zend%20PHP%20certification%21%20I%20wish%20I%20would%20have%20waited%20a%20little%20longer%20since%205.4%20was%20released%20a%20few%20days%20after%20I%20purchased%20the%205.3%20voucher%2C%20but%20at%20that%20point%20I%27d%20still%20be%20waiting%20on%20the%20new%205.4%20test%20which%20isn%27t%20out%20yet.%20I%27m%20pretty%20excited%20about%20passing%21%0D%0A%0D%0ATo%20prepare%20f&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=Zend+PHP+5.3+Certification&amp;link=http://www.BlaineSch.com/386/zend-php-5-3-certification/&amp;notes=Last%20Monday%2C%20on%20the%2019th%2C%20I%20got%20my%20Zend%20PHP%20certification%21%20I%20wish%20I%20would%20have%20waited%20a%20little%20longer%20since%205.4%20was%20released%20a%20few%20days%20after%20I%20purchased%20the%205.3%20voucher%2C%20but%20at%20that%20point%20I%27d%20still%20be%20waiting%20on%20the%20new%205.4%20test%20which%20isn%27t%20out%20yet.%20I%27m%20pretty%20excited%20about%20passing%21%0D%0A%0D%0ATo%20prepare%20f&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%24%7Btitle%7D+-+%24%7Bshort_link%7D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-googlebookmarks">
			<a href="http://www.shareaholic.com/api/share/?title=Zend+PHP+5.3+Certification&amp;link=http://www.BlaineSch.com/386/zend-php-5-3-certification/&amp;notes=Last%20Monday%2C%20on%20the%2019th%2C%20I%20got%20my%20Zend%20PHP%20certification%21%20I%20wish%20I%20would%20have%20waited%20a%20little%20longer%20since%205.4%20was%20released%20a%20few%20days%20after%20I%20purchased%20the%205.3%20voucher%2C%20but%20at%20that%20point%20I%27d%20still%20be%20waiting%20on%20the%20new%205.4%20test%20which%20isn%27t%20out%20yet.%20I%27m%20pretty%20excited%20about%20passing%21%0D%0A%0D%0ATo%20prepare%20f&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=74&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Add this to Google Bookmarks">Add this to Google Bookmarks</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.shareaholic.com/api/share/?title=Zend+PHP+5.3+Certification&amp;link=http://www.BlaineSch.com/386/zend-php-5-3-certification/&amp;notes=Last%20Monday%2C%20on%20the%2019th%2C%20I%20got%20my%20Zend%20PHP%20certification%21%20I%20wish%20I%20would%20have%20waited%20a%20little%20longer%20since%205.4%20was%20released%20a%20few%20days%20after%20I%20purchased%20the%205.3%20voucher%2C%20but%20at%20that%20point%20I%27d%20still%20be%20waiting%20on%20the%20new%205.4%20test%20which%20isn%27t%20out%20yet.%20I%27m%20pretty%20excited%20about%20passing%21%0D%0A%0D%0ATo%20prepare%20f&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-comfeed">
			<a href="http://www.blainesch.com/386/zend-php-5-3-certification/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a>
		</li>
		<li class="shr-gmail">
			<a href="http://www.shareaholic.com/api/share/?title=Zend+PHP+5.3+Certification&amp;link=http://www.BlaineSch.com/386/zend-php-5-3-certification/&amp;notes=Last%20Monday%2C%20on%20the%2019th%2C%20I%20got%20my%20Zend%20PHP%20certification%21%20I%20wish%20I%20would%20have%20waited%20a%20little%20longer%20since%205.4%20was%20released%20a%20few%20days%20after%20I%20purchased%20the%205.3%20voucher%2C%20but%20at%20that%20point%20I%27d%20still%20be%20waiting%20on%20the%20new%205.4%20test%20which%20isn%27t%20out%20yet.%20I%27m%20pretty%20excited%20about%20passing%21%0D%0A%0D%0ATo%20prepare%20f&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=52&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Email this via Gmail">Email this via Gmail</a>
		</li>
		<li class="shr-blogger">
			<a href="http://www.shareaholic.com/api/share/?title=Zend+PHP+5.3+Certification&amp;link=http://www.BlaineSch.com/386/zend-php-5-3-certification/&amp;notes=Last%20Monday%2C%20on%20the%2019th%2C%20I%20got%20my%20Zend%20PHP%20certification%21%20I%20wish%20I%20would%20have%20waited%20a%20little%20longer%20since%205.4%20was%20released%20a%20few%20days%20after%20I%20purchased%20the%205.3%20voucher%2C%20but%20at%20that%20point%20I%27d%20still%20be%20waiting%20on%20the%20new%205.4%20test%20which%20isn%27t%20out%20yet.%20I%27m%20pretty%20excited%20about%20passing%21%0D%0A%0D%0ATo%20prepare%20f&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=219&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Blog this on Blogger">Blog this on Blogger</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.BlaineSch.com/386/zend-php-5-3-certification/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Classic ASP Dates</title>
		<link>http://www.BlaineSch.com/378/classic-asp-dates/</link>
		<comments>http://www.BlaineSch.com/378/classic-asp-dates/#comments</comments>
		<pubDate>Fri, 02 Mar 2012 16:12:16 +0000</pubDate>
		<dc:creator>Elecktricity</dc:creator>
				<category><![CDATA[Classic ASP]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.BlaineSch.com/?p=378</guid>
		<description><![CDATA[I&#8217;ve recently ran into a constraint with Classic ASP, because it does not give you a whole lot of flexibility when you want to format dates. After looking around I decided to go ahead and make my own date functionality, which I wrote using Server Side JavaScript. Within Classic ASP you include the file and ...]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve recently ran into a constraint with Classic ASP, because it does not give you a whole lot of flexibility when you want to format dates. After looking around I decided to go ahead and make my own date functionality, which I wrote using Server Side JavaScript. Within Classic ASP you include the file and make a simple function call and you can format the dates almost exactly  like PHP&#8217;s date function works. It currently supports 34 of the 37 format characters that PHP Supports.</p>
<p>Compared to using the few built in functions like FormatDateTime to get a few pre-formatted dates, or using other date functions like “year”, “month”, and “day” to concatenate a string together, this makes life much easier.</p>
<p>Here is a quick example of how to use it.</p>
<div class="hl-container">
<div class="hl-main">
<pre><span class="hl-code">&lt;!-- #include file=&quot;./formatDate.asp&quot;--&gt;
&lt;%
Response.write(formatDate(&quot;Y-m-d H:i:s&quot;, CDate(&quot;02/25/2012 10:00:00&quot;)))
    ' 2012-02-25 10:00:00
Response.write(formatDate(&quot;l, F jS, Y&quot;, NOW()))
    ' Monday, February 27th, 2012
Response.write(formatDate(&quot;r&quot;))
    ' Mon, 27 Feb 2012 13:53:21 -0600
%&gt;</span></pre>
</div>
</div>
<p>I also extend the Date object for client side date formatting at work. You can view the source of this at <a href="http://blog.skynet-solutions.net/post/18608772393/javascript-dates" title="JavaScript Date - Skynet Blog" target="_blank">Skynet&#8217;s Blog</a>.</p>
<div class="wpfilebase-attachment">
<div class="wpfilebase-fileicon"><a href="http://www.BlaineSch.com/download/formatDate(2).zip" title="Download Format Date"><img align="middle" src="http://www.BlaineSch.com/web/wp-includes/images/crystal/archive.png" alt="Format Date" /></a></div>
<div class="wpfilebase-rightcol">
<div class="wpfilebase-filetitle">
   <a href="http://www.BlaineSch.com/download/formatDate(2).zip" title="Download Format Date">Format Date</a><br />
   formatDate(2).zip<br />
   Version: v1.0</p></div>
<div class="wpfilebase-filedetails" id="wpfilebase-filedetails1" style="display: none;">
<p>A script which attempts to duplicate the PHP Date function.</p>
<table border="0">
<tr>
<td><strong>Author:</strong></td>
<td>Blaine Schmeisser</td>
</tr>
<tr>
<td><strong>Date:</strong></td>
<td>March 1, 2012</td>
</tr>
</table></div>
</p></div>
<div class="wpfilebase-fileinfo">
  3.1 KiB<br />
  27 Downloads<br />
  <a href="#" onclick="return wpfilebase_filedetails(1);">Details&#8230;</a>
 </div>
<div style="clear: both;"></div>
</div>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-knowledge">
<ul class="socials">
		<li class="shr-delicious">
			<a href="http://www.shareaholic.com/api/share/?title=Classic+ASP+Dates&amp;link=http://www.BlaineSch.com/378/classic-asp-dates/&amp;notes=I%27ve%20recently%20ran%20into%20a%20constraint%20with%20Classic%20ASP%2C%20because%20it%20does%20not%20give%20you%20a%20whole%20lot%20of%20flexibility%20when%20you%20want%20to%20format%20dates.%20After%20looking%20around%20I%20decided%20to%20go%20ahead%20and%20make%20my%20own%20date%20functionality%2C%20which%20I%20wrote%20using%20Server%20Side%20JavaScript.%20Within%20Classic%20ASP%20you%20include%20the%20f&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=Classic+ASP+Dates&amp;link=http://www.BlaineSch.com/378/classic-asp-dates/&amp;notes=I%27ve%20recently%20ran%20into%20a%20constraint%20with%20Classic%20ASP%2C%20because%20it%20does%20not%20give%20you%20a%20whole%20lot%20of%20flexibility%20when%20you%20want%20to%20format%20dates.%20After%20looking%20around%20I%20decided%20to%20go%20ahead%20and%20make%20my%20own%20date%20functionality%2C%20which%20I%20wrote%20using%20Server%20Side%20JavaScript.%20Within%20Classic%20ASP%20you%20include%20the%20f&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%24%7Btitle%7D+-+%24%7Bshort_link%7D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-googlebookmarks">
			<a href="http://www.shareaholic.com/api/share/?title=Classic+ASP+Dates&amp;link=http://www.BlaineSch.com/378/classic-asp-dates/&amp;notes=I%27ve%20recently%20ran%20into%20a%20constraint%20with%20Classic%20ASP%2C%20because%20it%20does%20not%20give%20you%20a%20whole%20lot%20of%20flexibility%20when%20you%20want%20to%20format%20dates.%20After%20looking%20around%20I%20decided%20to%20go%20ahead%20and%20make%20my%20own%20date%20functionality%2C%20which%20I%20wrote%20using%20Server%20Side%20JavaScript.%20Within%20Classic%20ASP%20you%20include%20the%20f&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=74&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Add this to Google Bookmarks">Add this to Google Bookmarks</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.shareaholic.com/api/share/?title=Classic+ASP+Dates&amp;link=http://www.BlaineSch.com/378/classic-asp-dates/&amp;notes=I%27ve%20recently%20ran%20into%20a%20constraint%20with%20Classic%20ASP%2C%20because%20it%20does%20not%20give%20you%20a%20whole%20lot%20of%20flexibility%20when%20you%20want%20to%20format%20dates.%20After%20looking%20around%20I%20decided%20to%20go%20ahead%20and%20make%20my%20own%20date%20functionality%2C%20which%20I%20wrote%20using%20Server%20Side%20JavaScript.%20Within%20Classic%20ASP%20you%20include%20the%20f&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-comfeed">
			<a href="http://www.blainesch.com/378/classic-asp-dates/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a>
		</li>
		<li class="shr-gmail">
			<a href="http://www.shareaholic.com/api/share/?title=Classic+ASP+Dates&amp;link=http://www.BlaineSch.com/378/classic-asp-dates/&amp;notes=I%27ve%20recently%20ran%20into%20a%20constraint%20with%20Classic%20ASP%2C%20because%20it%20does%20not%20give%20you%20a%20whole%20lot%20of%20flexibility%20when%20you%20want%20to%20format%20dates.%20After%20looking%20around%20I%20decided%20to%20go%20ahead%20and%20make%20my%20own%20date%20functionality%2C%20which%20I%20wrote%20using%20Server%20Side%20JavaScript.%20Within%20Classic%20ASP%20you%20include%20the%20f&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=52&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Email this via Gmail">Email this via Gmail</a>
		</li>
		<li class="shr-blogger">
			<a href="http://www.shareaholic.com/api/share/?title=Classic+ASP+Dates&amp;link=http://www.BlaineSch.com/378/classic-asp-dates/&amp;notes=I%27ve%20recently%20ran%20into%20a%20constraint%20with%20Classic%20ASP%2C%20because%20it%20does%20not%20give%20you%20a%20whole%20lot%20of%20flexibility%20when%20you%20want%20to%20format%20dates.%20After%20looking%20around%20I%20decided%20to%20go%20ahead%20and%20make%20my%20own%20date%20functionality%2C%20which%20I%20wrote%20using%20Server%20Side%20JavaScript.%20Within%20Classic%20ASP%20you%20include%20the%20f&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=219&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Blog this on Blogger">Blog this on Blogger</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.BlaineSch.com/378/classic-asp-dates/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS Selector to HTML v0.3 &#8211; &#8220;has&#8221; Support!</title>
		<link>http://www.BlaineSch.com/372/css-selector-to-html-v0-3-has-support/</link>
		<comments>http://www.BlaineSch.com/372/css-selector-to-html-v0-3-has-support/#comments</comments>
		<pubDate>Thu, 16 Feb 2012 01:05:44 +0000</pubDate>
		<dc:creator>Elecktricity</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.BlaineSch.com/?p=372</guid>
		<description><![CDATA[I added &#8220;has&#8221; support, since before you could only have one element go 3 levels deep. Input: Output: Share this on del.icio.us Tweet This! Add this to Google Bookmarks Share this on Facebook Subscribe to the comments for this post? Email this via Gmail Blog this on Blogger Get Shareaholic]]></description>
			<content:encoded><![CDATA[<p>I added &#8220;has&#8221; support, since before you could only have one element go 3 levels deep.</p>
<p>Input:</p>
<div class="hl-container">
<div class="hl-main">
<pre><span class="hl-code">div#top &gt;
    el.second:has(div.three:contains(&quot;three&quot;)) +
    el.second +
    el.second &gt;
        span.three:contains(&quot;three&quot;)</span></pre>
</div>
</div>
<p>Output:</p>
<div class="hl-container">
<div class="hl-main">
<pre><span class="hl-brackets">&lt;</span><span class="hl-reserved">div</span><span class="hl-code"> </span><span class="hl-var">id</span><span class="hl-code">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">top</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">&gt;</span><span class="hl-code">
    </span><span class="hl-brackets">&lt;</span><span class="hl-reserved">el</span><span class="hl-code"> </span><span class="hl-var">class</span><span class="hl-code">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">second</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">&gt;</span><span class="hl-code">
        </span><span class="hl-brackets">&lt;</span><span class="hl-reserved">div</span><span class="hl-code"> </span><span class="hl-var">class</span><span class="hl-code">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">three</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">&gt;</span><span class="hl-code">three</span><span class="hl-brackets">&lt;/</span><span class="hl-reserved">div</span><span class="hl-brackets">&gt;</span><span class="hl-code">
    </span><span class="hl-brackets">&lt;/</span><span class="hl-reserved">el</span><span class="hl-brackets">&gt;</span><span class="hl-code">
    </span><span class="hl-brackets">&lt;</span><span class="hl-reserved">el</span><span class="hl-code"> </span><span class="hl-var">class</span><span class="hl-code">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">second</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">&gt;</span><span class="hl-brackets">&lt;/</span><span class="hl-reserved">el</span><span class="hl-brackets">&gt;</span><span class="hl-code">
    </span><span class="hl-brackets">&lt;</span><span class="hl-reserved">el</span><span class="hl-code"> </span><span class="hl-var">class</span><span class="hl-code">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">second</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">&gt;</span><span class="hl-code">
        </span><span class="hl-brackets">&lt;</span><span class="hl-reserved">span</span><span class="hl-code"> </span><span class="hl-var">class</span><span class="hl-code">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">three</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">&gt;</span><span class="hl-code">three</span><span class="hl-brackets">&lt;/</span><span class="hl-reserved">span</span><span class="hl-brackets">&gt;</span><span class="hl-code">
    </span><span class="hl-brackets">&lt;/</span><span class="hl-reserved">el</span><span class="hl-brackets">&gt;</span><span class="hl-code">
</span><span class="hl-brackets">&lt;/</span><span class="hl-reserved">div</span><span class="hl-brackets">&gt;</span></pre>
</div>
</div>
<div class="wpfilebase-attachment">
<div class="wpfilebase-fileicon"><a href="http://www.BlaineSch.com/download/selectorToHTML.js" title="Download Selector to HTML"><img align="middle" src="http://www.BlaineSch.com/web/wp-includes/images/crystal/code.png" alt="Selector to HTML" /></a></div>
<div class="wpfilebase-rightcol">
<div class="wpfilebase-filetitle">
   <a href="http://www.BlaineSch.com/download/selectorToHTML.js" title="Download Selector to HTML">Selector to HTML</a><br />
   selectorToHTML.js<br />
   Version: v0.3</p></div>
<div class="wpfilebase-filedetails" id="wpfilebase-filedetails2" style="display: none;">
<table border="0">
<tr>
<td><strong>Author:</strong></td>
<td>Blaine Schmeisser</td>
</tr>
<tr>
<td><strong>Date:</strong></td>
<td>February 16, 2012</td>
</tr>
</table></div>
</p></div>
<div class="wpfilebase-fileinfo">
  3.7 KiB<br />
  39 Downloads<br />
  <a href="#" onclick="return wpfilebase_filedetails(2);">Details&#8230;</a>
 </div>
<div style="clear: both;"></div>
</div>
<div class="wpfilebase-attachment">
<div class="wpfilebase-fileicon"><a href="http://www.BlaineSch.com/download/selectorToHTML.min.js" title="Download Selector to HTML (Min)"><img align="middle" src="http://www.BlaineSch.com/web/wp-includes/images/crystal/code.png" alt="Selector to HTML (Min)" /></a></div>
<div class="wpfilebase-rightcol">
<div class="wpfilebase-filetitle">
   <a href="http://www.BlaineSch.com/download/selectorToHTML.min.js" title="Download Selector to HTML (Min)">Selector to HTML (Min)</a><br />
   selectorToHTML.min.js<br />
   Version: v0.3</p></div>
<div class="wpfilebase-filedetails" id="wpfilebase-filedetails3" style="display: none;">
<p>Selector to HTML Min</p>
<table border="0">
<tr>
<td><strong>Author:</strong></td>
<td>Blaine Schmeisser</td>
</tr>
<tr>
<td><strong>Date:</strong></td>
<td>March 17, 2012</td>
</tr>
</table></div>
</p></div>
<div class="wpfilebase-fileinfo">
  1.8 KiB<br />
  28 Downloads<br />
  <a href="#" onclick="return wpfilebase_filedetails(3);">Details&#8230;</a>
 </div>
<div style="clear: both;"></div>
</div>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-knowledge">
<ul class="socials">
		<li class="shr-delicious">
			<a href="http://www.shareaholic.com/api/share/?title=CSS+Selector+to+HTML+v0.3+-+%22has%22+Support%21&amp;link=http://www.BlaineSch.com/372/css-selector-to-html-v0-3-has-support/&amp;notes=I%20added%20%22has%22%20support%2C%20since%20before%20you%20could%20only%20have%20one%20element%20go%203%20levels%20deep.%0D%0AInput%3A%0D%0A%0D%0AOutput%3A%0D%0A%0D%0A%0D%0A%0D%0A&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=CSS+Selector+to+HTML+v0.3+-+%22has%22+Support%21&amp;link=http://www.BlaineSch.com/372/css-selector-to-html-v0-3-has-support/&amp;notes=I%20added%20%22has%22%20support%2C%20since%20before%20you%20could%20only%20have%20one%20element%20go%203%20levels%20deep.%0D%0AInput%3A%0D%0A%0D%0AOutput%3A%0D%0A%0D%0A%0D%0A%0D%0A&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%24%7Btitle%7D+-+%24%7Bshort_link%7D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-googlebookmarks">
			<a href="http://www.shareaholic.com/api/share/?title=CSS+Selector+to+HTML+v0.3+-+%22has%22+Support%21&amp;link=http://www.BlaineSch.com/372/css-selector-to-html-v0-3-has-support/&amp;notes=I%20added%20%22has%22%20support%2C%20since%20before%20you%20could%20only%20have%20one%20element%20go%203%20levels%20deep.%0D%0AInput%3A%0D%0A%0D%0AOutput%3A%0D%0A%0D%0A%0D%0A%0D%0A&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=74&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Add this to Google Bookmarks">Add this to Google Bookmarks</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.shareaholic.com/api/share/?title=CSS+Selector+to+HTML+v0.3+-+%22has%22+Support%21&amp;link=http://www.BlaineSch.com/372/css-selector-to-html-v0-3-has-support/&amp;notes=I%20added%20%22has%22%20support%2C%20since%20before%20you%20could%20only%20have%20one%20element%20go%203%20levels%20deep.%0D%0AInput%3A%0D%0A%0D%0AOutput%3A%0D%0A%0D%0A%0D%0A%0D%0A&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-comfeed">
			<a href="http://www.blainesch.com/372/css-selector-to-html-v0-3-has-support/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a>
		</li>
		<li class="shr-gmail">
			<a href="http://www.shareaholic.com/api/share/?title=CSS+Selector+to+HTML+v0.3+-+%22has%22+Support%21&amp;link=http://www.BlaineSch.com/372/css-selector-to-html-v0-3-has-support/&amp;notes=I%20added%20%22has%22%20support%2C%20since%20before%20you%20could%20only%20have%20one%20element%20go%203%20levels%20deep.%0D%0AInput%3A%0D%0A%0D%0AOutput%3A%0D%0A%0D%0A%0D%0A%0D%0A&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=52&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Email this via Gmail">Email this via Gmail</a>
		</li>
		<li class="shr-blogger">
			<a href="http://www.shareaholic.com/api/share/?title=CSS+Selector+to+HTML+v0.3+-+%22has%22+Support%21&amp;link=http://www.BlaineSch.com/372/css-selector-to-html-v0-3-has-support/&amp;notes=I%20added%20%22has%22%20support%2C%20since%20before%20you%20could%20only%20have%20one%20element%20go%203%20levels%20deep.%0D%0AInput%3A%0D%0A%0D%0AOutput%3A%0D%0A%0D%0A%0D%0A%0D%0A&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=219&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Blog this on Blogger">Blog this on Blogger</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.BlaineSch.com/372/css-selector-to-html-v0-3-has-support/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS Selector to HTML</title>
		<link>http://www.BlaineSch.com/353/css-selector-to-html/</link>
		<comments>http://www.BlaineSch.com/353/css-selector-to-html/#comments</comments>
		<pubDate>Fri, 03 Feb 2012 03:06:02 +0000</pubDate>
		<dc:creator>Elecktricity</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.BlaineSch.com/?p=353</guid>
		<description><![CDATA[So, I&#8217;m currently working on a plug-in to validate forms easily without using a JavaScript framework. I want the way errors are displayed to be very expandable, and realized the biggest issue was the &#8220;structure&#8221; of the error message was too unique for any designer to go outside of what I&#8217;ve already created. The best ...]]></description>
			<content:encoded><![CDATA[<p>So, I&#8217;m currently working on a plug-in to validate forms easily without using a JavaScript framework. I want the way errors are displayed to be very expandable, and realized the biggest issue was the &#8220;structure&#8221; of the error message was too unique for any designer to go outside of what I&#8217;ve already created. The best solution was to make the &#8220;structure&#8221; an option by allowing CSS Selectors.</p>
<p>I&#8217;m releasing this function a bit ahead of time since it&#8217;s been a while since I&#8217;ve last updated this blog.</p>
<p>Notice it&#8217;s use of child and sibling selectors.</p>
<p>Example Input:</p>
<div class="hl-container">
<div class="hl-main">
<pre><span class="hl-code">div#formValidation &gt;
    div.message:contains('This field is required') +
    div.exit +
    div.arrowDown[rel=1]</span></pre>
</div>
</div>
<p>Example Output:</p>
<div class="hl-container">
<div class="hl-main">
<pre><span class="hl-brackets">&lt;</span><span class="hl-reserved">div</span><span class="hl-code"> </span><span class="hl-var">id</span><span class="hl-code">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">formValidation</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">&gt;</span><span class="hl-code">
    </span><span class="hl-brackets">&lt;</span><span class="hl-reserved">div</span><span class="hl-code"> </span><span class="hl-var">class</span><span class="hl-code">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">message</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">&gt;</span><span class="hl-code">This field is required</span><span class="hl-brackets">&lt;/</span><span class="hl-reserved">div</span><span class="hl-brackets">&gt;</span><span class="hl-code">
    </span><span class="hl-brackets">&lt;</span><span class="hl-reserved">div</span><span class="hl-code"> </span><span class="hl-var">class</span><span class="hl-code">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">exit</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">&gt;</span><span class="hl-brackets">&lt;/</span><span class="hl-reserved">div</span><span class="hl-brackets">&gt;</span><span class="hl-code">
    </span><span class="hl-brackets">&lt;</span><span class="hl-reserved">div</span><span class="hl-code"> </span><span class="hl-var">class</span><span class="hl-code">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">arrowDown</span><span class="hl-quotes">&quot;</span><span class="hl-code"> </span><span class="hl-var">rel</span><span class="hl-code">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">1</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">&gt;</span><span class="hl-brackets">&lt;/</span><span class="hl-reserved">div</span><span class="hl-brackets">&gt;</span><span class="hl-code">
</span><span class="hl-brackets">&lt;/</span><span class="hl-reserved">div</span><span class="hl-brackets">&gt;</span></pre>
</div>
</div>
<div class="wpfilebase-attachment">
<div class="wpfilebase-fileicon"><a href="http://www.BlaineSch.com/download/selectorToHTML.zip" title="Download Selector to HTML"><img align="middle" src="http://www.BlaineSch.com/web/wp-includes/images/crystal/archive.png" alt="Selector to HTML" /></a></div>
<div class="wpfilebase-rightcol">
<div class="wpfilebase-filetitle">
   <a href="http://www.BlaineSch.com/download/selectorToHTML.zip" title="Download Selector to HTML">Selector to HTML</a><br />
   selectorToHTML.zip<br />
   Version: v0.2</p></div>
<div class="wpfilebase-filedetails" id="wpfilebase-filedetails4" style="display: none;">
<table border="0">
<tr>
<td><strong>Author:</strong></td>
<td>Blaine Schmeisser</td>
</tr>
<tr>
<td><strong>Date:</strong></td>
<td>February 3, 2012</td>
</tr>
</table></div>
</p></div>
<div class="wpfilebase-fileinfo">
  2.5 KiB<br />
  14 Downloads<br />
  <a href="#" onclick="return wpfilebase_filedetails(4);">Details&#8230;</a>
 </div>
<div style="clear: both;"></div>
</div>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-knowledge">
<ul class="socials">
		<li class="shr-delicious">
			<a href="http://www.shareaholic.com/api/share/?title=CSS+Selector+to+HTML&amp;link=http://www.BlaineSch.com/353/css-selector-to-html/&amp;notes=So%2C%20I%27m%20currently%20working%20on%20a%20plug-in%20to%20validate%20forms%20easily%20without%20using%20a%20JavaScript%20framework.%20I%20want%20the%20way%20errors%20are%20displayed%20to%20be%20very%20expandable%2C%20and%20realized%20the%20biggest%20issue%20was%20the%20%22structure%22%20of%20the%20error%20message%20was%20too%20unique%20for%20any%20designer%20to%20go%20outside%20of%20what%20I%27ve%20already%20&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=CSS+Selector+to+HTML&amp;link=http://www.BlaineSch.com/353/css-selector-to-html/&amp;notes=So%2C%20I%27m%20currently%20working%20on%20a%20plug-in%20to%20validate%20forms%20easily%20without%20using%20a%20JavaScript%20framework.%20I%20want%20the%20way%20errors%20are%20displayed%20to%20be%20very%20expandable%2C%20and%20realized%20the%20biggest%20issue%20was%20the%20%22structure%22%20of%20the%20error%20message%20was%20too%20unique%20for%20any%20designer%20to%20go%20outside%20of%20what%20I%27ve%20already%20&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%24%7Btitle%7D+-+%24%7Bshort_link%7D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-googlebookmarks">
			<a href="http://www.shareaholic.com/api/share/?title=CSS+Selector+to+HTML&amp;link=http://www.BlaineSch.com/353/css-selector-to-html/&amp;notes=So%2C%20I%27m%20currently%20working%20on%20a%20plug-in%20to%20validate%20forms%20easily%20without%20using%20a%20JavaScript%20framework.%20I%20want%20the%20way%20errors%20are%20displayed%20to%20be%20very%20expandable%2C%20and%20realized%20the%20biggest%20issue%20was%20the%20%22structure%22%20of%20the%20error%20message%20was%20too%20unique%20for%20any%20designer%20to%20go%20outside%20of%20what%20I%27ve%20already%20&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=74&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Add this to Google Bookmarks">Add this to Google Bookmarks</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.shareaholic.com/api/share/?title=CSS+Selector+to+HTML&amp;link=http://www.BlaineSch.com/353/css-selector-to-html/&amp;notes=So%2C%20I%27m%20currently%20working%20on%20a%20plug-in%20to%20validate%20forms%20easily%20without%20using%20a%20JavaScript%20framework.%20I%20want%20the%20way%20errors%20are%20displayed%20to%20be%20very%20expandable%2C%20and%20realized%20the%20biggest%20issue%20was%20the%20%22structure%22%20of%20the%20error%20message%20was%20too%20unique%20for%20any%20designer%20to%20go%20outside%20of%20what%20I%27ve%20already%20&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-comfeed">
			<a href="http://www.blainesch.com/353/css-selector-to-html/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a>
		</li>
		<li class="shr-gmail">
			<a href="http://www.shareaholic.com/api/share/?title=CSS+Selector+to+HTML&amp;link=http://www.BlaineSch.com/353/css-selector-to-html/&amp;notes=So%2C%20I%27m%20currently%20working%20on%20a%20plug-in%20to%20validate%20forms%20easily%20without%20using%20a%20JavaScript%20framework.%20I%20want%20the%20way%20errors%20are%20displayed%20to%20be%20very%20expandable%2C%20and%20realized%20the%20biggest%20issue%20was%20the%20%22structure%22%20of%20the%20error%20message%20was%20too%20unique%20for%20any%20designer%20to%20go%20outside%20of%20what%20I%27ve%20already%20&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=52&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Email this via Gmail">Email this via Gmail</a>
		</li>
		<li class="shr-blogger">
			<a href="http://www.shareaholic.com/api/share/?title=CSS+Selector+to+HTML&amp;link=http://www.BlaineSch.com/353/css-selector-to-html/&amp;notes=So%2C%20I%27m%20currently%20working%20on%20a%20plug-in%20to%20validate%20forms%20easily%20without%20using%20a%20JavaScript%20framework.%20I%20want%20the%20way%20errors%20are%20displayed%20to%20be%20very%20expandable%2C%20and%20realized%20the%20biggest%20issue%20was%20the%20%22structure%22%20of%20the%20error%20message%20was%20too%20unique%20for%20any%20designer%20to%20go%20outside%20of%20what%20I%27ve%20already%20&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=219&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Blog this on Blogger">Blog this on Blogger</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.BlaineSch.com/353/css-selector-to-html/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ASP Framework 0.4 Example</title>
		<link>http://www.BlaineSch.com/331/asp-framework-0-4-example/</link>
		<comments>http://www.BlaineSch.com/331/asp-framework-0-4-example/#comments</comments>
		<pubDate>Sat, 15 Oct 2011 21:43:44 +0000</pubDate>
		<dc:creator>Elecktricity</dc:creator>
				<category><![CDATA[Classic ASP]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.BlaineSch.com/?p=331</guid>
		<description><![CDATA[Configuration To start out browse to &#8220;/application/config/config.asp&#8221; and edit a few of the items. Most of these can be left at their default state. Setting up All URI&#8217;s are redirected to the &#8220;default.asp&#8221; page and parsed to find the appropriate controller, method, and parameters. By default all controllers are stored in &#8220;/application/controllers/*.asp&#8221; they can be ...]]></description>
			<content:encoded><![CDATA[<h3>Configuration</h3>
<p>To start out browse to &#8220;/application/config/config.asp&#8221; and edit a few of the items. Most of these can be left at their default state.</p>
<h3>Setting up</h3>
<p>All URI&#8217;s are redirected to the &#8220;default.asp&#8221; page and parsed to find the appropriate controller, method, and parameters. By default all controllers are stored in &#8220;/application/controllers/*.asp&#8221; they can be in sub directories if you wish, the router will still be able to find it. Each controller is a class with methods. It is only allowed to have 1 parameter, if more exist, they will be compiled into a single array. There is a default method if none is chosen, which is setup in the config file.</p>
<h3>Global variables</h3>
<p>There are a few global variables besides the ones in the config file.</p>
<div class="hl-container">
<div class="hl-main">
<pre><span class="hl-code">helperClass /  helper
modelClass / model
viewClass / view
frameworkVersion</span></pre>
</div>
</div>
<h3>Example Controller</h3>
<div class="hl-container">
<div class="hl-main">
<pre><span class="hl-code">&lt;%
    ' /application/controllers/default.asp
    ' www.example.com/ASPMVC/default/
    Class defaultController
        Public Function index(byRef myParams)
            ' Code here
        End Function
    End Class
%&gt;</span></pre>
</div>
</div>
<h3>Views</h3>
<p>You can access the view with a simple syntax:</p>
<div class="hl-container">
<div class="hl-main">
<pre><span class="hl-code">view.retrieve(fileName, willReturn)</span></pre>
</div>
</div>
<p>The filename is the name of the file excluding the prefix and suffix defined in the config file. If &#8220;willReturn&#8221; is true is will return all the code for you to execute, if not it will execute itself. Here is an example:</p>
<div class="hl-container">
<div class="hl-main">
<pre><span class="hl-code">Execute view.retrieve(&quot;404&quot;, true)</span></pre>
</div>
</div>
<p>Executing it yoruself allows you to share variables with the file since your variables are local to your class unless defined as globals.</p>
<h3>Helpers</h3>
<p>Helpers allow you to include library files or a file with groups of functions. This can aid you with common tasks shared between controllers or models. I included a built in helper &#8220;eventQue&#8221; which is an observer and allows you to &#8220;bind&#8221; functions and subs to events then trigger them. Here is an example:</p>
<div class="hl-container">
<div class="hl-main">
<pre><span class="hl-code">&lt;%
    ' Create myQue
    Dim myQue
    Execute helper.retrieve(&quot;eventQue&quot;, true)
    Set myQue = new eventQue

    ' Bind event to function
    Call myQue.bindObjFunction(&quot;header&quot;, Response, &quot;write&quot;, &quot;&lt;script type='text/javascript'&gt;alert('Hooks are enabled.')&lt;/script&gt;&quot;)

    ' Call event
    myQue.trigger(&quot;header&quot;)
%&gt;</span></pre>
</div>
</div>
<h3>Models</h3>
<p>I believe this is where the most improvement with v0.5 was made. I was not pleased at all with the syntax of the last version. Models have the same syntax as the previous version. Here is an example:</p>
<div class="hl-container">
<div class="hl-main">
<pre><span class="hl-code">&lt;%
    Class tableModel
        Public Function getTables(ByRef fn_recordSet)
            fn_recordSet.Open &quot;SELECT name FROM sys.tables&quot;, dbconn, 0, 1
        End Function
    End Class
%&gt;</span></pre>
</div>
</div>
<p>Inside the controller you can access the model using the following syntax:</p>
<div class="hl-container">
<div class="hl-main">
<pre><span class="hl-code">&lt;%
    Dim recordSet1
    Set recordSet1 = Server.CreateObject(&quot;ADODB.Recordset&quot;)

    model.retrieve(&quot;table&quot;).getTables(recordSet1)
    Do While Not recordSet1.EOF
        Response.write(&quot;&lt;br /&gt;&quot; &amp; recordSet1(&quot;name&quot;))
        recordSet1.MoveNext
    Loop
    recordSet1.Close
%&gt;</span></pre>
</div>
</div>
<p>The specific model is stored inside of the parent &#8220;model&#8221;. When you retrieve it looks to see if it already has that model, and if so returns it. If you want to cache it yourself, the method &#8220;.retrieve&#8221; will return it for you.</p>
<div class="hl-container">
<div class="hl-main">
<pre><span class="hl-code">&lt;%
    Dim recordSet1, tableModel
    Set recordSet1 = Server.CreateObject(&quot;ADODB.Recordset&quot;)
    Set tableModel = model.retrieve(&quot;table&quot;)

    tableModel.getTables(recordSet1)
    Do While Not recordSet1.EOF
        Response.write(&quot;&lt;br /&gt;&quot; &amp; recordSet1(&quot;name&quot;))
        recordSet1.MoveNext
    Loop
    recordSet1.Close
%&gt;</span></pre>
</div>
</div>
<div class="wpfilebase-attachment">
<div class="wpfilebase-fileicon"><a href="http://www.BlaineSch.com/download/v0.4_ASPFramework.zip" title="Download BlaineSch ASP Framework"><img align="middle" src="http://www.BlaineSch.com/web/wp-includes/images/crystal/archive.png" alt="BlaineSch ASP Framework" /></a></div>
<div class="wpfilebase-rightcol">
<div class="wpfilebase-filetitle">
   <a href="http://www.BlaineSch.com/download/v0.4_ASPFramework.zip" title="Download BlaineSch ASP Framework">BlaineSch ASP Framework</a><br />
   v0.4_ASPFramework.zip<br />
   Version: v0.4</p></div>
<div class="wpfilebase-filedetails" id="wpfilebase-filedetails5" style="display: none;">
<table border="0">
<tr>
<td><strong>Author:</strong></td>
<td>Blaine Schmeisser</td>
</tr>
<tr>
<td><strong>Date:</strong></td>
<td>February 3, 2012</td>
</tr>
</table></div>
</p></div>
<div class="wpfilebase-fileinfo">
  10.3 KiB<br />
  42 Downloads<br />
  <a href="#" onclick="return wpfilebase_filedetails(5);">Details&#8230;</a>
 </div>
<div style="clear: both;"></div>
</div>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-knowledge">
<ul class="socials">
		<li class="shr-delicious">
			<a href="http://www.shareaholic.com/api/share/?title=ASP+Framework+0.4+Example&amp;link=http://www.BlaineSch.com/331/asp-framework-0-4-example/&amp;notes=Configuration%0D%0ATo%20start%20out%20browse%20to%20%22%2Fapplication%2Fconfig%2Fconfig.asp%22%20and%20edit%20a%20few%20of%20the%20items.%20Most%20of%20these%20can%20be%20left%20at%20their%20default%20state.%0D%0A%0D%0ASetting%20up%0D%0AAll%20URI%27s%20are%20redirected%20to%20the%20%22default.asp%22%20page%20and%20parsed%20to%20find%20the%20appropriate%20controller%2C%20method%2C%20and%20parameters.%20By%20default%20al&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=ASP+Framework+0.4+Example&amp;link=http://www.BlaineSch.com/331/asp-framework-0-4-example/&amp;notes=Configuration%0D%0ATo%20start%20out%20browse%20to%20%22%2Fapplication%2Fconfig%2Fconfig.asp%22%20and%20edit%20a%20few%20of%20the%20items.%20Most%20of%20these%20can%20be%20left%20at%20their%20default%20state.%0D%0A%0D%0ASetting%20up%0D%0AAll%20URI%27s%20are%20redirected%20to%20the%20%22default.asp%22%20page%20and%20parsed%20to%20find%20the%20appropriate%20controller%2C%20method%2C%20and%20parameters.%20By%20default%20al&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%24%7Btitle%7D+-+%24%7Bshort_link%7D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-googlebookmarks">
			<a href="http://www.shareaholic.com/api/share/?title=ASP+Framework+0.4+Example&amp;link=http://www.BlaineSch.com/331/asp-framework-0-4-example/&amp;notes=Configuration%0D%0ATo%20start%20out%20browse%20to%20%22%2Fapplication%2Fconfig%2Fconfig.asp%22%20and%20edit%20a%20few%20of%20the%20items.%20Most%20of%20these%20can%20be%20left%20at%20their%20default%20state.%0D%0A%0D%0ASetting%20up%0D%0AAll%20URI%27s%20are%20redirected%20to%20the%20%22default.asp%22%20page%20and%20parsed%20to%20find%20the%20appropriate%20controller%2C%20method%2C%20and%20parameters.%20By%20default%20al&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=74&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Add this to Google Bookmarks">Add this to Google Bookmarks</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.shareaholic.com/api/share/?title=ASP+Framework+0.4+Example&amp;link=http://www.BlaineSch.com/331/asp-framework-0-4-example/&amp;notes=Configuration%0D%0ATo%20start%20out%20browse%20to%20%22%2Fapplication%2Fconfig%2Fconfig.asp%22%20and%20edit%20a%20few%20of%20the%20items.%20Most%20of%20these%20can%20be%20left%20at%20their%20default%20state.%0D%0A%0D%0ASetting%20up%0D%0AAll%20URI%27s%20are%20redirected%20to%20the%20%22default.asp%22%20page%20and%20parsed%20to%20find%20the%20appropriate%20controller%2C%20method%2C%20and%20parameters.%20By%20default%20al&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-comfeed">
			<a href="http://www.blainesch.com/331/asp-framework-0-4-example/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a>
		</li>
		<li class="shr-gmail">
			<a href="http://www.shareaholic.com/api/share/?title=ASP+Framework+0.4+Example&amp;link=http://www.BlaineSch.com/331/asp-framework-0-4-example/&amp;notes=Configuration%0D%0ATo%20start%20out%20browse%20to%20%22%2Fapplication%2Fconfig%2Fconfig.asp%22%20and%20edit%20a%20few%20of%20the%20items.%20Most%20of%20these%20can%20be%20left%20at%20their%20default%20state.%0D%0A%0D%0ASetting%20up%0D%0AAll%20URI%27s%20are%20redirected%20to%20the%20%22default.asp%22%20page%20and%20parsed%20to%20find%20the%20appropriate%20controller%2C%20method%2C%20and%20parameters.%20By%20default%20al&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=52&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Email this via Gmail">Email this via Gmail</a>
		</li>
		<li class="shr-blogger">
			<a href="http://www.shareaholic.com/api/share/?title=ASP+Framework+0.4+Example&amp;link=http://www.BlaineSch.com/331/asp-framework-0-4-example/&amp;notes=Configuration%0D%0ATo%20start%20out%20browse%20to%20%22%2Fapplication%2Fconfig%2Fconfig.asp%22%20and%20edit%20a%20few%20of%20the%20items.%20Most%20of%20these%20can%20be%20left%20at%20their%20default%20state.%0D%0A%0D%0ASetting%20up%0D%0AAll%20URI%27s%20are%20redirected%20to%20the%20%22default.asp%22%20page%20and%20parsed%20to%20find%20the%20appropriate%20controller%2C%20method%2C%20and%20parameters.%20By%20default%20al&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=219&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Blog this on Blogger">Blog this on Blogger</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.BlaineSch.com/331/asp-framework-0-4-example/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ASP Framework Example</title>
		<link>http://www.BlaineSch.com/321/asp-framework-example/</link>
		<comments>http://www.BlaineSch.com/321/asp-framework-example/#comments</comments>
		<pubDate>Fri, 14 Oct 2011 03:28:26 +0000</pubDate>
		<dc:creator>Elecktricity</dc:creator>
				<category><![CDATA[Classic ASP]]></category>

		<guid isPermaLink="false">http://www.BlaineSch.com/?p=321</guid>
		<description><![CDATA[By default the file &#8220;web.config&#8221; trys to catch all possible URI&#8217;s. I felt the best way to lay it out is that each &#8220;controller&#8221; is a single file. So the &#8220;route&#8221; just calls the controller. No extra data can be set. This is probably the biggest down fall, which I may fix if there is ...]]></description>
			<content:encoded><![CDATA[<p>By default the file &#8220;web.config&#8221; trys to catch all possible URI&#8217;s. I felt the best way to lay it out is that each &#8220;controller&#8221; is a single file. So the &#8220;route&#8221; just calls the controller. No extra data can be set. This is probably the biggest down fall, which I may fix if there is enough demand on the project.</p>
<p>To get started browse to the file &#8220;/application/config/config.asp&#8221; and open it up and configure everything you may want to play with. There are only a few options since you declare most everything yourself.</p>
<p>Next, make a controller or edit the default controller. This is simply a file inside the &#8220;application/controllers&#8221; folder. At the top use a server side include to pull in the &#8220;core&#8221; file inside the &#8220;application/system&#8221; directory.</p>
<p>After that put whatever HTML and ASP you want. You have access to a constant &#8220;frameworkVersion&#8221;. Along with your config variables, you also have access to 3 more &#8220;view&#8221;, &#8220;model&#8221;, and &#8220;helper&#8221;. Each of these three variables all have one method used to pull in other files &#8220;retrieve&#8221; which takes 2 parameters: &#8220;fileName&#8221; which is a string of the file name you want, and &#8220;willReturn&#8221; a boolean that, if true, will return the data for you to execute yoruself, however, if false, will execute it for you. Let&#8217;s dive into some code!</p>
<p>Currently, the eventQue requies a class of events and requires two methods &#8220;getHooks&#8221; which returns an array of which hooks to call him out on, and a &#8220;trigger&#8221; function which always gets called on an event and passed a single variable with which hook was called.</p>
<div class="hl-container">
<div class="hl-main">
<pre><span class="hl-code">' Event Que Requires
    Execute helper.retrieve(&quot;eventQue&quot;, true)
' Event Que Variables
    Dim myQue, variablesWork
    Set myQue = new eventQue
    variablesWork = &quot;&lt;strong&gt;Variables:&lt;/strong&gt; Working&quot;
' Event Que Hook Class
    Class defaultControllerHooks
        Public Function getHooks()
            getHooks = Array(&quot;404&quot;, &quot;header&quot;)
        End Function
        Public Function trigger(name)
            If name = &quot;404&quot; THen
                Response.write(&quot;&lt;strong&gt;Hooks:&lt;/strong&gt; Working&quot;)
            ElseIf name = &quot;header&quot; Then
                triggerHeader()
            End If
        End Function
        Public Function triggerHeader
            %&gt;
                &lt;script type=&quot;text/javascript&quot; src=&quot;https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js&quot;&gt;&lt;/script&gt;
                &lt;script type=&quot;text/javascript&quot;&gt;
                    jQuery(document).ready(function($) {
                        $('#container').append($('&lt;div class=&quot;item&quot;&gt;&lt;strong&gt;JS + Hooks:&lt;/strong&gt; Working&lt;/div&gt;'));
                    });
                &lt;/script&gt;
            &lt;%
        End Function
    End Class
' Event Que Hooks
    Dim myHooks
    Set myHooks = new defaultControllerHooks
    myQue.addHooks(myHooks)</span></pre>
</div>
</div>
<p>Next, the database is a bit odd. Most model functions ask for a record set which is passed by reference, you pass it in and then you are free to use it as you wish. I feel this area could use some more work.</p>
<div class="hl-container">
<div class="hl-main">
<pre><span class="hl-code">' Database Setup
    Dim recordSet1, tableModelVar
    Execute model.retrieve(&quot;tables&quot;, true)
    Set recordSet1 = Server.CreateObject(&quot;ADODB.Recordset&quot;)
    Set tableModelVar = new tableModel
' Database Query
    tableModelVar.getTables(recordSet1)
    Do While Not recordSet1.EOF
        Response.write(&quot;Name: &quot; &amp; recordSet1(&quot;name&quot;) &amp; vbCrLf) ' Name: userMaster
        recordSet1.MoveNext
    Loop
    recordSet1.Close</span></pre>
</div>
</div>
<p>Lastly, views are simple as well. All variables you have open right now is accessible in the view.</p>
<div class="hl-container">
<div class="hl-main">
<pre><span class="hl-code">' View
    Execute view.retrieve(&quot;404&quot;, true)</span></pre>
</div>
</div>
<div class="wpfilebase-attachment">
<div class="wpfilebase-fileicon"><a href="http://www.BlaineSch.com/download/v0.4_ASPFramework.zip" title="Download BlaineSch ASP Framework"><img align="middle" src="http://www.BlaineSch.com/web/wp-includes/images/crystal/archive.png" alt="BlaineSch ASP Framework" /></a></div>
<div class="wpfilebase-rightcol">
<div class="wpfilebase-filetitle">
   <a href="http://www.BlaineSch.com/download/v0.4_ASPFramework.zip" title="Download BlaineSch ASP Framework">BlaineSch ASP Framework</a><br />
   v0.4_ASPFramework.zip<br />
   Version: v0.4</p></div>
<div class="wpfilebase-filedetails" id="wpfilebase-filedetails6" style="display: none;">
<table border="0">
<tr>
<td><strong>Author:</strong></td>
<td>Blaine Schmeisser</td>
</tr>
<tr>
<td><strong>Date:</strong></td>
<td>February 3, 2012</td>
</tr>
</table></div>
</p></div>
<div class="wpfilebase-fileinfo">
  10.3 KiB<br />
  42 Downloads<br />
  <a href="#" onclick="return wpfilebase_filedetails(6);">Details&#8230;</a>
 </div>
<div style="clear: both;"></div>
</div>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-knowledge">
<ul class="socials">
		<li class="shr-delicious">
			<a href="http://www.shareaholic.com/api/share/?title=ASP+Framework+Example&amp;link=http://www.BlaineSch.com/321/asp-framework-example/&amp;notes=By%20default%20the%20file%20%22web.config%22%20trys%20to%20catch%20all%20possible%20URI%27s.%20I%20felt%20the%20best%20way%20to%20lay%20it%20out%20is%20that%20each%20%22controller%22%20is%20a%20single%20file.%20So%20the%20%22route%22%20just%20calls%20the%20controller.%20No%20extra%20data%20can%20be%20set.%20This%20is%20probably%20the%20biggest%20down%20fall%2C%20which%20I%20may%20fix%20if%20there%20is%20enough%20demand%20on%20th&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=ASP+Framework+Example&amp;link=http://www.BlaineSch.com/321/asp-framework-example/&amp;notes=By%20default%20the%20file%20%22web.config%22%20trys%20to%20catch%20all%20possible%20URI%27s.%20I%20felt%20the%20best%20way%20to%20lay%20it%20out%20is%20that%20each%20%22controller%22%20is%20a%20single%20file.%20So%20the%20%22route%22%20just%20calls%20the%20controller.%20No%20extra%20data%20can%20be%20set.%20This%20is%20probably%20the%20biggest%20down%20fall%2C%20which%20I%20may%20fix%20if%20there%20is%20enough%20demand%20on%20th&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%24%7Btitle%7D+-+%24%7Bshort_link%7D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-googlebookmarks">
			<a href="http://www.shareaholic.com/api/share/?title=ASP+Framework+Example&amp;link=http://www.BlaineSch.com/321/asp-framework-example/&amp;notes=By%20default%20the%20file%20%22web.config%22%20trys%20to%20catch%20all%20possible%20URI%27s.%20I%20felt%20the%20best%20way%20to%20lay%20it%20out%20is%20that%20each%20%22controller%22%20is%20a%20single%20file.%20So%20the%20%22route%22%20just%20calls%20the%20controller.%20No%20extra%20data%20can%20be%20set.%20This%20is%20probably%20the%20biggest%20down%20fall%2C%20which%20I%20may%20fix%20if%20there%20is%20enough%20demand%20on%20th&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=74&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Add this to Google Bookmarks">Add this to Google Bookmarks</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.shareaholic.com/api/share/?title=ASP+Framework+Example&amp;link=http://www.BlaineSch.com/321/asp-framework-example/&amp;notes=By%20default%20the%20file%20%22web.config%22%20trys%20to%20catch%20all%20possible%20URI%27s.%20I%20felt%20the%20best%20way%20to%20lay%20it%20out%20is%20that%20each%20%22controller%22%20is%20a%20single%20file.%20So%20the%20%22route%22%20just%20calls%20the%20controller.%20No%20extra%20data%20can%20be%20set.%20This%20is%20probably%20the%20biggest%20down%20fall%2C%20which%20I%20may%20fix%20if%20there%20is%20enough%20demand%20on%20th&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-comfeed">
			<a href="http://www.blainesch.com/321/asp-framework-example/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a>
		</li>
		<li class="shr-gmail">
			<a href="http://www.shareaholic.com/api/share/?title=ASP+Framework+Example&amp;link=http://www.BlaineSch.com/321/asp-framework-example/&amp;notes=By%20default%20the%20file%20%22web.config%22%20trys%20to%20catch%20all%20possible%20URI%27s.%20I%20felt%20the%20best%20way%20to%20lay%20it%20out%20is%20that%20each%20%22controller%22%20is%20a%20single%20file.%20So%20the%20%22route%22%20just%20calls%20the%20controller.%20No%20extra%20data%20can%20be%20set.%20This%20is%20probably%20the%20biggest%20down%20fall%2C%20which%20I%20may%20fix%20if%20there%20is%20enough%20demand%20on%20th&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=52&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Email this via Gmail">Email this via Gmail</a>
		</li>
		<li class="shr-blogger">
			<a href="http://www.shareaholic.com/api/share/?title=ASP+Framework+Example&amp;link=http://www.BlaineSch.com/321/asp-framework-example/&amp;notes=By%20default%20the%20file%20%22web.config%22%20trys%20to%20catch%20all%20possible%20URI%27s.%20I%20felt%20the%20best%20way%20to%20lay%20it%20out%20is%20that%20each%20%22controller%22%20is%20a%20single%20file.%20So%20the%20%22route%22%20just%20calls%20the%20controller.%20No%20extra%20data%20can%20be%20set.%20This%20is%20probably%20the%20biggest%20down%20fall%2C%20which%20I%20may%20fix%20if%20there%20is%20enough%20demand%20on%20th&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=219&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Blog this on Blogger">Blog this on Blogger</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.BlaineSch.com/321/asp-framework-example/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Events in Classic ASP</title>
		<link>http://www.BlaineSch.com/298/events-in-classic-asp/</link>
		<comments>http://www.BlaineSch.com/298/events-in-classic-asp/#comments</comments>
		<pubDate>Sun, 02 Oct 2011 10:18:49 +0000</pubDate>
		<dc:creator>Elecktricity</dc:creator>
				<category><![CDATA[Classic ASP]]></category>

		<guid isPermaLink="false">http://www.BlaineSch.com/?p=298</guid>
		<description><![CDATA[I am currently writing a MVC framework in my free time which I will be posting live within the next week after some testing. However this is a sneak peak at how awesome it is going to be. Classic ASP, as you know has not had an update from Microsoft since 1998 when they moved ...]]></description>
			<content:encoded><![CDATA[<p>I am currently writing a MVC framework in my free time which I will be posting live within the next week after some testing. However this is a sneak peak at how awesome it is going to be. Classic ASP, as you know has not had an update from Microsoft since 1998 when they moved to .NET. Unfortunately, a lot of applications are still being written in this language and plenty still need to be maintained. This is some simple code that allows events similar to the &#8220;observer pattern&#8221;.  The syntax on the index is a bit rough but I needed to pull it out of my framework&#8217;s core for an example. It will look prettier once the framework is released.</p>
<p>As you can see the basic syntax simply calls the eventQue file which is the class definition where the magic happens. The second file &#8220;pluginDemo1&#8243; is a plugin who has 2 hooks one on &#8220;init&#8217; and another on &#8220;destroy&#8221;. On this page we also call &#8220;init&#8221;.</p>
<div class="hl-container">
<div class="hl-main">
<pre><span class="hl-code">&lt;%
' Explicit
    Option Explicit
%&gt;
&lt;!-- #include file=&quot;./libraries/eventQue.asp&quot; --&gt;
&lt;%
' Variables
    Dim events
    Set events = new eventQue
%&gt;
&lt;!-- #include file=&quot;./plugins/demoPlugin1.asp&quot; --&gt;
&lt;%
    events.callHook(&quot;init&quot;)
%&gt;</span></pre>
</div>
</div>
<p>On the plugin page you will need to have a &#8220;getHooks&#8221; method which returns an array. You are also required to have a &#8220;trigger&#8221; function which has a string passed to it with which event was triggered. Only the triggers you specified will passed. We can&#8217;t call the function directly due to language restrictions.</p>
<div class="hl-container">
<div class="hl-main">
<pre><span class="hl-code">&lt;%
    Class demoPlugin1
        Public Function getHooks()
            getHooks = array(&quot;init&quot;, &quot;destroy&quot;)
        End Function
        Public Function trigger(hookName)
            If hookName = &quot;init&quot; Then
                myInitHook()
            ElseIf hookName = &quot;destroy&quot; Then
                Response.write(&quot;THE WORLD IS OVER!&quot;)
            End If
        End Function
        Private Function myInitHook()
            Response.write(&quot;Lorem ipsum dolor sit amet, consectetur adipiscing elit.&quot;)
        End Function
    End Class
    Dim myPlugin
    Set myPlugin = new demoPlugin1
    events.addHooks(myPlugin)
    Set myPlugin = Nothing
%&gt;</span></pre>
</div>
</div>
<p>This is the output:</p>
<div class="hl-container">
<div class="hl-main">
<pre><span class="hl-code">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</span></pre>
</div>
</div>
<p><a class="download more-link" title="Classic ASP Observer Pattern" href="http://www.blainesch.com/samples/observerASP.zip" target="_blank">Download the full example</a></p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-knowledge">
<ul class="socials">
		<li class="shr-delicious">
			<a href="http://www.shareaholic.com/api/share/?title=Events+in+Classic+ASP&amp;link=http://www.BlaineSch.com/298/events-in-classic-asp/&amp;notes=I%20am%20currently%20writing%20a%20MVC%20framework%20in%20my%20free%20time%20which%20I%20will%20be%20posting%20live%20within%20the%20next%20week%20after%20some%20testing.%20However%20this%20is%20a%20sneak%20peak%20at%20how%20awesome%20it%20is%20going%20to%20be.%20Classic%20ASP%2C%20as%20you%20know%20has%20not%20had%20an%20update%20from%20Microsoft%20since%201998%20when%20they%20moved%20to%20.NET.%20Unfortunately%2C&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=Events+in+Classic+ASP&amp;link=http://www.BlaineSch.com/298/events-in-classic-asp/&amp;notes=I%20am%20currently%20writing%20a%20MVC%20framework%20in%20my%20free%20time%20which%20I%20will%20be%20posting%20live%20within%20the%20next%20week%20after%20some%20testing.%20However%20this%20is%20a%20sneak%20peak%20at%20how%20awesome%20it%20is%20going%20to%20be.%20Classic%20ASP%2C%20as%20you%20know%20has%20not%20had%20an%20update%20from%20Microsoft%20since%201998%20when%20they%20moved%20to%20.NET.%20Unfortunately%2C&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%24%7Btitle%7D+-+%24%7Bshort_link%7D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-googlebookmarks">
			<a href="http://www.shareaholic.com/api/share/?title=Events+in+Classic+ASP&amp;link=http://www.BlaineSch.com/298/events-in-classic-asp/&amp;notes=I%20am%20currently%20writing%20a%20MVC%20framework%20in%20my%20free%20time%20which%20I%20will%20be%20posting%20live%20within%20the%20next%20week%20after%20some%20testing.%20However%20this%20is%20a%20sneak%20peak%20at%20how%20awesome%20it%20is%20going%20to%20be.%20Classic%20ASP%2C%20as%20you%20know%20has%20not%20had%20an%20update%20from%20Microsoft%20since%201998%20when%20they%20moved%20to%20.NET.%20Unfortunately%2C&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=74&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Add this to Google Bookmarks">Add this to Google Bookmarks</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.shareaholic.com/api/share/?title=Events+in+Classic+ASP&amp;link=http://www.BlaineSch.com/298/events-in-classic-asp/&amp;notes=I%20am%20currently%20writing%20a%20MVC%20framework%20in%20my%20free%20time%20which%20I%20will%20be%20posting%20live%20within%20the%20next%20week%20after%20some%20testing.%20However%20this%20is%20a%20sneak%20peak%20at%20how%20awesome%20it%20is%20going%20to%20be.%20Classic%20ASP%2C%20as%20you%20know%20has%20not%20had%20an%20update%20from%20Microsoft%20since%201998%20when%20they%20moved%20to%20.NET.%20Unfortunately%2C&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-comfeed">
			<a href="http://www.blainesch.com/298/events-in-classic-asp/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a>
		</li>
		<li class="shr-gmail">
			<a href="http://www.shareaholic.com/api/share/?title=Events+in+Classic+ASP&amp;link=http://www.BlaineSch.com/298/events-in-classic-asp/&amp;notes=I%20am%20currently%20writing%20a%20MVC%20framework%20in%20my%20free%20time%20which%20I%20will%20be%20posting%20live%20within%20the%20next%20week%20after%20some%20testing.%20However%20this%20is%20a%20sneak%20peak%20at%20how%20awesome%20it%20is%20going%20to%20be.%20Classic%20ASP%2C%20as%20you%20know%20has%20not%20had%20an%20update%20from%20Microsoft%20since%201998%20when%20they%20moved%20to%20.NET.%20Unfortunately%2C&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=52&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Email this via Gmail">Email this via Gmail</a>
		</li>
		<li class="shr-blogger">
			<a href="http://www.shareaholic.com/api/share/?title=Events+in+Classic+ASP&amp;link=http://www.BlaineSch.com/298/events-in-classic-asp/&amp;notes=I%20am%20currently%20writing%20a%20MVC%20framework%20in%20my%20free%20time%20which%20I%20will%20be%20posting%20live%20within%20the%20next%20week%20after%20some%20testing.%20However%20this%20is%20a%20sneak%20peak%20at%20how%20awesome%20it%20is%20going%20to%20be.%20Classic%20ASP%2C%20as%20you%20know%20has%20not%20had%20an%20update%20from%20Microsoft%20since%201998%20when%20they%20moved%20to%20.NET.%20Unfortunately%2C&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=219&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Blog this on Blogger">Blog this on Blogger</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.BlaineSch.com/298/events-in-classic-asp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP Framework v2.0</title>
		<link>http://www.BlaineSch.com/288/php-framework-v2-0/</link>
		<comments>http://www.BlaineSch.com/288/php-framework-v2-0/#comments</comments>
		<pubDate>Sun, 02 Oct 2011 09:48:26 +0000</pubDate>
		<dc:creator>Elecktricity</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.BlaineSch.com/?p=288</guid>
		<description><![CDATA[I recently released version 2.0 of my PHP MVC Framework. This is a quick example of how to use it. Inside the configuration file (application/config/config.php) you will see a LOT of new ways to configure it. By default it tries to implement a lowerCamelCase naming convention. If the names aren&#8217;t obvious, let me know and ...]]></description>
			<content:encoded><![CDATA[<p>I recently released version 2.0 of my PHP MVC Framework. This is a quick example of how to use it.</p>
<p>Inside the configuration file (application/config/config.php) you will see a LOT of new ways to configure it. By default it tries to implement a <a href="http://en.wikipedia.org/wiki/CamelCase" target="_blank">lowerCamelCase</a> naming convention. If the names aren&#8217;t obvious, let me know and I&#8217;ll try and update this section.</p>
<p>You will notice that you have a function below, if you wish, you can simply make the variable &#8220;$config['application']['hook']&#8221; a anonymous function if you wish. This is there so you can add events to the core, but since the eventQue has not been initialized yet, you will be unable to do so until later. I have a default one that triggers on the 404 page.</p>
<p>Next you will notice a database config file in the same directory. The name &#8220;default&#8221; is not necessary, you can name this whatever you want, the default database connection is always the first one in the array, regardless of the name of it. When calling a model you can pick which one of these profiles you want to use, or it will pick the default one. The drivers currently available are &#8220;mysql&#8221;, &#8220;mysqli&#8221;, and &#8220;mssql&#8221;.</p>
<p>Naming conventions is what I like the most about this framework. You might want to make a controller with the same name as a model, such as &#8220;user&#8221;. If both classes are named &#8220;user&#8221; it will throw an error. This allows me to add a suffix to a model &#8220;Model&#8221; by default and controller &#8220;Controller&#8221; but still call them by the same name. This is the case for the sample below, both the controller and model are called &#8220;pasteMaster&#8221;.</p>
<p>Another good thing about this framework, is that you can duplicate the &#8220;config.php&#8221; file. So the root application can have it&#8217;s own, then the admin panel can have another, this works great if you wanted the admin panel or something similar to have it&#8217;s own folder or URL.</p>
<p>I made a simple application that allows you to paste and view PHP code. <strong>This is not a secure application, it is just for demonstration purposes only.</strong> To do this I require a database connection, a single table, one controller, one model, and a few view files.</p>
<p>Here is the database structure I decided on:</p>
<div class="hl-container">
<div class="hl-main">
<pre><span class="hl-reserved">CREATE</span><span class="hl-code">  </span><span class="hl-reserved">TABLE</span><span class="hl-code"> </span><span class="hl-quotes">`</span><span class="hl-identifier">pasteMaster</span><span class="hl-quotes">`</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-code">
    </span><span class="hl-quotes">`</span><span class="hl-identifier">pasteId</span><span class="hl-quotes">`</span><span class="hl-code"> </span><span class="hl-reserved">INT</span><span class="hl-code"> </span><span class="hl-reserved">NOT</span><span class="hl-code"> </span><span class="hl-reserved">NULL</span><span class="hl-code"> </span><span class="hl-identifier">AUTO_INCREMENT</span><span class="hl-code"> ,
    </span><span class="hl-quotes">`</span><span class="hl-identifier">pasteURL</span><span class="hl-quotes">`</span><span class="hl-code"> </span><span class="hl-reserved">VARCHAR</span><span class="hl-brackets">(</span><span class="hl-number">45</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-reserved">NOT</span><span class="hl-code"> </span><span class="hl-reserved">NULL</span><span class="hl-code"> ,
    </span><span class="hl-quotes">`</span><span class="hl-identifier">pasteData</span><span class="hl-quotes">`</span><span class="hl-code"> </span><span class="hl-identifier">TEXT</span><span class="hl-code"> </span><span class="hl-reserved">NOT</span><span class="hl-code"> </span><span class="hl-reserved">NULL</span><span class="hl-code"> ,
    </span><span class="hl-quotes">`</span><span class="hl-identifier">pasteType</span><span class="hl-quotes">`</span><span class="hl-code"> </span><span class="hl-reserved">VARCHAR</span><span class="hl-brackets">(</span><span class="hl-number">3</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-reserved">NOT</span><span class="hl-code"> </span><span class="hl-reserved">NULL</span><span class="hl-code"> ,
    </span><span class="hl-quotes">`</span><span class="hl-identifier">pasteDate</span><span class="hl-quotes">`</span><span class="hl-code"> </span><span class="hl-identifier">DATETIME</span><span class="hl-code"> </span><span class="hl-reserved">NOT</span><span class="hl-code"> </span><span class="hl-reserved">NULL</span><span class="hl-code"> ,
    </span><span class="hl-quotes">`</span><span class="hl-identifier">pasteParent</span><span class="hl-quotes">`</span><span class="hl-code"> </span><span class="hl-reserved">INT</span><span class="hl-code"> </span><span class="hl-reserved">NOT</span><span class="hl-code"> </span><span class="hl-reserved">NULL</span><span class="hl-code"> </span><span class="hl-reserved">DEFAULT</span><span class="hl-code"> </span><span class="hl-number">0</span><span class="hl-code"> ,
    </span><span class="hl-reserved">PRIMARY</span><span class="hl-code"> </span><span class="hl-reserved">KEY</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-quotes">`</span><span class="hl-identifier">pasteId</span><span class="hl-quotes">`</span><span class="hl-brackets">)</span><span class="hl-code">
</span><span class="hl-brackets">)</span><span class="hl-code">;</span></pre>
</div>
</div>
<p>The model only has two new functions to interact with the database <em>insertPaste($pasteURL, $pasteData, $pasteParent)</em> and <em>getPaste($url).</em></p>
<div class="hl-container">
<div class="hl-main">
<pre><span class="hl-inlinetags">&lt;?php</span><span class="hl-code">
</span><span class="hl-reserved">class</span><span class="hl-code"> </span><span class="hl-identifier">pasteMasterModel</span><span class="hl-code"> </span><span class="hl-reserved">extends</span><span class="hl-code"> </span><span class="hl-identifier">Model</span><span class="hl-code"> </span><span class="hl-brackets">{</span><span class="hl-code">
    </span><span class="hl-reserved">public</span><span class="hl-code"> </span><span class="hl-reserved">function</span><span class="hl-code"> </span><span class="hl-identifier">insertPaste</span><span class="hl-brackets">(</span><span class="hl-var">$pasteURL</span><span class="hl-code">, </span><span class="hl-var">$pasteData</span><span class="hl-code">, </span><span class="hl-var">$pasteParent</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-brackets">{</span><span class="hl-code">
        </span><span class="hl-var">$this</span><span class="hl-code">-&gt;</span><span class="hl-identifier">query</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">
            INSERT INTO
                `pasteMaster`
                (`pasteURL`, `pasteData`, `pasteDate`, `pasteParent`)
            VALUES
                ('</span><span class="hl-var">{$pasteURL}', '{$pasteData}', NOW(), {$pasteParent}</span><span class="hl-string">)
        </span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">;
        </span><span class="hl-reserved">return</span><span class="hl-code"> </span><span class="hl-var">$this</span><span class="hl-code">-&gt;</span><span class="hl-identifier">insertId</span><span class="hl-brackets">(</span><span class="hl-brackets">)</span><span class="hl-code">;
    </span><span class="hl-brackets">}</span><span class="hl-code">
    </span><span class="hl-reserved">public</span><span class="hl-code"> </span><span class="hl-reserved">function</span><span class="hl-code"> </span><span class="hl-identifier">getPaste</span><span class="hl-brackets">(</span><span class="hl-var">$url</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-brackets">{</span><span class="hl-code">
        </span><span class="hl-reserved">return</span><span class="hl-code"> </span><span class="hl-var">$this</span><span class="hl-code">-&gt;</span><span class="hl-identifier">query</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">SELECT * FROM `pasteMaster` WHERE `pasteURL` = '</span><span class="hl-var">{$url}</span><span class="hl-string">' LIMIT 1</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">;
    </span><span class="hl-brackets">}</span><span class="hl-code">
</span><span class="hl-brackets">}</span></pre>
</div>
</div>
<p>I also created a small helper which can generate a hash and verify that a hash is valid or not. These are part of the helper &#8220;hashHelper&#8221;.</p>
<div class="hl-container">
<div class="hl-main">
<pre><span class="hl-inlinetags">&lt;?PHP</span><span class="hl-code">
</span><span class="hl-reserved">function</span><span class="hl-code"> </span><span class="hl-identifier">generateHash</span><span class="hl-brackets">(</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-brackets">{</span><span class="hl-code">
    </span><span class="hl-var">$retLen</span><span class="hl-code"> = </span><span class="hl-number">10</span><span class="hl-code">;
    </span><span class="hl-var">$possible</span><span class="hl-code"> = </span><span class="hl-quotes">&quot;</span><span class="hl-string">abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789</span><span class="hl-quotes">&quot;</span><span class="hl-code">;
    </span><span class="hl-var">$posLen</span><span class="hl-code"> = </span><span class="hl-identifier">strlen</span><span class="hl-brackets">(</span><span class="hl-var">$possible</span><span class="hl-brackets">)</span><span class="hl-code">-</span><span class="hl-number">1</span><span class="hl-code">;
    </span><span class="hl-var">$return</span><span class="hl-code"> = </span><span class="hl-quotes">'</span><span class="hl-quotes">'</span><span class="hl-code">;
    </span><span class="hl-reserved">for</span><span class="hl-brackets">(</span><span class="hl-var">$i</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-var">$i</span><span class="hl-code">&lt;</span><span class="hl-var">$retLen</span><span class="hl-code">;</span><span class="hl-var">$i</span><span class="hl-code">++</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-brackets">{</span><span class="hl-code">
        </span><span class="hl-var">$return</span><span class="hl-code"> .= </span><span class="hl-var">$possible</span><span class="hl-brackets">[</span><span class="hl-identifier">mt_rand</span><span class="hl-brackets">(</span><span class="hl-number">0</span><span class="hl-code">,</span><span class="hl-var">$posLen</span><span class="hl-brackets">)</span><span class="hl-brackets">]</span><span class="hl-code">;
    </span><span class="hl-brackets">}</span><span class="hl-code">
    </span><span class="hl-reserved">return</span><span class="hl-code"> </span><span class="hl-var">$return</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">
</span><span class="hl-reserved">function</span><span class="hl-code"> </span><span class="hl-identifier">checkHash</span><span class="hl-brackets">(</span><span class="hl-var">$a</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-brackets">{</span><span class="hl-code">
    </span><span class="hl-var">$pattern</span><span class="hl-code"> = </span><span class="hl-quotes">'</span><span class="hl-string">/^\w{10}$/</span><span class="hl-quotes">'</span><span class="hl-code">;
    </span><span class="hl-reserved">return</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">preg_match</span><span class="hl-brackets">(</span><span class="hl-var">$pattern</span><span class="hl-code">, </span><span class="hl-var">$a</span><span class="hl-code">, </span><span class="hl-var">$matches</span><span class="hl-brackets">)</span><span class="hl-code">===</span><span class="hl-number">1</span><span class="hl-brackets">)</span><span class="hl-code">?</span><span class="hl-reserved">true</span><span class="hl-code">:</span><span class="hl-reserved">false</span><span class="hl-code">;
</span><span class="hl-brackets">}</span></pre>
</div>
</div>
<p>The controller is where most of the magic happens. The index function allows for a &#8220;parent&#8221; parameter. This is because I allow each &#8220;paste&#8221; to have a parent, so there can be a type of hierachy in the posts and replies if I wanted. This method loads a view and gives it to variables &#8220;title&#8221; and &#8220;parent&#8221;. The title is required for my view files since all view files use the $title variable and will throw a warning if it&#8217;s not included.</p>
<div class="hl-container">
<div class="hl-main">
<pre><span class="hl-inlinetags">&lt;?PHP</span><span class="hl-code">
</span><span class="hl-reserved">public</span><span class="hl-code"> </span><span class="hl-reserved">function</span><span class="hl-code"> </span><span class="hl-identifier">index</span><span class="hl-brackets">(</span><span class="hl-var">$parent</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-brackets">{</span><span class="hl-code">
    </span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-identifier">is_numeric</span><span class="hl-brackets">(</span><span class="hl-var">$parent</span><span class="hl-brackets">)</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-brackets">{</span><span class="hl-code">
        </span><span class="hl-var">$parent</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;
    </span><span class="hl-brackets">}</span><span class="hl-code">
    </span><span class="hl-var">$this</span><span class="hl-code">-&gt;</span><span class="hl-identifier">view</span><span class="hl-code">-&gt;</span><span class="hl-identifier">load</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">default</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-reserved">array</span><span class="hl-brackets">(</span><span class="hl-code">
        </span><span class="hl-quotes">'</span><span class="hl-string">title</span><span class="hl-quotes">'</span><span class="hl-code"> =&gt; </span><span class="hl-quotes">'</span><span class="hl-string">PHP Paster - Paste</span><span class="hl-quotes">'</span><span class="hl-code">,
        </span><span class="hl-quotes">'</span><span class="hl-string">parent</span><span class="hl-quotes">'</span><span class="hl-code"> =&gt; </span><span class="hl-var">$parent</span><span class="hl-code">
    </span><span class="hl-brackets">)</span><span class="hl-brackets">)</span><span class="hl-code">;
    </span><span class="hl-reserved">return</span><span class="hl-code">;
</span><span class="hl-brackets">}</span></pre>
</div>
</div>
<p>The view function requires a $url parameter which is the unique string created for each &#8220;paste&#8221; we can look it up based on this. It&#8217;s a little prettier and safer than giving users the primary key. This method calls a helper &#8220;hashHelper&#8221; which I posted earlier. If we received a valid hash we retrieve it from the pasteMaster model. The &#8220;viewRaw&#8221; is a duplicate of &#8220;view&#8221; but sends the data to a different view that has a header of text/plain so no formatting will be done.</p>
<div class="hl-container">
<div class="hl-main">
<pre><span class="hl-inlinetags">&lt;?PHP</span><span class="hl-code">
</span><span class="hl-reserved">public</span><span class="hl-code"> </span><span class="hl-reserved">function</span><span class="hl-code"> </span><span class="hl-identifier">view</span><span class="hl-brackets">(</span><span class="hl-var">$url</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-brackets">{</span><span class="hl-code">
    </span><span class="hl-var">$this</span><span class="hl-code">-&gt;</span><span class="hl-identifier">helper</span><span class="hl-code">-&gt;</span><span class="hl-identifier">load</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">hashHelper</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">;
    </span><span class="hl-var">$pasteId</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;
    </span><span class="hl-var">$pasteURL</span><span class="hl-code"> = </span><span class="hl-var">$pasteDate</span><span class="hl-code"> = </span><span class="hl-var">$pasteData</span><span class="hl-code"> = </span><span class="hl-var">$pasteParent</span><span class="hl-code"> = </span><span class="hl-quotes">'</span><span class="hl-quotes">'</span><span class="hl-code">;

    </span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">checkHash</span><span class="hl-brackets">(</span><span class="hl-var">$url</span><span class="hl-brackets">)</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-brackets">{</span><span class="hl-code">
        </span><span class="hl-var">$this</span><span class="hl-code">-&gt;</span><span class="hl-identifier">model</span><span class="hl-code">-&gt;</span><span class="hl-identifier">load</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">pasteMaster</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">;
        </span><span class="hl-var">$result</span><span class="hl-code"> = </span><span class="hl-var">$this</span><span class="hl-code">-&gt;</span><span class="hl-identifier">model</span><span class="hl-code">-&gt;</span><span class="hl-identifier">pasteMaster</span><span class="hl-code">-&gt;</span><span class="hl-identifier">getPaste</span><span class="hl-brackets">(</span><span class="hl-var">$url</span><span class="hl-brackets">)</span><span class="hl-code">;
        </span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-var">$this</span><span class="hl-code">-&gt;</span><span class="hl-identifier">model</span><span class="hl-code">-&gt;</span><span class="hl-identifier">pasteMaster</span><span class="hl-code">-&gt;</span><span class="hl-identifier">rowCount</span><span class="hl-brackets">(</span><span class="hl-var">$result</span><span class="hl-brackets">)</span><span class="hl-code"> == </span><span class="hl-number">1</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-brackets">{</span><span class="hl-code">
            </span><span class="hl-var">$row</span><span class="hl-code"> = </span><span class="hl-var">$this</span><span class="hl-code">-&gt;</span><span class="hl-identifier">model</span><span class="hl-code">-&gt;</span><span class="hl-identifier">pasteMaster</span><span class="hl-code">-&gt;</span><span class="hl-identifier">fetchObject</span><span class="hl-brackets">(</span><span class="hl-var">$result</span><span class="hl-brackets">)</span><span class="hl-code">;
            </span><span class="hl-var">$pasteId</span><span class="hl-code"> = </span><span class="hl-var">$row</span><span class="hl-code">-&gt;</span><span class="hl-identifier">pasteId</span><span class="hl-code">;
            </span><span class="hl-var">$pasteURL</span><span class="hl-code"> = </span><span class="hl-var">$row</span><span class="hl-code">-&gt;</span><span class="hl-identifier">pasteURL</span><span class="hl-code">;
            </span><span class="hl-var">$pasteDate</span><span class="hl-code"> = </span><span class="hl-var">$row</span><span class="hl-code">-&gt;</span><span class="hl-identifier">pasteDate</span><span class="hl-code">;
            </span><span class="hl-var">$pasteData</span><span class="hl-code"> = </span><span class="hl-var">$row</span><span class="hl-code">-&gt;</span><span class="hl-identifier">pasteData</span><span class="hl-code">;
            </span><span class="hl-var">$pasteParent</span><span class="hl-code"> = </span><span class="hl-var">$row</span><span class="hl-code">-&gt;</span><span class="hl-identifier">pasteParent</span><span class="hl-code">;
        </span><span class="hl-brackets">}</span><span class="hl-code">
    </span><span class="hl-brackets">}</span><span class="hl-code">

    </span><span class="hl-var">$this</span><span class="hl-code">-&gt;</span><span class="hl-identifier">view</span><span class="hl-code">-&gt;</span><span class="hl-identifier">load</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">view</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-reserved">array</span><span class="hl-brackets">(</span><span class="hl-code">
        </span><span class="hl-quotes">'</span><span class="hl-string">title</span><span class="hl-quotes">'</span><span class="hl-code"> =&gt; </span><span class="hl-quotes">'</span><span class="hl-string">PHP Paster - View</span><span class="hl-quotes">'</span><span class="hl-code">,
        </span><span class="hl-quotes">'</span><span class="hl-string">pasteId</span><span class="hl-quotes">'</span><span class="hl-code"> =&gt; </span><span class="hl-var">$pasteId</span><span class="hl-code">,
        </span><span class="hl-quotes">'</span><span class="hl-string">pasteURL</span><span class="hl-quotes">'</span><span class="hl-code"> =&gt; </span><span class="hl-var">$pasteURL</span><span class="hl-code">,
        </span><span class="hl-quotes">'</span><span class="hl-string">pasteDate</span><span class="hl-quotes">'</span><span class="hl-code"> =&gt; </span><span class="hl-var">$pasteDate</span><span class="hl-code">,
        </span><span class="hl-quotes">'</span><span class="hl-string">pasteData</span><span class="hl-quotes">'</span><span class="hl-code"> =&gt; </span><span class="hl-var">$pasteData</span><span class="hl-code">,
        </span><span class="hl-quotes">'</span><span class="hl-string">pasteParent</span><span class="hl-quotes">'</span><span class="hl-code"> =&gt; </span><span class="hl-var">$pasteParent</span><span class="hl-code">
    </span><span class="hl-brackets">)</span><span class="hl-brackets">)</span><span class="hl-code">;
    </span><span class="hl-reserved">return</span><span class="hl-code">;
</span><span class="hl-brackets">}</span></pre>
</div>
</div>
<p>The insert automatically loads a model and a helper since we know it will always use the model. We check a little of the input, then make sure to generate a unique hash, then insert into the database using the model.</p>
<div class="hl-container">
<div class="hl-main">
<pre><span class="hl-inlinetags">&lt;?PHP</span><span class="hl-code">
</span><span class="hl-reserved">public</span><span class="hl-code"> </span><span class="hl-reserved">function</span><span class="hl-code"> </span><span class="hl-identifier">insert</span><span class="hl-brackets">(</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-brackets">{</span><span class="hl-code">
    </span><span class="hl-var">$this</span><span class="hl-code">-&gt;</span><span class="hl-identifier">model</span><span class="hl-code">-&gt;</span><span class="hl-identifier">load</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">pasteMaster</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">;
    </span><span class="hl-var">$this</span><span class="hl-code">-&gt;</span><span class="hl-identifier">helper</span><span class="hl-code">-&gt;</span><span class="hl-identifier">load</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">hashHelper</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">;

    </span><span class="hl-comment">//</span><span class="hl-comment"> Variables</span><span class="hl-comment"></span><span class="hl-code">
    </span><span class="hl-var">$count</span><span class="hl-code"> = </span><span class="hl-number">1</span><span class="hl-code">;
    </span><span class="hl-var">$pasteData</span><span class="hl-code"> = </span><span class="hl-identifier">htmlentities</span><span class="hl-brackets">(</span><span class="hl-var">$_POST</span><span class="hl-brackets">[</span><span class="hl-quotes">'</span><span class="hl-string">post</span><span class="hl-quotes">'</span><span class="hl-brackets">]</span><span class="hl-code">, </span><span class="hl-identifier">ENT_QUOTES</span><span class="hl-brackets">)</span><span class="hl-code">;
    </span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-reserved">isset</span><span class="hl-brackets">(</span><span class="hl-var">$_POST</span><span class="hl-brackets">[</span><span class="hl-quotes">'</span><span class="hl-string">parent</span><span class="hl-quotes">'</span><span class="hl-brackets">]</span><span class="hl-brackets">)</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-brackets">{</span><span class="hl-code">
        </span><span class="hl-var">$pasteParent</span><span class="hl-code"> = </span><span class="hl-var">$_POST</span><span class="hl-brackets">[</span><span class="hl-quotes">'</span><span class="hl-string">parent</span><span class="hl-quotes">'</span><span class="hl-brackets">]</span><span class="hl-code">;
    </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-reserved">else</span><span class="hl-code"> </span><span class="hl-brackets">{</span><span class="hl-code">
        </span><span class="hl-var">$pasteParent</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;
    </span><span class="hl-brackets">}</span><span class="hl-code">

    </span><span class="hl-comment">//</span><span class="hl-comment"> Variable Checks</span><span class="hl-comment"></span><span class="hl-code">
    </span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-identifier">is_numeric</span><span class="hl-brackets">(</span><span class="hl-var">$pasteParent</span><span class="hl-brackets">)</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-brackets">{</span><span class="hl-code">
        </span><span class="hl-var">$pasteParent</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;
    </span><span class="hl-brackets">}</span><span class="hl-code">

    </span><span class="hl-comment">//</span><span class="hl-comment"> Data too small?</span><span class="hl-comment"></span><span class="hl-code">
    </span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">strlen</span><span class="hl-brackets">(</span><span class="hl-var">$pasteData</span><span class="hl-brackets">)</span><span class="hl-code"> == </span><span class="hl-number">0</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-brackets">{</span><span class="hl-code">
        </span><span class="hl-var">$newURL</span><span class="hl-code"> = </span><span class="hl-var">$this</span><span class="hl-code">-&gt;</span><span class="hl-identifier">config</span><span class="hl-brackets">[</span><span class="hl-quotes">'</span><span class="hl-string">application</span><span class="hl-quotes">'</span><span class="hl-brackets">]</span><span class="hl-brackets">[</span><span class="hl-quotes">'</span><span class="hl-string">baseURL</span><span class="hl-quotes">'</span><span class="hl-brackets">]</span><span class="hl-code"> . </span><span class="hl-quotes">'</span><span class="hl-string">/index/</span><span class="hl-quotes">'</span><span class="hl-code">;
        </span><span class="hl-identifier">header</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">Location: </span><span class="hl-var">{$newURL}</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">;
        </span><span class="hl-reserved">return</span><span class="hl-code">;
    </span><span class="hl-brackets">}</span><span class="hl-code">

    </span><span class="hl-comment">//</span><span class="hl-comment"> Data too large?</span><span class="hl-comment"></span><span class="hl-code">

    </span><span class="hl-comment">//</span><span class="hl-comment"> Find unqiue hash</span><span class="hl-comment"></span><span class="hl-code">
    </span><span class="hl-reserved">while</span><span class="hl-brackets">(</span><span class="hl-var">$count</span><span class="hl-code"> !== </span><span class="hl-number">0</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-brackets">{</span><span class="hl-code">
        </span><span class="hl-var">$pasteURL</span><span class="hl-code"> = </span><span class="hl-identifier">generateHash</span><span class="hl-brackets">(</span><span class="hl-brackets">)</span><span class="hl-code">;
        </span><span class="hl-var">$result</span><span class="hl-code"> = </span><span class="hl-var">$this</span><span class="hl-code">-&gt;</span><span class="hl-identifier">model</span><span class="hl-code">-&gt;</span><span class="hl-identifier">pasteMaster</span><span class="hl-code">-&gt;</span><span class="hl-identifier">getPaste</span><span class="hl-brackets">(</span><span class="hl-var">$pasteURL</span><span class="hl-brackets">)</span><span class="hl-code">;
        </span><span class="hl-var">$count</span><span class="hl-code"> = </span><span class="hl-var">$this</span><span class="hl-code">-&gt;</span><span class="hl-identifier">model</span><span class="hl-code">-&gt;</span><span class="hl-identifier">pasteMaster</span><span class="hl-code">-&gt;</span><span class="hl-identifier">rowCount</span><span class="hl-brackets">(</span><span class="hl-var">$result</span><span class="hl-brackets">)</span><span class="hl-code">;
    </span><span class="hl-brackets">}</span><span class="hl-code">

    </span><span class="hl-comment">//</span><span class="hl-comment"> Insert and redirect</span><span class="hl-comment"></span><span class="hl-code">
    </span><span class="hl-var">$this</span><span class="hl-code">-&gt;</span><span class="hl-identifier">model</span><span class="hl-code">-&gt;</span><span class="hl-identifier">pasteMaster</span><span class="hl-code">-&gt;</span><span class="hl-identifier">insertPaste</span><span class="hl-brackets">(</span><span class="hl-var">$pasteURL</span><span class="hl-code">, </span><span class="hl-var">$pasteData</span><span class="hl-code">, </span><span class="hl-var">$pasteParent</span><span class="hl-brackets">)</span><span class="hl-code">;
    </span><span class="hl-var">$newURL</span><span class="hl-code"> = </span><span class="hl-var">$this</span><span class="hl-code">-&gt;</span><span class="hl-identifier">config</span><span class="hl-brackets">[</span><span class="hl-quotes">'</span><span class="hl-string">application</span><span class="hl-quotes">'</span><span class="hl-brackets">]</span><span class="hl-brackets">[</span><span class="hl-quotes">'</span><span class="hl-string">baseURL</span><span class="hl-quotes">'</span><span class="hl-brackets">]</span><span class="hl-code"> . </span><span class="hl-quotes">'</span><span class="hl-string">/view/</span><span class="hl-quotes">'</span><span class="hl-code"> . </span><span class="hl-var">$pasteURL</span><span class="hl-code"> . </span><span class="hl-quotes">'</span><span class="hl-string">/</span><span class="hl-quotes">'</span><span class="hl-code">;
    </span><span class="hl-identifier">header</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">Location: </span><span class="hl-var">{$newURL}</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">;
    </span><span class="hl-reserved">return</span><span class="hl-code">;
</span><span class="hl-brackets">}</span></pre>
</div>
</div>
<p>Thank you for taking the time to read this example. I hope you enjoy version 2.0 of this framework!</p>
<div class="wpfilebase-attachment">
<div class="wpfilebase-fileicon"><a href="http://www.BlaineSch.com/download/v2.0.zip" title="Download BlaineSch PHP Framework"><img align="middle" src="http://www.BlaineSch.com/web/wp-includes/images/crystal/archive.png" alt="BlaineSch PHP Framework" /></a></div>
<div class="wpfilebase-rightcol">
<div class="wpfilebase-filetitle">
   <a href="http://www.BlaineSch.com/download/v2.0.zip" title="Download BlaineSch PHP Framework">BlaineSch PHP Framework</a><br />
   v2.0.zip<br />
   Version: v2.0</p></div>
<div class="wpfilebase-filedetails" id="wpfilebase-filedetails7" style="display: none;">
<table border="0">
<tr>
<td><strong>Author:</strong></td>
<td>Blaine Schmeisser</td>
</tr>
<tr>
<td><strong>Date:</strong></td>
<td>February 3, 2012</td>
</tr>
</table></div>
</p></div>
<div class="wpfilebase-fileinfo">
  60.9 KiB<br />
  26 Downloads<br />
  <a href="#" onclick="return wpfilebase_filedetails(7);">Details&#8230;</a>
 </div>
<div style="clear: both;"></div>
</div>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-knowledge">
<ul class="socials">
		<li class="shr-delicious">
			<a href="http://www.shareaholic.com/api/share/?title=PHP+Framework+v2.0&amp;link=http://www.BlaineSch.com/288/php-framework-v2-0/&amp;notes=I%20recently%20released%20version%202.0%20of%20my%20PHP%20MVC%20Framework.%20This%20is%20a%20quick%20example%20of%20how%20to%20use%20it.%0D%0A%0D%0AInside%20the%20configuration%20file%20%28application%2Fconfig%2Fconfig.php%29%20you%20will%20see%20a%20LOT%20of%20new%20ways%20to%20configure%20it.%20By%20default%20it%20tries%20to%20implement%20a%20lowerCamelCase%20naming%20convention.%20If%20the%20names%20aren%27t&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=PHP+Framework+v2.0&amp;link=http://www.BlaineSch.com/288/php-framework-v2-0/&amp;notes=I%20recently%20released%20version%202.0%20of%20my%20PHP%20MVC%20Framework.%20This%20is%20a%20quick%20example%20of%20how%20to%20use%20it.%0D%0A%0D%0AInside%20the%20configuration%20file%20%28application%2Fconfig%2Fconfig.php%29%20you%20will%20see%20a%20LOT%20of%20new%20ways%20to%20configure%20it.%20By%20default%20it%20tries%20to%20implement%20a%20lowerCamelCase%20naming%20convention.%20If%20the%20names%20aren%27t&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%24%7Btitle%7D+-+%24%7Bshort_link%7D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-googlebookmarks">
			<a href="http://www.shareaholic.com/api/share/?title=PHP+Framework+v2.0&amp;link=http://www.BlaineSch.com/288/php-framework-v2-0/&amp;notes=I%20recently%20released%20version%202.0%20of%20my%20PHP%20MVC%20Framework.%20This%20is%20a%20quick%20example%20of%20how%20to%20use%20it.%0D%0A%0D%0AInside%20the%20configuration%20file%20%28application%2Fconfig%2Fconfig.php%29%20you%20will%20see%20a%20LOT%20of%20new%20ways%20to%20configure%20it.%20By%20default%20it%20tries%20to%20implement%20a%20lowerCamelCase%20naming%20convention.%20If%20the%20names%20aren%27t&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=74&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Add this to Google Bookmarks">Add this to Google Bookmarks</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.shareaholic.com/api/share/?title=PHP+Framework+v2.0&amp;link=http://www.BlaineSch.com/288/php-framework-v2-0/&amp;notes=I%20recently%20released%20version%202.0%20of%20my%20PHP%20MVC%20Framework.%20This%20is%20a%20quick%20example%20of%20how%20to%20use%20it.%0D%0A%0D%0AInside%20the%20configuration%20file%20%28application%2Fconfig%2Fconfig.php%29%20you%20will%20see%20a%20LOT%20of%20new%20ways%20to%20configure%20it.%20By%20default%20it%20tries%20to%20implement%20a%20lowerCamelCase%20naming%20convention.%20If%20the%20names%20aren%27t&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-comfeed">
			<a href="http://www.blainesch.com/288/php-framework-v2-0/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a>
		</li>
		<li class="shr-gmail">
			<a href="http://www.shareaholic.com/api/share/?title=PHP+Framework+v2.0&amp;link=http://www.BlaineSch.com/288/php-framework-v2-0/&amp;notes=I%20recently%20released%20version%202.0%20of%20my%20PHP%20MVC%20Framework.%20This%20is%20a%20quick%20example%20of%20how%20to%20use%20it.%0D%0A%0D%0AInside%20the%20configuration%20file%20%28application%2Fconfig%2Fconfig.php%29%20you%20will%20see%20a%20LOT%20of%20new%20ways%20to%20configure%20it.%20By%20default%20it%20tries%20to%20implement%20a%20lowerCamelCase%20naming%20convention.%20If%20the%20names%20aren%27t&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=52&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Email this via Gmail">Email this via Gmail</a>
		</li>
		<li class="shr-blogger">
			<a href="http://www.shareaholic.com/api/share/?title=PHP+Framework+v2.0&amp;link=http://www.BlaineSch.com/288/php-framework-v2-0/&amp;notes=I%20recently%20released%20version%202.0%20of%20my%20PHP%20MVC%20Framework.%20This%20is%20a%20quick%20example%20of%20how%20to%20use%20it.%0D%0A%0D%0AInside%20the%20configuration%20file%20%28application%2Fconfig%2Fconfig.php%29%20you%20will%20see%20a%20LOT%20of%20new%20ways%20to%20configure%20it.%20By%20default%20it%20tries%20to%20implement%20a%20lowerCamelCase%20naming%20convention.%20If%20the%20names%20aren%27t&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=219&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Blog this on Blogger">Blog this on Blogger</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.BlaineSch.com/288/php-framework-v2-0/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Adobe Edge noConflict Fix</title>
		<link>http://www.BlaineSch.com/286/adobe-edge-noconflict-fix/</link>
		<comments>http://www.BlaineSch.com/286/adobe-edge-noconflict-fix/#comments</comments>
		<pubDate>Wed, 31 Aug 2011 03:27:42 +0000</pubDate>
		<dc:creator>Elecktricity</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.BlaineSch.com/?p=286</guid>
		<description><![CDATA[Adobe Edge did not work correctly when jQuery was in noConflict mode. I made a fix at work for a project we were working on. Click here to read more. Share this on del.icio.us Tweet This! Add this to Google Bookmarks Share this on Facebook Subscribe to the comments for this post? Email this via ...]]></description>
			<content:encoded><![CDATA[<p>Adobe Edge did not work correctly when jQuery was in noConflict mode. I made a fix at work for a project we were working on.</p>
<p>Click <a title="Adobe Edge noConflict Fix" href="http://blog.skynet-solutions.net/post/9555422060/adobe-edge-noconflict-fix" target="_blank">here</a> to read more.</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-knowledge">
<ul class="socials">
		<li class="shr-delicious">
			<a href="http://www.shareaholic.com/api/share/?title=Adobe+Edge+noConflict+Fix&amp;link=http://www.BlaineSch.com/286/adobe-edge-noconflict-fix/&amp;notes=Adobe%20Edge%20did%20not%20work%20correctly%20when%20jQuery%20was%20in%20noConflict%20mode.%20I%20made%20a%20fix%20at%20work%20for%20a%20project%20we%20were%20working%20on.%0D%0A%0D%0AClick%20here%20to%20read%20more.&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=Adobe+Edge+noConflict+Fix&amp;link=http://www.BlaineSch.com/286/adobe-edge-noconflict-fix/&amp;notes=Adobe%20Edge%20did%20not%20work%20correctly%20when%20jQuery%20was%20in%20noConflict%20mode.%20I%20made%20a%20fix%20at%20work%20for%20a%20project%20we%20were%20working%20on.%0D%0A%0D%0AClick%20here%20to%20read%20more.&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%24%7Btitle%7D+-+%24%7Bshort_link%7D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-googlebookmarks">
			<a href="http://www.shareaholic.com/api/share/?title=Adobe+Edge+noConflict+Fix&amp;link=http://www.BlaineSch.com/286/adobe-edge-noconflict-fix/&amp;notes=Adobe%20Edge%20did%20not%20work%20correctly%20when%20jQuery%20was%20in%20noConflict%20mode.%20I%20made%20a%20fix%20at%20work%20for%20a%20project%20we%20were%20working%20on.%0D%0A%0D%0AClick%20here%20to%20read%20more.&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=74&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Add this to Google Bookmarks">Add this to Google Bookmarks</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.shareaholic.com/api/share/?title=Adobe+Edge+noConflict+Fix&amp;link=http://www.BlaineSch.com/286/adobe-edge-noconflict-fix/&amp;notes=Adobe%20Edge%20did%20not%20work%20correctly%20when%20jQuery%20was%20in%20noConflict%20mode.%20I%20made%20a%20fix%20at%20work%20for%20a%20project%20we%20were%20working%20on.%0D%0A%0D%0AClick%20here%20to%20read%20more.&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-comfeed">
			<a href="http://www.blainesch.com/286/adobe-edge-noconflict-fix/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a>
		</li>
		<li class="shr-gmail">
			<a href="http://www.shareaholic.com/api/share/?title=Adobe+Edge+noConflict+Fix&amp;link=http://www.BlaineSch.com/286/adobe-edge-noconflict-fix/&amp;notes=Adobe%20Edge%20did%20not%20work%20correctly%20when%20jQuery%20was%20in%20noConflict%20mode.%20I%20made%20a%20fix%20at%20work%20for%20a%20project%20we%20were%20working%20on.%0D%0A%0D%0AClick%20here%20to%20read%20more.&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=52&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Email this via Gmail">Email this via Gmail</a>
		</li>
		<li class="shr-blogger">
			<a href="http://www.shareaholic.com/api/share/?title=Adobe+Edge+noConflict+Fix&amp;link=http://www.BlaineSch.com/286/adobe-edge-noconflict-fix/&amp;notes=Adobe%20Edge%20did%20not%20work%20correctly%20when%20jQuery%20was%20in%20noConflict%20mode.%20I%20made%20a%20fix%20at%20work%20for%20a%20project%20we%20were%20working%20on.%0D%0A%0D%0AClick%20here%20to%20read%20more.&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=219&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Blog this on Blogger">Blog this on Blogger</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.BlaineSch.com/286/adobe-edge-noconflict-fix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CMS Private Beta Released!</title>
		<link>http://www.BlaineSch.com/277/cms-private-beta-released/</link>
		<comments>http://www.BlaineSch.com/277/cms-private-beta-released/#comments</comments>
		<pubDate>Fri, 29 Jul 2011 04:57:48 +0000</pubDate>
		<dc:creator>Elecktricity</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.BlaineSch.com/?p=277</guid>
		<description><![CDATA[Well, the last release date did no go as planned, however this new reformed release date is right on schedule. Is it a few minutes before that date and I am uploading the file as I type! There are a few people who have already emailed me about getting a copy, and right after I ...]]></description>
			<content:encoded><![CDATA[<p>Well, the last release date did no go as planned, however this new reformed release date is right on schedule. Is it a few minutes before that date and I am uploading the file as I type!</p>
<p>There are a few people who have already emailed me about getting a copy, and right after I post this, I will probably email them a link. However, if you did not receive a link and you are interested in getting a copy or viewing the online version, post a comment here or send me a message on my contact page.</p>
<p>All of my Google+ friends already have a download link. Make&#8217;s you want to add me, huh? View my profile below.<br />
<a title="BlaineSch @ Google+" href="http://gplus.to/BlaineSch">http://gplus.to/BlaineSch</a></p>
<p>Thank you for all the support!</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-knowledge">
<ul class="socials">
		<li class="shr-delicious">
			<a href="http://www.shareaholic.com/api/share/?title=CMS+Private+Beta+Released%21&amp;link=http://www.BlaineSch.com/277/cms-private-beta-released/&amp;notes=Well%2C%20the%20last%20release%20date%20did%20no%20go%20as%20planned%2C%20however%20this%20new%20reformed%20release%20date%20is%20right%20on%20schedule.%20Is%20it%20a%20few%20minutes%20before%20that%20date%20and%20I%20am%20uploading%20the%20file%20as%20I%20type%21%0D%0A%0D%0AThere%20are%20a%20few%20people%20who%20have%20already%20emailed%20me%20about%20getting%20a%20copy%2C%20and%20right%20after%20I%20post%20this%2C%20I%20will%20p&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=CMS+Private+Beta+Released%21&amp;link=http://www.BlaineSch.com/277/cms-private-beta-released/&amp;notes=Well%2C%20the%20last%20release%20date%20did%20no%20go%20as%20planned%2C%20however%20this%20new%20reformed%20release%20date%20is%20right%20on%20schedule.%20Is%20it%20a%20few%20minutes%20before%20that%20date%20and%20I%20am%20uploading%20the%20file%20as%20I%20type%21%0D%0A%0D%0AThere%20are%20a%20few%20people%20who%20have%20already%20emailed%20me%20about%20getting%20a%20copy%2C%20and%20right%20after%20I%20post%20this%2C%20I%20will%20p&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%24%7Btitle%7D+-+%24%7Bshort_link%7D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-googlebookmarks">
			<a href="http://www.shareaholic.com/api/share/?title=CMS+Private+Beta+Released%21&amp;link=http://www.BlaineSch.com/277/cms-private-beta-released/&amp;notes=Well%2C%20the%20last%20release%20date%20did%20no%20go%20as%20planned%2C%20however%20this%20new%20reformed%20release%20date%20is%20right%20on%20schedule.%20Is%20it%20a%20few%20minutes%20before%20that%20date%20and%20I%20am%20uploading%20the%20file%20as%20I%20type%21%0D%0A%0D%0AThere%20are%20a%20few%20people%20who%20have%20already%20emailed%20me%20about%20getting%20a%20copy%2C%20and%20right%20after%20I%20post%20this%2C%20I%20will%20p&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=74&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Add this to Google Bookmarks">Add this to Google Bookmarks</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.shareaholic.com/api/share/?title=CMS+Private+Beta+Released%21&amp;link=http://www.BlaineSch.com/277/cms-private-beta-released/&amp;notes=Well%2C%20the%20last%20release%20date%20did%20no%20go%20as%20planned%2C%20however%20this%20new%20reformed%20release%20date%20is%20right%20on%20schedule.%20Is%20it%20a%20few%20minutes%20before%20that%20date%20and%20I%20am%20uploading%20the%20file%20as%20I%20type%21%0D%0A%0D%0AThere%20are%20a%20few%20people%20who%20have%20already%20emailed%20me%20about%20getting%20a%20copy%2C%20and%20right%20after%20I%20post%20this%2C%20I%20will%20p&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-comfeed">
			<a href="http://www.blainesch.com/277/cms-private-beta-released/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a>
		</li>
		<li class="shr-gmail">
			<a href="http://www.shareaholic.com/api/share/?title=CMS+Private+Beta+Released%21&amp;link=http://www.BlaineSch.com/277/cms-private-beta-released/&amp;notes=Well%2C%20the%20last%20release%20date%20did%20no%20go%20as%20planned%2C%20however%20this%20new%20reformed%20release%20date%20is%20right%20on%20schedule.%20Is%20it%20a%20few%20minutes%20before%20that%20date%20and%20I%20am%20uploading%20the%20file%20as%20I%20type%21%0D%0A%0D%0AThere%20are%20a%20few%20people%20who%20have%20already%20emailed%20me%20about%20getting%20a%20copy%2C%20and%20right%20after%20I%20post%20this%2C%20I%20will%20p&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=52&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Email this via Gmail">Email this via Gmail</a>
		</li>
		<li class="shr-blogger">
			<a href="http://www.shareaholic.com/api/share/?title=CMS+Private+Beta+Released%21&amp;link=http://www.BlaineSch.com/277/cms-private-beta-released/&amp;notes=Well%2C%20the%20last%20release%20date%20did%20no%20go%20as%20planned%2C%20however%20this%20new%20reformed%20release%20date%20is%20right%20on%20schedule.%20Is%20it%20a%20few%20minutes%20before%20that%20date%20and%20I%20am%20uploading%20the%20file%20as%20I%20type%21%0D%0A%0D%0AThere%20are%20a%20few%20people%20who%20have%20already%20emailed%20me%20about%20getting%20a%20copy%2C%20and%20right%20after%20I%20post%20this%2C%20I%20will%20p&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=219&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Blog this on Blogger">Blog this on Blogger</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.BlaineSch.com/277/cms-private-beta-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

