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

<channel>
	<title>Tigre Group –– Blog</title>
	<atom:link href="http://blog.tigregroup.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.tigregroup.com</link>
	<description>Updates, Tutorials and Information about Tigre Group</description>
	<lastBuildDate>Wed, 28 Apr 2010 01:06:28 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Clarendon JBBP Elementary School Auction</title>
		<link>http://blog.tigregroup.com/community-involvement/clarendon-jbbp-elementary-school-auction/</link>
		<comments>http://blog.tigregroup.com/community-involvement/clarendon-jbbp-elementary-school-auction/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 03:33:42 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Community Involvement]]></category>
		<category><![CDATA[auction]]></category>

		<guid isPermaLink="false">http://www.tigregroup.com/blog/?p=131</guid>
		<description><![CDATA[Tigre Group is proud to announce that we are participating in this year&#8217;s auction to benefit Clarendon JBBP Alternative Elementary School located in San Francisco, CA.
You can see their website here.
Here are the details:
Auction Alert! It&#8217;s Time for the JBBP Auction!!!
Saturday, March 13th, 2010
Scottish Rite Center on 19th and Sloat
5:30 pm to 11:00 pm
$35 in [...]]]></description>
			<content:encoded><![CDATA[<p>Tigre Group is proud to announce that we are participating in this year&#8217;s auction to benefit Clarendon JBBP Alternative Elementary School located in San Francisco, CA.</p>
<p>You can see their website <a href="http://parents.clarendonjbbp.org/">here</a>.</p>
<p>Here are the details:</p>
<p>Auction Alert! It&#8217;s Time for the JBBP Auction!!!</p>
<p>Saturday, March 13th, 2010<br />
Scottish Rite Center on 19th and Sloat<br />
5:30 pm to 11:00 pm<br />
$35 in advance or $40 at the door</p>
<p>This year&#8217;s SFUSD budget will be incredibly tight. If we want to continue to maintain the integrity of the JBBP Program, we will need to have funds available to offset the upcoming budget cuts. Our annual Tomodachi Auction is our best opportunity to raise these necessary funds.</p>
<p>Come to the Auction!!! It’s going to be INCREDIBLE!!! Click <a href="http://parents.clarendonjbbp.org/?q=node/23">here </a>to learn more about our auction.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tigregroup.com/community-involvement/clarendon-jbbp-elementary-school-auction/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Follow Tigre Group on Twitter</title>
		<link>http://blog.tigregroup.com/tigre-group-update/follow-tigre-group-on-twitter/</link>
		<comments>http://blog.tigregroup.com/tigre-group-update/follow-tigre-group-on-twitter/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 23:08:24 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Marketing]]></category>
		<category><![CDATA[Tigre Group Update]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.tigregroup.com/blog/?p=111</guid>
		<description><![CDATA[Check out our Twitter account for Tigre Group:
 // 
Feel free to follow us for all the updates here at Tigre Group.
]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Check out our <a href="https://twitter.com/tigregroup" target="_blank">Twitter</a> account for Tigre Group:</p>
<div align="center"><script src="http://widgets.twimg.com/j/2/widget.js"></script> <script type="text/javascript">// <![CDATA[
      new TWTR.Widget({   version: 2,   type: 'profile',   rpp: 4,   interval: 6000,   width: 500,   height: 300,   theme: {     shell: {       background: '#333333',       color: '#ffffff'     },     tweets: {       background: '#000000',       color: '#ffffff',       links: '#00b5f7'     }   },   features: {     scrollbar: true,     loop: false,     live: false,     hashtags: true,     timestamp: true,     avatars: false,     behavior: 'all'   } }).render().setUser('tigregroup').start();
// ]]&gt;</script></div>
<p style="text-align: left;">Feel free to follow us for all the updates here at Tigre Group.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tigregroup.com/tigre-group-update/follow-tigre-group-on-twitter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CTE is looking for 160 volunteers!</title>
		<link>http://blog.tigregroup.com/community-involvement/career-technical-education-cte-is-looking-for-160-volunteers/</link>
		<comments>http://blog.tigregroup.com/community-involvement/career-technical-education-cte-is-looking-for-160-volunteers/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 18:56:13 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Community Involvement]]></category>

		<guid isPermaLink="false">http://www.tigregroup.com/blog/?p=105</guid>
		<description><![CDATA[One of Tigre Group&#8217;s previous clients is looking for help in their core mission &#8211; helping teenagers in San Francisco prepare for summer internships.  Tigre Group is participating in mock interviews in the next two weekends.  We encourage anyone reading this who can to help to sign up!  Please read below.
*******************
JUST A [...]]]></description>
			<content:encoded><![CDATA[<p>One of Tigre Group&#8217;s previous clients is looking for help in their core mission &#8211; helping teenagers in San Francisco prepare for summer internships.  Tigre Group is participating in mock interviews in the next two weekends.  We encourage anyone reading this who can to help to sign up!  Please read below.</p>
<p>*******************</p>
<p>JUST A GENTLE REMINDER TO SIGN UP FOR OUR MOCK INTERVIEWS. WE STILL NEED VOLUNTEERS, SO PLEASE SPREAD THE WORD TO ALL YOUR COLLEAGUES. FOR MORE INFORMATION AND DETAILS, SEE BELOW!<br />
________________________________<br />
Dear Community Partners,</p>
<p>I am reaching out and asking for your help, please volunteer one or two shifts, 9:00 am &#8211; 12:30 pm, or 12:00 pm &#8211; 3:30 pm on Saturday, February 27, 2010 or Saturday, March 6, 2010.</p>
<p>Career Technical Education (CTE) is looking for160 volunteers (80 per date, 40 per shift) to perform mock interviews with San Francisco Unified School District (SFUSD) students in preparation for their summer internships. Students are placed in a range of professional settings, giving them a work-based learning experience and 21st Century learning skills.</p>
<p>Our 11th grade academy/pathway students are working very hard, (as are their teachers) preparing for their interviews with their potential internship providers. One way CTE support its students, is to provide a safe and encouraging environment, where students receive immediate feedback on their interview skills, (written and oral), and later an opportunity to fine-tune their skills in any vulnerable areas. Your interaction and feedback is crucial to the student&#8217;s success now and later in life.</p>
<p>A complete guide and rubric rating system will be provided to all volunteers.</p>
<p>If you are available to volunteer or know anyone that is passionate about young people succeeding, if you are involved in a HR related field, or your company wants to give back to its community, this is a great and personally fulfilling opportunity.</p>
<p>Should you have further questions please contact me, Lynn Garcia, or register by clicking on the link directly below?</p>
<p>*       SFUSD Mock Interview Opportunity <a href="http://www.surveymonkey.com/s/Z6DYT2B">http://www.surveymonkey.com/s/Z6DYT2B</a></p>
<p>Interviews will be held at:<br />
APD Cabrillo (formerly Cabrillo Elementary)<br />
750 25th Ave. (between Balboa and Cabrillo)<br />
San Francisco, CA 94121<br />
Parking on site<br />
Thank you in advance and have a great weekend,</p>
<p>Lynn Garcia<br />
Parent &#038; Community Outreach Coordinator<br />
Career Technical Education<br />
21st Century Learning Partnerships<br />
San Francisco Unified School District<br />
750 25th Ave., 2nd Floor<br />
San Francisco, CA 94121<br />
(415) 379-7769 (office)<br />
(415) 750-8687 (fax)<br />
GarciaL@sfusd.edu<br />
<a href="http://www.sfusdcte.org">www.sfusdcte.org</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tigregroup.com/community-involvement/career-technical-education-cte-is-looking-for-160-volunteers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Website Grader Scored Tigre Group at 88!</title>
		<link>http://blog.tigregroup.com/seo/website-grader-scored-tigre-group-at-92/</link>
		<comments>http://blog.tigregroup.com/seo/website-grader-scored-tigre-group-at-92/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 00:40:31 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Marketing]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Tigre Group Update]]></category>
		<category><![CDATA[Hub Spot]]></category>
		<category><![CDATA[search engine optimization]]></category>
		<category><![CDATA[Website Grader]]></category>

		<guid isPermaLink="false">http://www.tigregroup.com/blog/?p=39</guid>
		<description><![CDATA[We are happy to announce that our own website, www.tigregroup.com, is now just 2 points shy of the 90 points threshold on HubSpot.com&#8217;s www.websitegrader.com.
As of 02/24/2010, we have a grade of 88/100.  This is exciting because we have always adhered to building our website to be standards complaint in terms of code and structure. [...]]]></description>
			<content:encoded><![CDATA[<p>We are happy to announce that our own website, <a href="http://www.tigregroup.com">www.tigregroup.com</a>, is now just 2 points shy of the 90 points threshold on HubSpot.com&#8217;s <a href="http://www.websitegrader.com">www.websitegrader.com</a>.</p>
<p>As of 02/24/2010, we have a grade of 88/100.  This is exciting because we have always adhered to building our website to be standards complaint in terms of code and structure.  Now that we practically have an &#8220;A&#8221; with our own website in terms of search engine optimization (SEO), it makes the case that Tigre Group can consult clients on their websites with authority.</p>
<p style="text-align: center;"><a href="http://websitegrader.com/site/www.tigregroup.com"><br />
<img class="aligncenter" src="http://badge.websitegrader.com/site/www.tigregroup.com" alt="The Website Grade for www.tigregroup.com!" /><br />
</a></p>
<p>WebsiteGrader explains how they arrived at our score:</p>
<blockquote><p>The website www.tigregroup.com ranks 257,836 of the 2,117,003 websites that have been ranked so far. A website grade of 88/100 for www.tigregroup.com means that means that of the millions of websites that have previously been evaluated, our algorithm has calculated that this site scores higher than 88% of them in terms of its marketing effectiveness. The algorithm uses a proprietary blend of over 50 different variables, including search engine data, website structure, approximate traffic, site performance, and others.</p></blockquote>
<p>If you would like a free consultation on how Tigre Group can improve your websites rank, please let us know.  We provide many levels of SEO services for our clients.  We prefer to build new websites correctly the first time, but are also available to improve upon your existing site.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tigregroup.com/seo/website-grader-scored-tigre-group-at-92/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tigre Group&#8217;s First Music/Band Website</title>
		<link>http://blog.tigregroup.com/portfolio/tigre-groups-first-musicband-website/</link>
		<comments>http://blog.tigregroup.com/portfolio/tigre-groups-first-musicband-website/#comments</comments>
		<pubDate>Tue, 23 Feb 2010 20:58:00 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[band]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[music]]></category>

		<guid isPermaLink="false">http://www.tigregroup.com/blog/?p=100</guid>
		<description><![CDATA[Tigre Group is happy to announce that our first music/band website has been completed!
ZackNewmanBand.com was built using MODx CMS.  This gives Zack the ability to change his content, and in his case this includes mp3 files and music videos, as often as he wishes.  It&#8217;s a perfect framework for someone who has new [...]]]></description>
			<content:encoded><![CDATA[<p>Tigre Group is happy to announce that our first music/band website has been completed!</p>
<p><a href="http://zacknewmanband.com">ZackNewmanBand.com</a> was built using <a href="http://modxcms.com">MODx </a>CMS.  This gives Zack the ability to change his content, and in his case this includes mp3 files and music videos, as often as he wishes.  It&#8217;s a perfect framework for someone who has new show listings and needs to make updates often.  We also plugged a Twitter feed and Zazzle store into the site for him to use as his blog and shopping area.  For his photo section, he can upload and edit as many photos as he wants into the photo gallery tool.</p>
<p>Take a look at the new <a href="http://zacknewmanband.com">ZackNewmanBand.com</a> website.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tigregroup.com/portfolio/tigre-groups-first-musicband-website/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating an SSL Redirect filter in symfony 1.3/1.4</title>
		<link>http://blog.tigregroup.com/programming/creating-an-ssl-redirect-filter-in-symfony/</link>
		<comments>http://blog.tigregroup.com/programming/creating-an-ssl-redirect-filter-in-symfony/#comments</comments>
		<pubDate>Sat, 06 Feb 2010 01:04:44 +0000</pubDate>
		<dc:creator>casey</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[symfony]]></category>
		<category><![CDATA[filter]]></category>
		<category><![CDATA[https]]></category>
		<category><![CDATA[ssl]]></category>

		<guid isPermaLink="false">http://www.tigregroup.com/blog/?p=55</guid>
		<description><![CDATA[Learn how to create an SSL redirect filter using symfony 1.3 or 1.4.  The SSL redirect filter will convert (via a redirect) http requests to https, and optionally, https to http.  The filter can be controlled via symfony config files on the module and action level.]]></description>
			<content:encoded><![CDATA[<p>Update: 4/27 the filter now works with forwarded actions!</p>
<p>SSL connections are a big part of web development with all of the eCommerce out there on the web.  It is essential for any website that deals in private information including banking data, personal addresses, emails, and most importantly credit card data to have an efficient and flexible system for ensuring requests are carried out over SSL.  One of the projects that we are currently working on requires purchases to be preformed on the website through a local shopping cart.  The project is being developed in symfony and has been a test bed for a few new symfony plugins I plan to release to the public soon.</p>
<p>One of the key systems that had to be developed for this website was an SSL redirect plugin that would look up in a config file, which modules and/or actions needed to be accessed via an https connection.  Furthermore, I wanted the system to be able to be used in &#8220;strict&#8221; mode, where it would redirect non-secure modules accessed via https, back to http.  It was also a requirement that this system execute quickly and flawlessly, as it would be invoked during the filter phase of every request.</p>
<p>There were a couple solutions available, but nothing quite fit.  The plugin developed by Fabien was made for lower versions of symfony, and the other solutions I found contained way too much looping.  I&#8217;m sure the plugin made for symfony 1.1 by Fabien would probably work, but I decided I should write my own.  Plus, now there will be an SSL plugin for later versions of symfony.</p>
<p>The way the plugin works is pretty straight forward.  It looks for a declaration in the symfony application config.  The plugin will attempt to see if there are modules defined in the configuration, and if the defined module has specific actions that should be secured, or if all actions should be secured.  Basically, if the plugin finds a module in the configuration, but if it doesn&#8217;t find specific secure actions configured for that module, it assumes all of the module&#8217;s actions should be secure.  If there are specific secure actions defined in the configuration for the module only the defined actions will be considered secure and subsequently redirected to https.  There is also the strict option, which can be set to true to make module/actions that aren&#8217;t configured to be secure to be redirected to http.  </p>
<p>Here is a sample configuration in an app.yml file:</p>
<div class="thinner">

<div class="wp_syntax"><div class="code"><pre class="yml" style="font-family:monospace;">  tg_ssl_redirect:
    #true if insecure pages accesed with https should be rerouted to http
    strict:                   true
    #modules and actions that should be https
    secure:
      #secure the index, confirm, and payment actions of the checkout module
      checkout:
        actions:              [index,confirm,payment]
      #secure all of the actions in the profile module
      profile:                ~</pre></div></div>

</div>
<p>Using the above config file, all actions in the profile module are considered to be secure, along with the index, confirm, and payment actions of the checkout module.  Also, since strict is true, any other actions accessed with https will be redirected to http.</p>
<p>To enable the filter, you will need to add it to your filters.yml file, like so:</p>
<div class="thinner">

<div class="wp_syntax"><div class="code"><pre class="ini" style="font-family:monospace;">rendering: ~
security:
  class:          sfGuardBasicSecurityFilter
&nbsp;
# insert your own filters here
ssl:
  class:          tgSslRedirectFilter
cache:     ~
common:
  class: sfCommonFilter
execution: ~</pre></div></div>

</div>
<p>I hope to package this as a symfony plugin soon.  I just am too busy at the moment to get all of the tests written and get the markdown done.  This blog post was a good start though, and you can copy the source code below into a file, name it tgSslRedirectFilter.class.php and enable it per the configuration above.</p>
<div class="thinner">

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #666666; font-style: italic;">//Copyright (c) 2010 Casey Cambra</span>
<span style="color: #666666; font-style: italic;">//</span>
<span style="color: #666666; font-style: italic;">// Permission is hereby granted, free of charge, to any person</span>
<span style="color: #666666; font-style: italic;">// obtaining a copy of this software and associated documentation</span>
<span style="color: #666666; font-style: italic;">// files (the &quot;Software&quot;), to deal in the Software without</span>
<span style="color: #666666; font-style: italic;">// restriction, including without limitation the rights to use,</span>
<span style="color: #666666; font-style: italic;">// copy, modify, merge, publish, distribute, sublicense, and/or sell</span>
<span style="color: #666666; font-style: italic;">// copies of the Software, and to permit persons to whom the</span>
<span style="color: #666666; font-style: italic;">// Software is furnished to do so, subject to the following</span>
<span style="color: #666666; font-style: italic;">// conditions:</span>
<span style="color: #666666; font-style: italic;">//</span>
<span style="color: #666666; font-style: italic;">// The above copyright notice and this permission notice shall be</span>
<span style="color: #666666; font-style: italic;">// included in all copies or substantial portions of the Software.</span>
<span style="color: #666666; font-style: italic;">//</span>
<span style="color: #666666; font-style: italic;">// THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND,</span>
<span style="color: #666666; font-style: italic;">// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES</span>
<span style="color: #666666; font-style: italic;">// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span>
<span style="color: #666666; font-style: italic;">// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT</span>
<span style="color: #666666; font-style: italic;">// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,</span>
<span style="color: #666666; font-style: italic;">// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING</span>
<span style="color: #666666; font-style: italic;">// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR</span>
<span style="color: #666666; font-style: italic;">// OTHER DEALINGS IN THE SOFTWARE.</span>
&nbsp;
&nbsp;
<span style="color: #009933; font-style: italic;">/**
 * Checks the application configuration to determine which modules/actions are supposed
 * to be secure and ensures they are using https.  This filter will also redirect https
 * requests to non-secured pages back to http if the strict option is set in the configuration
 * file.
 *
 * @package tgSslRedirectPlugin
 * @author Casey Cambra &lt;casey@tigregroup.com&gt;
 * @version 1.1
 */</span>
<span style="color: #000000; font-weight: bold;">class</span> tgSslRedirectFilter <span style="color: #000000; font-weight: bold;">extends</span> sfFilter<span style="color: #009900;">&#123;</span>
&nbsp;
    <span style="color: #009933; font-style: italic;">/**
     * executes the filter.  This filter will determine if a
     * request should be http or https and will redirect as such
     * 
     * @param sfFilterChain $filterChain the current symfony filter chain
     * @return boolean redirect status 
     */</span>
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> execute<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$filterChain</span> <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        <span style="color: #666666; font-style: italic;">//only run once per request</span>
        <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">isFirstCall</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
            <span style="color: #000088;">$request</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getContext</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getRequest</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #666666; font-style: italic;">//only filter is the request is get or head</span>
            <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$request</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">isMethod</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'get'</span> <span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> <span style="color: #000088;">$request</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">isMethod</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'head'</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
                <span style="color: #000088;">$controller</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getContext</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getController</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #000088;">$stackEntry</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$controller</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getActionStack</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getLastEntry</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #000088;">$module</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$stackEntry</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getModuleName</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #000088;">$action</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$stackEntry</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getActionName</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #666666; font-style: italic;">//get the module settings</span>
                <span style="color: #000088;">$moduleSettings</span> <span style="color: #339933;">=</span> sfConfig<span style="color: #339933;">::</span><span style="color: #004000;">get</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'app_tg_ssl_redirect_secure'</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">false</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #666666; font-style: italic;">//see if strict settings are on (non secure modules must be http)</span>
                <span style="color: #000088;">$strict</span> <span style="color: #339933;">=</span> sfConfig<span style="color: #339933;">::</span><span style="color: #004000;">get</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'app_tg_ssl_redirect_strict'</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #666666; font-style: italic;">//if there are settings for this module</span>
                <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$moduleSettings</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$module</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
                    <span style="color: #666666; font-style: italic;">//$strict = ( isset( $moduleSettings[ 'strict' ] ) &amp;&amp; $moduleSettings[ 'strict' ] ) ? true:false;</span>
                    <span style="color: #666666; font-style: italic;">//there are actions defined, check if this actions is secure</span>
                    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$moduleSettings</span><span style="color: #009900;">&#91;</span> <span style="color: #000088;">$module</span> <span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span> <span style="color: #0000ff;">'actions'</span> <span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
                        <span style="color: #666666; font-style: italic;">//this is a secure action</span>
                        <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> <span style="color: #339933;">!</span><span style="color: #000088;">$request</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">isSecure</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span>
                            <span style="color: #990000;">is_array</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$moduleSettings</span><span style="color: #009900;">&#91;</span> <span style="color: #000088;">$module</span> <span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span> <span style="color: #0000ff;">'actions'</span> <span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span>
                            <span style="color: #990000;">in_array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$action</span><span style="color: #339933;">,</span> <span style="color: #000088;">$moduleSettings</span><span style="color: #009900;">&#91;</span> <span style="color: #000088;">$module</span> <span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span> <span style="color: #0000ff;">'actions'</span> <span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>
                        <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
                            <span style="color: #666666; font-style: italic;">//we need to redirect to a secure url</span>
                            <span style="color: #b1b100;">return</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">redirectSecure</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$request</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                        <span style="color: #009900;">&#125;</span><span style="color: #666666; font-style: italic;">//else: the request should be secure, and is. No more to be done.</span>
                    <span style="color: #666666; font-style: italic;">//module was defined, but no actions were</span>
                    <span style="color: #009900;">&#125;</span><span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> <span style="color: #339933;">!</span><span style="color: #000088;">$request</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">isSecure</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
                        <span style="color: #666666; font-style: italic;">//every action in this module is secure, redirect</span>
                        <span style="color: #b1b100;">return</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">redirectSecure</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$request</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                    <span style="color: #009900;">&#125;</span>
                <span style="color: #009900;">&#125;</span><span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$request</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">isSecure</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$strict</span> <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
                    <span style="color: #666666; font-style: italic;">//redirect back to http, strict is set</span>
                    <span style="color: #b1b100;">return</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">redirectUnsecure</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$request</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #009900;">&#125;</span>
            <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #666666; font-style: italic;">//no redirect necessary, continue the filter chain</span>
        <span style="color: #000088;">$filterChain</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">execute</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #009933; font-style: italic;">/**
     * redirects an http request to https
     * 
     * @param sfWebRequest $request
     * @return boolean
     */</span>
    protected <span style="color: #000000; font-weight: bold;">function</span> redirectSecure<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$request</span> <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        <span style="color: #666666; font-style: italic;">//replace http w/ https</span>
        <span style="color: #000088;">$url</span> <span style="color: #339933;">=</span> <span style="color: #990000;">str_replace</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'http'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'https'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$request</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getUri</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getContext</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getController</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">redirect</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$url</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">301</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #009933; font-style: italic;">/**
     * redirects an https request to http
     *
     * @param sfWebRequest $request
     * @return boolean
     */</span>
    protected <span style="color: #000000; font-weight: bold;">function</span> redirectUnsecure<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$request</span> <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        <span style="color: #666666; font-style: italic;">//replace https w/ http</span>
        <span style="color: #000088;">$url</span> <span style="color: #339933;">=</span> <span style="color: #990000;">str_replace</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'https'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'http'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$request</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getUri</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getContext</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getController</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">redirect</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$url</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">301</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.tigregroup.com/programming/creating-an-ssl-redirect-filter-in-symfony/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Check out our new ad on Sortfolio.com</title>
		<link>http://blog.tigregroup.com/tigre-group-update/check-out-our-new-ad-on-sortfolio-com/</link>
		<comments>http://blog.tigregroup.com/tigre-group-update/check-out-our-new-ad-on-sortfolio-com/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 01:08:14 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Marketing]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Tigre Group Update]]></category>
		<category><![CDATA[37 Signals]]></category>
		<category><![CDATA[Sortfolio]]></category>
		<category><![CDATA[website designers]]></category>

		<guid isPermaLink="false">http://www.tigregroup.com/blog/?p=33</guid>
		<description><![CDATA[The portfolio site for website designers made by 37 Signals that used to be Haystack.com last year, is now known as Sortfolio.com.
We are happy to showcase our completion of the new XKT Engineering website using our ad here.
Sortfolio is a great way to look for a website designer and we here at Tigre Group are [...]]]></description>
			<content:encoded><![CDATA[<p>The portfolio site for website designers made by <a href="http://37signals.com">37 Signals</a> that used to be Haystack.com last year, is now known as <a href="http://sortfolio.com">Sortfolio.com</a>.</p>
<p>We are happy to showcase our completion of the new <a href="http://www.xktengineering.com">XKT Engineering</a> website using our ad <a href="http://sortfolio.com/company/5565-tigre-group">here</a>.</p>
<p>Sortfolio is a great way to look for a website designer and we here at Tigre Group are happy to finally be listing our work on this site.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tigregroup.com/tigre-group-update/check-out-our-new-ad-on-sortfolio-com/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New changes to Tigre Group&#8217;s website today</title>
		<link>http://blog.tigregroup.com/tigre-group-update/new-changes-to-tigre-groups-website-today/</link>
		<comments>http://blog.tigregroup.com/tigre-group-update/new-changes-to-tigre-groups-website-today/#comments</comments>
		<pubDate>Wed, 27 Jan 2010 04:53:18 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Tigre Group Update]]></category>
		<category><![CDATA[flickr]]></category>
		<category><![CDATA[pc]]></category>
		<category><![CDATA[photos]]></category>
		<category><![CDATA[servers]]></category>
		<category><![CDATA[video cameras]]></category>

		<guid isPermaLink="false">http://www.tigregroup.com/blog/?p=27</guid>
		<description><![CDATA[Today we integrated the tagging in our portfolio entries to the specific services we provided by category.  Now you can click on: 

Graphic Design
Websites
SEO Marketing
Web Applications
Logo Design
Photography

These are now blue links at the bottom of our header that take you directly to the portfolio items that have this tag attribute.
We also added a Photo [...]]]></description>
			<content:encoded><![CDATA[<p>Today we integrated the tagging in our portfolio entries to the specific services we provided by category.  Now you can click on: </p>
<ul>
<li><a href="http://www.tigregroup.com/services/graphic-design">Graphic Design</a></li>
<li><a href="http://www.tigregroup.com/services/websites">Websites</a></li>
<li><a href="http://www.tigregroup.com/services/seo-marketing">SEO Marketing</a></li>
<li><a href="http://www.tigregroup.com/services/web-applications">Web Applications</a></li>
<li><a href="http://www.tigregroup.com/services/logo-design">Logo Design</a></li>
<li><a href="http://www.tigregroup.com/services/photography">Photography</a></li>
</ul>
<p>These are now blue links at the bottom of our header that take you directly to the portfolio items that have this tag attribute.</p>
<p>We also added a Photo link which will take you to our <a href="http://www.flickr.com/photos/tigregroup">flickr</a> account.  This addition is an opportunity to show our photography skills in relation to the services provided to our clients.  For clients we have taken photos, we have added this images and tags.  This helps get our clients more website traffic from the flickr community and image searches.  </p>
<p>On the home page we threw in &#8220;the kitchen sink&#8221; in our list of service offerings.  We decided to mention the hands-on abilities we have in relation to computers, video cameras, and servers.  Need video camera installation or a custom PC built?  Let us know!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tigregroup.com/tigre-group-update/new-changes-to-tigre-groups-website-today/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Updates to TigreGroup.com</title>
		<link>http://blog.tigregroup.com/tigre-group-update/updates-to-tigregroup-com/</link>
		<comments>http://blog.tigregroup.com/tigre-group-update/updates-to-tigregroup-com/#comments</comments>
		<pubDate>Thu, 19 Nov 2009 03:19:10 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Tigre Group Update]]></category>
		<category><![CDATA[background pattern]]></category>
		<category><![CDATA[CMYK]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Illustrator]]></category>
		<category><![CDATA[minimalist design]]></category>
		<category><![CDATA[RSS feed]]></category>
		<category><![CDATA[vector]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://www.tigregroup.com/blog/?p=24</guid>
		<description><![CDATA[Admittedly, it&#8217;s been a while since my last blog entry.  In addition to working on a number of challenging clients, we&#8217;ve also been multitasking by updating our own Tigre Group website.  So if you are visiting for the first time, you may just think this is a nicely designed website.  Thank you, [...]]]></description>
			<content:encoded><![CDATA[<p>Admittedly, it&#8217;s been a while since my last blog entry.  In addition to working on a number of challenging clients, we&#8217;ve also been multitasking by updating our own Tigre Group website.  So if you are visiting for the first time, you may just think this is a nicely designed website.  Thank you, we like to think so.  But like most things, this is a continual work in progress. </p>
<p>One notable improvement over our site from a few weeks ago is the addition of our background pattern.  This is a custom pattern Casey made using Illustrator.  The great thing about this pattern (in addition to being beautiful and awesome) is that it was made in vector form, so it can be scaled both larger and smaller, without losing any quality.  We wanted a classic decorative look, while being subtle, so we kept it muted with black and gray tones.  This goes well with our mix of the retro-CMYK Tigre Group Logo, which seems to pop out from the header.  This background also works well with the rest of the site&#8217;s minimalist design.</p>
<p>For our blogs we added <a href="http://www.tigregroup.com/blog/?feed=rss">RSS feeds</a> and <a href="http://addthis.com/">AddThis</a> social bookmarking buttons.  These tools help our readers follow, bookmark, and share any information they find valuable.  We hope this applies to you going forward (wink wink).</p>
<p>In the footer of each page are <a href="http://www.w3.org/">W3.org</a> validation buttons/links.  By clicking these buttons, you can confirm that we here at Tigre Group adhere to standards with our CSS and XHTML.</p>
<p>I&#8217;ve also spent some time time trying to build out our <a href="http://www.tigregroup.com/links">Links </a> page.  Here we hope to showcase other websites we find useful, inspiring, and worthy of your time and energy. </p>
<p>Until next time, all the best!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tigregroup.com/tigre-group-update/updates-to-tigregroup-com/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google by Industry on Twitter</title>
		<link>http://blog.tigregroup.com/search-engines/google-by-industry-on-twitter/</link>
		<comments>http://blog.tigregroup.com/search-engines/google-by-industry-on-twitter/#comments</comments>
		<pubDate>Wed, 23 Sep 2009 06:37:49 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Search Engines]]></category>
		<category><![CDATA[AdSense]]></category>
		<category><![CDATA[Auto]]></category>
		<category><![CDATA[Entertainment]]></category>
		<category><![CDATA[Financial Services]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Media]]></category>
		<category><![CDATA[Retail]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Travel]]></category>
		<category><![CDATA[Tweet]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.tigregroup.com/blog/?p=19</guid>
		<description><![CDATA[I have to admit this is a cool development by Google.  The inciting intro reads: &#8220;Did you know that searches for &#8220;coupons&#8221; are up by as much as 95% year-over-year?&#8221;  No I did not.  But then again it doesn&#8217;t surprise me in this recession/depression.  Regardless, it&#8217;s nice to have knowledge shared [...]]]></description>
			<content:encoded><![CDATA[<p>I have to admit this is a cool development by Google.  The inciting intro reads: &#8220;Did you know that searches for &#8220;coupons&#8221; are up by as much as 95% year-over-year?&#8221;  No I did not.  But then again it doesn&#8217;t surprise me in this recession/depression.  Regardless, it&#8217;s nice to have knowledge shared in digestible chunks through Twitter by the masters of data: the Google AdSense crew.</p>
<p>They have created internal teams to cover industry trends and Tweet on them.  </p>
<p>The break down for industries covered are:</p>
<ul>
<li>Auto</li>
<li>Media and Entertainment</li>
<li>Financial Services</li>
<li>Retail</li>
<li>Tech</li>
<li>Travel</li>
</ul>
<p>Follow this link to sign up for your relevant industry: <a href="http://adwords.blogspot.com/2009/09/stay-connected-with-your-google.html">Google Tweets</a>.</p>
<p>Did they leave an industry out?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tigregroup.com/search-engines/google-by-industry-on-twitter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

