<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" version="2.0">

<channel>
	<title>BlaineSch</title>
	
	<link>http://www.BlaineSch.com</link>
	<description>Web and Application Developer</description>
	<lastBuildDate>Thu, 16 Feb 2012 01:05:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/Blainesch" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="blainesch" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">Blainesch</feedburner:emailServiceId><feedburner:feedburnerHostname xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>CSS Selector to HTML v0.3 – “has” 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-filedetails1" 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 />
  1 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=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&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&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&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&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&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&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-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 3, 2012</td>
</tr>
</table></div>
</p></div>
<div class="wpfilebase-fileinfo">
  2.5 KiB<br />
  2 Downloads<br />
  <a href="#" onclick="return wpfilebase_filedetails(2);">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-filedetails3" 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 />
  3 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=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-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">
  10.3 KiB<br />
  3 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=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-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">
  60.9 KiB<br />
  2 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=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>
		<item>
		<title>CMS Private Beta!</title>
		<link>http://www.BlaineSch.com/267/cms-beta/</link>
		<comments>http://www.BlaineSch.com/267/cms-beta/#comments</comments>
		<pubDate>Wed, 06 Jul 2011 03:46:43 +0000</pubDate>
		<dc:creator>Elecktricity</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.BlaineSch.com/?p=267</guid>
		<description><![CDATA[BlaineSch CMS Beta 0.1 will be privately released on the 29th of July. If you would like to receive a download link on that day feel free to leave a comment and I&#8217;ll send a link to the email you entered in. I only request that you are a developer, or have previously used a ...]]></description>
			<content:encoded><![CDATA[<p>BlaineSch CMS Beta 0.1 will be privately released on the 29th of July. If you would like to receive a download link on that day feel free to leave a comment and I&#8217;ll send a link to the email you entered in. I only request that you are a developer, or have previously used a different CMS, and that you can send feedback before the official undecided launch date.</p>
<p>There are three main features that really help me out a ton when using a CMS:</p>
<ul>
<li>On the dashboard there are &#8220;user notes&#8221; and &#8220;global notes&#8221;. I&#8217;ve always appreciated having notes I can access on dashboards of products. This helps me from writing sticky notes or a &#8220;todo.txt&#8221; file I leave on my desktop.</li>
<li>The admin layout is just as custom as the front end layout. That&#8217;s right, right out of the box I&#8217;m giving you the ability to switch and create custom admin layouts. You can put your company logo in there, and the clients company logo.</li>
<li>The admin and front-end layout can be the same layout. So don&#8217;t both creating new layouts that match for each one. At the same time, if your company wants to develop a separate admin layout that comes standard with the CMS package, this can be accomplished as well!</li>
</ul>
<p><img class="alignnone size-full wp-image-269" title="BlaineSch CMS" src="http://www.BlaineSch.com/web/wp-content/uploads/2011/07/logoDefault.png" alt="" width="348" height="84" /></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%21&amp;link=http://www.BlaineSch.com/267/cms-beta/&amp;notes=BlaineSch%20CMS%20Beta%200.1%20will%20be%20privately%20released%20on%20the%2029th%20of%20July.%20If%20you%20would%20like%20to%20receive%20a%20download%20link%20on%20that%20day%20feel%20free%20to%20leave%20a%20comment%20and%20I%27ll%20send%20a%20link%20to%20the%20email%20you%20entered%20in.%20I%20only%20request%20that%20you%20are%20a%20developer%2C%20or%20have%20previously%20used%20a%20different%20CMS%2C%20and%20that%20yo&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%21&amp;link=http://www.BlaineSch.com/267/cms-beta/&amp;notes=BlaineSch%20CMS%20Beta%200.1%20will%20be%20privately%20released%20on%20the%2029th%20of%20July.%20If%20you%20would%20like%20to%20receive%20a%20download%20link%20on%20that%20day%20feel%20free%20to%20leave%20a%20comment%20and%20I%27ll%20send%20a%20link%20to%20the%20email%20you%20entered%20in.%20I%20only%20request%20that%20you%20are%20a%20developer%2C%20or%20have%20previously%20used%20a%20different%20CMS%2C%20and%20that%20yo&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%21&amp;link=http://www.BlaineSch.com/267/cms-beta/&amp;notes=BlaineSch%20CMS%20Beta%200.1%20will%20be%20privately%20released%20on%20the%2029th%20of%20July.%20If%20you%20would%20like%20to%20receive%20a%20download%20link%20on%20that%20day%20feel%20free%20to%20leave%20a%20comment%20and%20I%27ll%20send%20a%20link%20to%20the%20email%20you%20entered%20in.%20I%20only%20request%20that%20you%20are%20a%20developer%2C%20or%20have%20previously%20used%20a%20different%20CMS%2C%20and%20that%20yo&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%21&amp;link=http://www.BlaineSch.com/267/cms-beta/&amp;notes=BlaineSch%20CMS%20Beta%200.1%20will%20be%20privately%20released%20on%20the%2029th%20of%20July.%20If%20you%20would%20like%20to%20receive%20a%20download%20link%20on%20that%20day%20feel%20free%20to%20leave%20a%20comment%20and%20I%27ll%20send%20a%20link%20to%20the%20email%20you%20entered%20in.%20I%20only%20request%20that%20you%20are%20a%20developer%2C%20or%20have%20previously%20used%20a%20different%20CMS%2C%20and%20that%20yo&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/267/cms-beta/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%21&amp;link=http://www.BlaineSch.com/267/cms-beta/&amp;notes=BlaineSch%20CMS%20Beta%200.1%20will%20be%20privately%20released%20on%20the%2029th%20of%20July.%20If%20you%20would%20like%20to%20receive%20a%20download%20link%20on%20that%20day%20feel%20free%20to%20leave%20a%20comment%20and%20I%27ll%20send%20a%20link%20to%20the%20email%20you%20entered%20in.%20I%20only%20request%20that%20you%20are%20a%20developer%2C%20or%20have%20previously%20used%20a%20different%20CMS%2C%20and%20that%20yo&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%21&amp;link=http://www.BlaineSch.com/267/cms-beta/&amp;notes=BlaineSch%20CMS%20Beta%200.1%20will%20be%20privately%20released%20on%20the%2029th%20of%20July.%20If%20you%20would%20like%20to%20receive%20a%20download%20link%20on%20that%20day%20feel%20free%20to%20leave%20a%20comment%20and%20I%27ll%20send%20a%20link%20to%20the%20email%20you%20entered%20in.%20I%20only%20request%20that%20you%20are%20a%20developer%2C%20or%20have%20previously%20used%20a%20different%20CMS%2C%20and%20that%20yo&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/267/cms-beta/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Request: “Divi-height” in CSS3</title>
		<link>http://www.BlaineSch.com/243/request-divi-height-in-css3/</link>
		<comments>http://www.BlaineSch.com/243/request-divi-height-in-css3/#comments</comments>
		<pubDate>Wed, 04 May 2011 20:25:25 +0000</pubDate>
		<dc:creator>Elecktricity</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.BlaineSch.com/?p=243</guid>
		<description><![CDATA[Any person who has played with HTML has used &#8220;repeating backgrounds&#8221;, and if you have ever used these you are probably aware of a major issue. If it needs to connect at the bottom, with a footer, and the content isn&#8217;t exactly the right height it&#8217;ll look messed up. For example, if your background is ...]]></description>
			<content:encoded><![CDATA[<p>Any person who has played with HTML has used &#8220;repeating backgrounds&#8221;, and if you have ever used these you are probably aware of a major issue. If it needs to connect at the bottom, with a footer, and the content isn&#8217;t exactly the right height it&#8217;ll look messed up.</p>
<p>For example, if your background is 41px in height, and your container is exactly 80px high, it will not connect correctly. This is why I believe a new CSS attribute &#8220;divisible-by height&#8221; or &#8220;divi-height&#8221; for short, should be on the CSS3 to-do list.</p>
<p>So for instance, from the first example, you&#8217;d simply set the &#8220;divi-height&#8221; to the height of your background, which is 41px in this case, and it&#8217;ll round up the height of the element so it does not cut off your background.</p>
<p>This could be done using JavaScript.</p>
<div class="hl-container">
<div class="hl-main">
<pre><span class="hl-reserved">function</span><span class="hl-code"> </span><span class="hl-identifier">diviHeight</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">var</span><span class="hl-code"> </span><span class="hl-identifier">dHeight</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;
    </span><span class="hl-reserved">var</span><span class="hl-code"> </span><span class="hl-identifier">nHeight</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-quotes">'</span><span class="hl-string">.diviHeight</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">.</span><span class="hl-identifier">each</span><span class="hl-brackets">(</span><span class="hl-reserved">function</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-identifier">dHeight</span><span class="hl-code"> = </span><span class="hl-identifier">parseInt</span><span class="hl-brackets">(</span><span class="hl-code">$</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-brackets">)</span><span class="hl-code">.</span><span class="hl-identifier">attr</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">rel</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-brackets">)</span><span class="hl-code">;
        </span><span class="hl-identifier">nHeight</span><span class="hl-code"> = </span><span class="hl-builtin">Math</span><span class="hl-code">.</span><span class="hl-identifier">ceil</span><span class="hl-brackets">(</span><span class="hl-code">$</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-brackets">)</span><span class="hl-code">.</span><span class="hl-identifier">height</span><span class="hl-brackets">(</span><span class="hl-brackets">)</span><span class="hl-code">/</span><span class="hl-identifier">dHeight</span><span class="hl-brackets">)</span><span class="hl-code">*</span><span class="hl-identifier">dHeight</span><span class="hl-code">;
        $</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-brackets">)</span><span class="hl-code">.</span><span class="hl-identifier">css</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">height</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-identifier">nHeight</span><span class="hl-brackets">)</span><span class="hl-code">;
    </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-brackets">(</span><span class="hl-builtin">document</span><span class="hl-brackets">)</span><span class="hl-code">.</span><span class="hl-identifier">ready</span><span class="hl-brackets">(</span><span class="hl-reserved">function</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-identifier">diviHeight</span><span class="hl-brackets">(</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-brackets">)</span><span class="hl-code">;</span></pre>
</div>
</div>
<p>Full HTML:</p>
<div class="hl-container">
<div class="hl-main">
<pre><span class="hl-brackets">&lt;</span><span class="hl-code">!</span><span class="hl-var">DOCTYPE</span><span class="hl-code"> </span><span class="hl-var">HTML</span><span class="hl-brackets">&gt;</span><span class="hl-code">
</span><span class="hl-brackets">&lt;</span><span class="hl-reserved">html</span><span class="hl-brackets">&gt;</span><span class="hl-code">
    </span><span class="hl-brackets">&lt;</span><span class="hl-reserved">head</span><span class="hl-brackets">&gt;</span><span class="hl-code">
        </span><span class="hl-brackets">&lt;</span><span class="hl-reserved">title</span><span class="hl-brackets">&gt;</span><span class="hl-code">BlaineSch JS Round</span><span class="hl-brackets">&lt;/</span><span class="hl-reserved">title</span><span class="hl-brackets">&gt;</span><span class="hl-code">
        </span><span class="hl-brackets">&lt;</span><span class="hl-reserved">script</span><span class="hl-code"> </span><span class="hl-var">type</span><span class="hl-code">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">text/javascript</span><span class="hl-quotes">&quot;</span><span class="hl-code"> </span><span class="hl-var">src</span><span class="hl-code">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">&gt;</span><span class="hl-brackets">&lt;/</span><span class="hl-reserved">script</span><span class="hl-brackets">&gt;</span><span class="hl-code">
        </span><span class="hl-brackets">&lt;</span><span class="hl-reserved">script</span><span class="hl-code"> </span><span class="hl-var">type</span><span class="hl-code">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">text/javascript</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">&gt;</span><span class="hl-code">
            function diviHeight() {
                var dHeight = 0;
                var nHeight = 0;
                $('.diviHeight').each(function() {
                    dHeight = parseInt($(this).attr('rel'));
                    nHeight = Math.ceil($(this).height()/dHeight)*dHeight;
                    $(this).css('height', nHeight);
                });
            }
            $(document).ready(function() {
                diviHeight();
            });
        </span><span class="hl-brackets">&lt;/</span><span class="hl-reserved">script</span><span class="hl-brackets">&gt;</span><span class="hl-code">
        </span><span class="hl-brackets">&lt;</span><span class="hl-reserved">style</span><span class="hl-code"> </span><span class="hl-var">type</span><span class="hl-code">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">text/css</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">&gt;</span><span class="hl-code">
            html, body {
                background-image: url('http://static.tumblr.com/thpaaos/Rlal3gini/bg2.png');
            }
            p {
                margin: 0px;
            }
            div.content {
                width: 624px;
            }
                div.content .head {
                    height: 53px;
                    background-image: url('http://static.tumblr.com/thpaaos/UsFl3giox/page_top.png');
                }
                    div.content .head h1 {
                        display: block;
                        text-align: center;
                        margin: 0px;
                        padding: 17px 0px;
                    }
                div.content .data {
                    /*
                        divi-height: 41px;
                    */
                    padding: 0px 65px;
                    background-image: url('http://static.tumblr.com/thpaaos/1qEl3gion/page_middle.png');
                    line-height: 150%;
                }
                div.content .foot {
                    height: 22px;
                    background-image: url('http://static.tumblr.com/thpaaos/h9Jl3gip6/page_bottom.png');
                }
        </span><span class="hl-brackets">&lt;/</span><span class="hl-reserved">style</span><span class="hl-brackets">&gt;</span><span class="hl-code">
    </span><span class="hl-brackets">&lt;/</span><span class="hl-reserved">head</span><span class="hl-brackets">&gt;</span><span class="hl-code">
    </span><span class="hl-brackets">&lt;</span><span class="hl-reserved">body</span><span class="hl-brackets">&gt;</span><span class="hl-code">
        </span><span class="hl-comment">&lt;!--</span><span class="hl-comment"> JavaScript changes this one </span><span class="hl-comment">--&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">content</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">head</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">h1</span><span class="hl-brackets">&gt;</span><span class="hl-code">Divi-height Background</span><span class="hl-brackets">&lt;/</span><span class="hl-reserved">h1</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><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">data diviHeight</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">41</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">p</span><span class="hl-brackets">&gt;</span><span class="hl-code">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum arcu lorem, cursus vitae venenatis id, interdum in elit. In hac habitasse platea dictumst. In eu lacus mauris, vel lobortis magna. Vestibulum mattis volutpat est, vitae tempus justo placerat nec.</span><span class="hl-brackets">&lt;/</span><span class="hl-reserved">p</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><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">foot</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">&gt;</span><span class="hl-special">&amp;nbsp;</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><span class="hl-code">
        </span><span class="hl-comment">&lt;!--</span><span class="hl-comment"> This one is left alone </span><span class="hl-comment">--&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">content</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">head</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">h1</span><span class="hl-brackets">&gt;</span><span class="hl-code">Regular Background</span><span class="hl-brackets">&lt;/</span><span class="hl-reserved">h1</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><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">data</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">p</span><span class="hl-brackets">&gt;</span><span class="hl-code">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum arcu lorem, cursus vitae venenatis id, interdum in elit. In hac habitasse platea dictumst. In eu lacus mauris, vel lobortis magna. Vestibulum mattis volutpat est, vitae tempus justo placerat nec.</span><span class="hl-brackets">&lt;/</span><span class="hl-reserved">p</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><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">foot</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">&gt;</span><span class="hl-special">&amp;nbsp;</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><span class="hl-code">
    </span><span class="hl-brackets">&lt;</span><span class="hl-reserved">body</span><span class="hl-brackets">&gt;</span><span class="hl-code">
</span><span class="hl-brackets">&lt;/</span><span class="hl-reserved">html</span><span class="hl-brackets">&gt;</span></pre>
</div>
</div>
<p><a href="http://www.BlaineSch.com/web/wp-content/uploads/2011/05/background.png" target="_blank"><img class="alignnone size-medium wp-image-235" title="Divi Height Background" src="http://www.BlaineSch.com/web/wp-content/uploads/2011/05/background-300x177.png" alt="" width="300" height="177" /></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=Request%3A+%22Divi-height%22+in+CSS3&amp;link=http://www.BlaineSch.com/243/request-divi-height-in-css3/&amp;notes=Any%20person%20who%20has%20played%20with%20HTML%20has%20used%20%22repeating%20backgrounds%22%2C%20and%20if%20you%20have%20ever%20used%20these%20you%20are%20probably%20aware%20of%20a%20major%20issue.%20If%20it%20needs%20to%20connect%20at%20the%20bottom%2C%20with%20a%20footer%2C%20and%20the%20content%20isn%27t%20exactly%20the%20right%20height%20it%27ll%20look%20messed%20up.%0D%0A%0D%0AFor%20example%2C%20if%20your%20background%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=Request%3A+%22Divi-height%22+in+CSS3&amp;link=http://www.BlaineSch.com/243/request-divi-height-in-css3/&amp;notes=Any%20person%20who%20has%20played%20with%20HTML%20has%20used%20%22repeating%20backgrounds%22%2C%20and%20if%20you%20have%20ever%20used%20these%20you%20are%20probably%20aware%20of%20a%20major%20issue.%20If%20it%20needs%20to%20connect%20at%20the%20bottom%2C%20with%20a%20footer%2C%20and%20the%20content%20isn%27t%20exactly%20the%20right%20height%20it%27ll%20look%20messed%20up.%0D%0A%0D%0AFor%20example%2C%20if%20your%20background%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=Request%3A+%22Divi-height%22+in+CSS3&amp;link=http://www.BlaineSch.com/243/request-divi-height-in-css3/&amp;notes=Any%20person%20who%20has%20played%20with%20HTML%20has%20used%20%22repeating%20backgrounds%22%2C%20and%20if%20you%20have%20ever%20used%20these%20you%20are%20probably%20aware%20of%20a%20major%20issue.%20If%20it%20needs%20to%20connect%20at%20the%20bottom%2C%20with%20a%20footer%2C%20and%20the%20content%20isn%27t%20exactly%20the%20right%20height%20it%27ll%20look%20messed%20up.%0D%0A%0D%0AFor%20example%2C%20if%20your%20background%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=Request%3A+%22Divi-height%22+in+CSS3&amp;link=http://www.BlaineSch.com/243/request-divi-height-in-css3/&amp;notes=Any%20person%20who%20has%20played%20with%20HTML%20has%20used%20%22repeating%20backgrounds%22%2C%20and%20if%20you%20have%20ever%20used%20these%20you%20are%20probably%20aware%20of%20a%20major%20issue.%20If%20it%20needs%20to%20connect%20at%20the%20bottom%2C%20with%20a%20footer%2C%20and%20the%20content%20isn%27t%20exactly%20the%20right%20height%20it%27ll%20look%20messed%20up.%0D%0A%0D%0AFor%20example%2C%20if%20your%20background%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/243/request-divi-height-in-css3/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=Request%3A+%22Divi-height%22+in+CSS3&amp;link=http://www.BlaineSch.com/243/request-divi-height-in-css3/&amp;notes=Any%20person%20who%20has%20played%20with%20HTML%20has%20used%20%22repeating%20backgrounds%22%2C%20and%20if%20you%20have%20ever%20used%20these%20you%20are%20probably%20aware%20of%20a%20major%20issue.%20If%20it%20needs%20to%20connect%20at%20the%20bottom%2C%20with%20a%20footer%2C%20and%20the%20content%20isn%27t%20exactly%20the%20right%20height%20it%27ll%20look%20messed%20up.%0D%0A%0D%0AFor%20example%2C%20if%20your%20background%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=Request%3A+%22Divi-height%22+in+CSS3&amp;link=http://www.BlaineSch.com/243/request-divi-height-in-css3/&amp;notes=Any%20person%20who%20has%20played%20with%20HTML%20has%20used%20%22repeating%20backgrounds%22%2C%20and%20if%20you%20have%20ever%20used%20these%20you%20are%20probably%20aware%20of%20a%20major%20issue.%20If%20it%20needs%20to%20connect%20at%20the%20bottom%2C%20with%20a%20footer%2C%20and%20the%20content%20isn%27t%20exactly%20the%20right%20height%20it%27ll%20look%20messed%20up.%0D%0A%0D%0AFor%20example%2C%20if%20your%20background%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/243/request-divi-height-in-css3/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

