<?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>Taurean Wooley</title>
	<atom:link href="http://taureanwooley.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://taureanwooley.com</link>
	<description>Portfolio Website</description>
	<lastBuildDate>Wed, 20 Mar 2013 02:54:18 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
		<item>
		<title>Vb.Net UI Design</title>
		<link>http://taureanwooley.com/vb-net-ui-design/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=vb-net-ui-design</link>
		<comments>http://taureanwooley.com/vb-net-ui-design/#comments</comments>
		<pubDate>Wed, 20 Mar 2013 02:54:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://taureanwooley.com/?p=419</guid>
		<description><![CDATA[Here&#8217;s a quick layout that I did for a vb.net system that I was working on. I didn&#8217;t go the C# way although I&#8217;m not regretting it because &#8230; well because coding with curly brackets is easier than coding like &#8230; <a href="http://taureanwooley.com/vb-net-ui-design/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a quick layout that I did for a vb.net system that I was working on.  I didn&#8217;t go the C# way although I&#8217;m not regretting it because &#8230; well because coding with curly brackets is easier than coding like in perl or bash with end function</p>
<p>There&#8217;s also some issues with the display, but overall the functionality is there, and it&#8217;s been a pretty fun project in comparison to what I was used to.</p>
]]></content:encoded>
			<wfw:commentRss>http://taureanwooley.com/vb-net-ui-design/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress Customization</title>
		<link>http://taureanwooley.com/wordpress-customization/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=wordpress-customization</link>
		<comments>http://taureanwooley.com/wordpress-customization/#comments</comments>
		<pubDate>Sun, 10 Feb 2013 06:21:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://taureanwooley.com/?p=410</guid>
		<description><![CDATA[Working on another wordpress website and I figured it would be great to make a blog pertaining to some of the most needed functions for creating some great customization in wordpress. The very first thing that needs to be realized &#8230; <a href="http://taureanwooley.com/wordpress-customization/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Working on another wordpress website and I figured it would be great to make a blog pertaining to some of the most needed functions for creating some great customization in wordpress.</p>
<p>The very first thing that needs to be realized is grabbing information from the database.  To do this with posts and custom post types is with the WP_Query object.  Just create a new WP_Query object with the following information and you&#8217;ll be golden.</p>
<p>post_type : the type of posts you&#8217;ll be querying for<br />
cat : category of the post type you&#8217;re looking for<br />
post_per_page : amount of posts to be displaying on the given page<br />
tag : tag that you will be searching for</p>
<p>There are many other options that you can choose from but these are the basics and will usually allow you to customize the page to your liking.  You can also search for the post ID if you&#8217;re doing the customization for a single post.</p>
<p>The next thing is getting the images for the post.  One thing in mind is what image are you trying to link to this content.  There is a plugin called meta-box that is great for adding images linked to particular posts, I suggest you take a look at it, if you&#8217;re trying to organize or add custom content to a post.</p>
<p>To get the featured content image just do a simple :<br />
<code>get_post_thumbnail(post ID, size)</code><br />
call and you&#8217;ll have the image in your html in no time.</p>
<p>The second, grabbing the custom meta-box information is slightly more challenging.  For this you&#8217;ll use <code>wp_get_attachment_image_src(rwmb_meta('YOUR_PREFIX_titleoffield'), 'full');</code><br />
This makes it so that you can put the src image url into an img tag.</p>
<p>Next you might want to place some sort of jquery into your code.  It would be simple if wordpress didn&#8217;t have the ability to add millions upon millions of custom plugins into your code.  If you don&#8217;t know jquery comes with a no conflict setting that is enabled in wordpress.  To work around and use the no conflict jquery code, you&#8217;ll need to use the following structure:<br />
<code><br />
var jq=jQuery.noConflict();<br />
(function ( $ ) {<br />
     //your code<br />
}( jQuery ));<br />
</code><br />
You can use the jq in place of the $ if you&#8217;re creating custom jquery code outside of the (function()) call.</p>
<p>All of this will get you up and running with a nice clean wordpress theme, customized with your own html and jquery code.</p>
]]></content:encoded>
			<wfw:commentRss>http://taureanwooley.com/wordpress-customization/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Resvibrant.com</title>
		<link>http://taureanwooley.com/resvibrant-com/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=resvibrant-com</link>
		<comments>http://taureanwooley.com/resvibrant-com/#comments</comments>
		<pubDate>Sat, 02 Feb 2013 00:14:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[google fonts]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[lead generation]]></category>
		<category><![CDATA[optimizely]]></category>
		<category><![CDATA[resvibrant]]></category>
		<category><![CDATA[resvibrant argentina]]></category>

		<guid isPermaLink="false">http://taureanwooley.com/?p=120</guid>
		<description><![CDATA[This was a try at a new layout for a lead generation website based on skin rejuvenating products. There was quite a bit of thought put into this one as it needed to be optimized for all browsers. Since there &#8230; <a href="http://taureanwooley.com/resvibrant-com/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This was a try at a new layout for a lead generation website based on skin rejuvenating products. There was quite a bit of thought put into this one as it needed to be optimized for all browsers. Since there was a large amount of graphic intensity, we made sure to use google fonts for the headers to keep optimization at an easier pace.</p>
]]></content:encoded>
			<wfw:commentRss>http://taureanwooley.com/resvibrant-com/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP Template Engines and Web Templates</title>
		<link>http://taureanwooley.com/php-template-engines-and-web-templates/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=php-template-engines-and-web-templates</link>
		<comments>http://taureanwooley.com/php-template-engines-and-web-templates/#comments</comments>
		<pubDate>Tue, 08 Jan 2013 00:03:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Tech Blog]]></category>

		<guid isPermaLink="false">http://taureanwooley.com/?p=398</guid>
		<description><![CDATA[Here is a quick rundown of template systems that I have used in my several years of web development. Most can get the job done easily, but there a few that cater towards pure html which is great for those &#8230; <a href="http://taureanwooley.com/php-template-engines-and-web-templates/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Here is a quick rundown of template systems that I have used in my several years of web development.  Most can get the job done easily, but there a few that cater towards pure html which is great for those starting out or working with complicated coding structures.</p>
<h2>Perl Template Tool Kit</h2>
<p>Although it speaks perl, this was the first template engine that I was shown that really caught my eye.  This template engine is used with a pure perl back-end.  Great for structured data and its use of for and while loops is easy to pick up.  </p>
<p>The downside is working with data-structures that might have null variables.  Although it receives perl variables and data-structures, it relies on its own translator to distinguish comparisons.</p>
<p>It&#8217;s easy enough to pick up, but is a headache going back and forth between the coding syntax.  I&#8217;m hoping in later versions it will update this small fault, but from my understanding it uses this to distinguish between pure perl code and the template engine code.</p>
<h2>Mustache</h2>
<p>This great template system will allow you to use your template files with various coding languages.  This includes perl, php, and even javascript not to mention c++, java, and c#.  The fact that it tries diligently to keep much of its structure in tact based on its own syntax, makes it great for code separation.  You cannot get confused between mustache code and the coding back-end it supports.</p>
<h2>Symfony 2.0 Twig Template (PHP)</h2>
<p>This is probably the most powerful template engine I have seen thus far.  Not only does it have its own code base, but it also allows for inclusion of other twig files as well as inclusion of subroutines called vicariously through its code base so you can literally place entire sections of code into your template within one line.</p>
<p>The greatest aspect of this is passing variables created for the template through subroutines included and getting a picture perfect output.  Not only that, but the symfony framework comes bundled (no pun intended) with the ability to minify included css and javascript code.  It takes very little to get this up and running, just the yahoo user interface class based in java.</p>
<p>It&#8217;s syntax is closely related to the perl template tool kit with the ability to call built-in or self created formatting subroutines in a similar fashion.</p>
<h2>Smarty</h2>
<p>Smarty is one of the oldest template engines out there.  It is robust with features and works strictly with the php coding language.  It is not as strict with coding as some of the other template systems as it allows for included php code, this is somewhat great in a sense, but can be cumbersome when done incorrectly.</p>
<p>The major downfall is that since this is an included PHP class, you will need to assign variables to the smarty object before they are available in the engine.  It keeps things secure, but at the same time, hinders in the separation of code department.</p>
<p>That will do for my list of template engines that I feel are great when developing a project with several coding levels in play and ultimately the one that I would choose would be Symfony 2.0 template engine, based purely on the easy of use and fast development times.</p>
]]></content:encoded>
			<wfw:commentRss>http://taureanwooley.com/php-template-engines-and-web-templates/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adding a preloader to Images</title>
		<link>http://taureanwooley.com/adding-a-preloader-to-images/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=adding-a-preloader-to-images</link>
		<comments>http://taureanwooley.com/adding-a-preloader-to-images/#comments</comments>
		<pubDate>Sun, 11 Nov 2012 23:00:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://taureanwooley.com/?p=389</guid>
		<description><![CDATA[Most websites have issues with load times, especially ones dealing with large quantities of media. Easiest solution for this? &#8230; add a preloader. jquery has an easy solution to preloading content. Using the .load() function, you can make sure that &#8230; <a href="http://taureanwooley.com/adding-a-preloader-to-images/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Most websites have issues with load times, especially ones dealing with large quantities of media.  Easiest solution for this? &#8230; add a preloader.</p>
<p>jquery has an easy solution to preloading content.  Using the .load() function, you can make sure that images get preloaded before displaying them on the page.</p>
<p>Below is a coding examples that works great in getting your content to display, when it is ready.</p>
<pre lang="css" lines="1">
.imgHolder span{
   background: url(images/preloader.gif);
   width: 100px;
   height: 100px;
   overflow: hidden;
}
.imgHolder img{
   display: none;
   width: 100%;
}
</pre>
<pre lang="html" lines="1">
<div class="imgHolder">
   <span><img src="someimages.jpg"/></span>
   <span><img src="someotherimage.jpg"/></span>
   <span><img src="someimportantimage.jpg"/></span>
</div>
</pre>
<pre lang="javascript" lines=1>
$('imgHolder img').each(function(){
    $(this).load(function(response, status, xhr){
      if(status != 'error'){
         $(this).css('display', 'block');
      } else {
         $(this).html('unable to load image');
      }
    })
})
</pre>
<p>You can add animations to the jquery display block and opacity if you want a more fluid transition, but this will work with most browsers, and display content once it&#8217;s available.</p>
<p>There is also a pure javascript solution that is posted below.  Remember you will need to traverse the entire document for images in an elementId to create a preloader for each item.</p>
<pre lang="javascript" lines="1">
function preloader() 
 {
     // counter
     var i = 0;
 
     // create object
     imageObj = new Image();
 
     // set image list
     var imgHolder = document.getElementById('imageHolder').getElementsByTagName('img');
     images = new Array();
     for(var i = 0; i < imgHolder.length;i++){
        images[i]=imgHolder[i].src;
     }
 
     // start preloading
     for(i=0; i<=3; i++) 
     {
          imageObj.src=images[i];
     }
 
 }  
</pre>
]]></content:encoded>
			<wfw:commentRss>http://taureanwooley.com/adding-a-preloader-to-images/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Issues with Paypal Api and how to fix them</title>
		<link>http://taureanwooley.com/issues-with-paypal-api-and-how-to-fix-them/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=issues-with-paypal-api-and-how-to-fix-them</link>
		<comments>http://taureanwooley.com/issues-with-paypal-api-and-how-to-fix-them/#comments</comments>
		<pubDate>Fri, 09 Nov 2012 03:57:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Tech Blog]]></category>

		<guid isPermaLink="false">http://taureanwooley.com/?p=382</guid>
		<description><![CDATA[When working with paypal&#8217;s api you might run into a few issues that might cause some issues. Even with the wizard there are still some nuances that were not quite covered. Here&#8217;s a list that might help those having issues &#8230; <a href="http://taureanwooley.com/issues-with-paypal-api-and-how-to-fix-them/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>When working with paypal&#8217;s api you might run into a few issues that might cause some issues.  Even with the wizard there are still some nuances that were not quite covered.  Here&#8217;s a list that might help those having issues with the paypal api.</p>
<h3>Curl University:</h3>
<p>Curl can be used to create several types of calls, but most importantly the SOAP calls that paypal asks most to use.  Curl uses HTTP Header information to push information to various servers and in return receive information back.</p>
<p>There are a few things that the wizard does with the code that does not quite line up for several reasons, one being global variables being turned off on the server.  If you do not have access to this variable, or feel this might cause issues, you can fix most issues with the paypal api by making the paypalfunction.php into a class and allowing the variables being used as global to be variables setup in that class.</p>
<p>This creates a great way to debug issues if there are any in the steps as well as allowing you to making changes outside of this class, if you want to store information later on.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">	<span style="color: #666666; font-style: italic;">/********************************************
	PayPal API Module
&nbsp;
	Defines all the global variables and the wrapper functions 
	********************************************/</span>
	<span style="color: #000000; font-weight: bold;">class</span> paypalFunction<span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$PROXY_HOST</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'127.0.0.1'</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$PROXY_PORT</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'808'</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$SandboxFlag</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">;</span>
		<span style="color: #666666; font-style: italic;">//' TODO:</span>
		<span style="color: #666666; font-style: italic;">//'------------------------------------</span>
		<span style="color: #666666; font-style: italic;">//' PayPal API Credentials</span>
		<span style="color: #666666; font-style: italic;">//' Replace &lt;API_USERNAME&gt; with your API Username</span>
		<span style="color: #666666; font-style: italic;">//' Replace &lt;API_PASSWORD&gt; with your API Password</span>
		<span style="color: #666666; font-style: italic;">//' Replace &lt;API_SIGNATURE&gt; with your Signature</span>
		<span style="color: #666666; font-style: italic;">//'------------------------------------</span>
		<span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$API_UserName</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;&lt;API_USERNAME&gt;&quot;</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$API_Password</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;&lt;API_PASSWORD&gt;&quot;</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$API_Signature</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;&lt;API_SIGNATURE&gt;&quot;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">// BN Code 	is only applicable for partners</span>
		<span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$sBNCode</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;PP-ECWizard&quot;</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
		<span style="color: #666666; font-style: italic;">/*	
		' Define the PayPal Redirect URLs.  
		' 	This is the URL that the buyer is first sent to do authorize payment with their paypal account
		' 	change the URL depending if you are testing on the sandbox or the live PayPal site
		'
		' For the sandbox, the URL is       https://www.sandbox.paypal.com/webscr&amp;cmd=_express-checkout&amp;token=
		' For the live site, the URL is        https://www.paypal.com/webscr&amp;cmd=_express-checkout&amp;token=
		*/</span>
		<span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$API_Endpoint</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$PAYPAL_URL</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$PAYPAL_DG_URL</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$USE_PROXY</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$version</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;84&quot;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">function</span> __construct<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</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;">SandboxFlag</span> <span style="color: #339933;">==</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span> 
			<span style="color: #009900;">&#123;</span>
				<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">API_Endpoint</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;https://api-3t.sandbox.paypal.com/nvp&quot;</span><span style="color: #339933;">;</span>
				<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">PAYPAL_URL</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;https://www.sandbox.paypal.com/webscr?cmd=_express-checkout&amp;token=&quot;</span><span style="color: #339933;">;</span>
				<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">PAYPAL_DG_URL</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;https://www.sandbox.paypal.com/incontext?token=&quot;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
			<span style="color: #b1b100;">else</span>
			<span style="color: #009900;">&#123;</span>
				<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">API_Endpoint</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;https://api-3t.paypal.com/nvp&quot;</span><span style="color: #339933;">;</span>
				<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">PAYPAL_URL</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;https://www.paypal.com/cgi-bin/webscr?cmd=_express-checkout&amp;token=&quot;</span><span style="color: #339933;">;</span>
				<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">PAYPAL_DG_URL</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;https://www.paypal.com/incontext?token=&quot;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">/* An express checkout transaction starts with a token, that
		   identifies to PayPal your transaction
		   In this example, when the script sees a token, the script
		   knows that the buyer has already authorized payment through
		   paypal.  If no token was found, the action is to send the buyer
		   to PayPal to first authorize payment
		   */</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">/*   
		'-------------------------------------------------------------------------------------------------------------------------------------------
		' Purpose: 	Prepares the parameters for the SetExpressCheckout API Call for a Digital Goods payment.
		' Inputs:  
		'		paymentAmount:  	Total value of the shopping cart
		'		currencyCodeType: 	Currency code value the PayPal API
		'		paymentType: 		paymentType has to be one of the following values: Sale or Order or Authorization
		'		returnURL:			the page where buyers return to after they are done with the payment review on PayPal
		'		cancelURL:			the page where buyers return to when they cancel the payment review on PayPal
		'--------------------------------------------------------------------------------------------------------------------------------------------	
		*/</span>
		<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> SetExpressCheckoutDG<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$paymentAmount</span><span style="color: #339933;">,</span> <span style="color: #000088;">$currencyCodeType</span><span style="color: #339933;">,</span> <span style="color: #000088;">$paymentType</span><span style="color: #339933;">,</span> <span style="color: #000088;">$returnURL</span><span style="color: #339933;">,</span> 
											<span style="color: #000088;">$cancelURL</span><span style="color: #339933;">,</span> <span style="color: #000088;">$items</span><span style="color: #009900;">&#41;</span> 
		<span style="color: #009900;">&#123;</span>
			<span style="color: #666666; font-style: italic;">//------------------------------------------------------------------------------------------------------------------------------------</span>
			<span style="color: #666666; font-style: italic;">// Construct the parameter string that describes the SetExpressCheckout API call in the shortcut implementation</span>
&nbsp;
			<span style="color: #000088;">$nvpstr</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&amp;PAYMENTREQUEST_0_AMT=&quot;</span><span style="color: #339933;">.</span> <span style="color: #000088;">$paymentAmount</span><span style="color: #339933;">;</span>
			<span style="color: #000088;">$nvpstr</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;&amp;PAYMENTREQUEST_0_PAYMENTACTION=&quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$paymentType</span><span style="color: #339933;">;</span>
			<span style="color: #000088;">$nvpstr</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;&amp;RETURNURL=&quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$returnURL</span><span style="color: #339933;">;</span>
			<span style="color: #000088;">$nvpstr</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;&amp;CANCELURL=&quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$cancelURL</span><span style="color: #339933;">;</span>
			<span style="color: #000088;">$nvpstr</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;&amp;PAYMENTREQUEST_0_CURRENCYCODE=&quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$currencyCodeType</span><span style="color: #339933;">;</span>
			<span style="color: #000088;">$nvpstr</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;&amp;REQCONFIRMSHIPPING=0&quot;</span><span style="color: #339933;">;</span>
			<span style="color: #000088;">$nvpstr</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;&amp;NOSHIPPING=1&quot;</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$items</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$index</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$item</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
				<span style="color: #000088;">$nvpstr</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;&amp;L_PAYMENTREQUEST_0_NAME&quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$index</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;=&quot;</span> <span style="color: #339933;">.</span> <span style="color: #990000;">urlencode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$item</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;name&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000088;">$nvpstr</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;&amp;L_PAYMENTREQUEST_0_AMT&quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$index</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;=&quot;</span> <span style="color: #339933;">.</span> <span style="color: #990000;">urlencode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$item</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;amt&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000088;">$nvpstr</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;&amp;L_PAYMENTREQUEST_0_QTY&quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$index</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;=&quot;</span> <span style="color: #339933;">.</span> <span style="color: #990000;">urlencode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$item</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;qty&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000088;">$nvpstr</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;&amp;L_PAYMENTREQUEST_0_ITEMCATEGORY&quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$index</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;=Digital&quot;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
&nbsp;
&nbsp;
			<span style="color: #666666; font-style: italic;">//'--------------------------------------------------------------------------------------------------------------- </span>
			<span style="color: #666666; font-style: italic;">//' Make the API call to PayPal</span>
			<span style="color: #666666; font-style: italic;">//' If the API call succeded, then redirect the buyer to PayPal to begin to authorize payment.  </span>
			<span style="color: #666666; font-style: italic;">//' If an error occured, show the resulting errors</span>
			<span style="color: #666666; font-style: italic;">//'---------------------------------------------------------------------------------------------------------------</span>
			<span style="color: #000088;">$resArray</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">hash_call</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;SetExpressCheckout&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$nvpstr</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000088;">$ack</span> <span style="color: #339933;">=</span> <span style="color: #990000;">strtoupper</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$resArray</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;ACK&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ack</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">&quot;SUCCESS&quot;</span> <span style="color: #339933;">||</span> <span style="color: #000088;">$ack</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">&quot;SUCCESSWITHWARNING&quot;</span><span style="color: #009900;">&#41;</span>
			<span style="color: #009900;">&#123;</span>
				<span style="color: #000088;">$token</span> <span style="color: #339933;">=</span> <span style="color: #990000;">urldecode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$resArray</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;TOKEN&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000088;">$_SESSION</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'TOKEN'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$token</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
&nbsp;
			<span style="color: #b1b100;">return</span> <span style="color: #000088;">$resArray</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">/*
		'-------------------------------------------------------------------------------------------
		' Purpose: 	Prepares the parameters for the GetExpressCheckoutDetails API Call.
		'
		' Inputs:  
		'		None
		' Returns: 
		'		The NVP Collection object of the GetExpressCheckoutDetails Call Response.
		'-------------------------------------------------------------------------------------------
		*/</span>
		<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> GetExpressCheckoutDetails<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$token</span> <span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			<span style="color: #666666; font-style: italic;">//'--------------------------------------------------------------</span>
			<span style="color: #666666; font-style: italic;">//' At this point, the buyer has completed authorizing the payment</span>
			<span style="color: #666666; font-style: italic;">//' at PayPal.  The function will call PayPal to obtain the details</span>
			<span style="color: #666666; font-style: italic;">//' of the authorization, incuding any shipping information of the</span>
			<span style="color: #666666; font-style: italic;">//' buyer.  Remember, the authorization is not a completed transaction</span>
			<span style="color: #666666; font-style: italic;">//' at this state - the buyer still needs an additional step to finalize</span>
			<span style="color: #666666; font-style: italic;">//' the transaction</span>
			<span style="color: #666666; font-style: italic;">//'--------------------------------------------------------------</span>
&nbsp;
			<span style="color: #666666; font-style: italic;">//'---------------------------------------------------------------------------</span>
			<span style="color: #666666; font-style: italic;">//' Build a second API request to PayPal, using the token as the</span>
			<span style="color: #666666; font-style: italic;">//'  ID to get the details on the payment authorization</span>
			<span style="color: #666666; font-style: italic;">//'---------------------------------------------------------------------------</span>
			<span style="color: #000088;">$nvpstr</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;&amp;TOKEN=&quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$token</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #666666; font-style: italic;">//'---------------------------------------------------------------------------</span>
			<span style="color: #666666; font-style: italic;">//' Make the API call and store the results in an array.  </span>
			<span style="color: #666666; font-style: italic;">//'	If the call was a success, show the authorization details, and provide</span>
			<span style="color: #666666; font-style: italic;">//' 	an action to complete the payment.  </span>
			<span style="color: #666666; font-style: italic;">//'	If failed, show the error</span>
			<span style="color: #666666; font-style: italic;">//'---------------------------------------------------------------------------</span>
			<span style="color: #000088;">$resArray</span><span style="color: #339933;">=</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">hash_call</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;GetExpressCheckoutDetails&quot;</span><span style="color: #339933;">,</span><span style="color: #000088;">$nvpstr</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000088;">$ack</span> <span style="color: #339933;">=</span> <span style="color: #990000;">strtoupper</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$resArray</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;ACK&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ack</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">&quot;SUCCESS&quot;</span> <span style="color: #339933;">||</span> <span style="color: #000088;">$ack</span><span style="color: #339933;">==</span><span style="color: #0000ff;">&quot;SUCCESSWITHWARNING&quot;</span><span style="color: #009900;">&#41;</span>
			<span style="color: #009900;">&#123;</span>	
				<span style="color: #b1b100;">return</span> <span style="color: #000088;">$resArray</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span> 
			<span style="color: #b1b100;">else</span> <span style="color: #b1b100;">return</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">/*
		'-------------------------------------------------------------------------------------------------------------------------------------------
		' Purpose: 	Prepares the parameters for the GetExpressCheckoutDetails API Call.
		'
		' Inputs:  
		'		sBNCode:	The BN code used by PayPal to track the transactions from a given shopping cart.
		' Returns: 
		'		The NVP Collection object of the GetExpressCheckoutDetails Call Response.
		'--------------------------------------------------------------------------------------------------------------------------------------------	
		*/</span>
		<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> ConfirmPayment<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$token</span><span style="color: #339933;">,</span> <span style="color: #000088;">$paymentType</span><span style="color: #339933;">,</span> <span style="color: #000088;">$currencyCodeType</span><span style="color: #339933;">,</span> <span style="color: #000088;">$payerID</span><span style="color: #339933;">,</span> <span style="color: #000088;">$FinalPaymentAmt</span> <span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			<span style="color: #666666; font-style: italic;">/* Gather the information to make the final call to
			   finalize the PayPal payment.  The variable nvpstr
			   holds the name value pairs
			   */</span>
			<span style="color: #000088;">$token</span> 				<span style="color: #339933;">=</span> <span style="color: #990000;">urlencode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$token</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000088;">$paymentType</span> 		<span style="color: #339933;">=</span> <span style="color: #990000;">urlencode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$paymentType</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000088;">$currencyCodeType</span> 	<span style="color: #339933;">=</span> <span style="color: #990000;">urlencode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$currencyCodeType</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000088;">$payerID</span> 			<span style="color: #339933;">=</span> <span style="color: #990000;">urlencode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$payerID</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000088;">$serverName</span> 		<span style="color: #339933;">=</span> <span style="color: #990000;">urlencode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'SERVER_NAME'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #000088;">$nvpstr</span>  <span style="color: #339933;">=</span> <span style="color: #0000ff;">'&amp;TOKEN='</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$token</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'&amp;PAYERID='</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$payerID</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'&amp;PAYMENTREQUEST_0_PAYMENTACTION='</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$paymentType</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'&amp;PAYMENTREQUEST_0_AMT='</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$FinalPaymentAmt</span><span style="color: #339933;">;</span>
			<span style="color: #000088;">$nvpstr</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">'&amp;PAYMENTREQUEST_0_CURRENCYCODE='</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$currencyCodeType</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'&amp;IPADDRESS='</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$serverName</span><span style="color: #339933;">;</span> 
&nbsp;
			 <span style="color: #666666; font-style: italic;">/* Make the call to PayPal to finalize payment
				If an error occured, show the resulting errors
				*/</span>
			<span style="color: #000088;">$resArray</span><span style="color: #339933;">=</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">hash_call</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;DoExpressCheckoutPayment&quot;</span><span style="color: #339933;">,</span><span style="color: #000088;">$nvpstr</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #666666; font-style: italic;">/* Display the API response back to the browser.
			   If the response from PayPal was a success, display the response parameters'
			   If the response was an error, display the errors received using APIError.php.
			   */</span>
			<span style="color: #000088;">$ack</span> <span style="color: #339933;">=</span> <span style="color: #990000;">strtoupper</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$resArray</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;ACK&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #b1b100;">return</span> <span style="color: #000088;">$resArray</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #009933; font-style: italic;">/**
		  '-------------------------------------------------------------------------------------------------------------------------------------------
		  * hash_call: Function to perform the API call to PayPal using API signature
		  * @methodName is name of API  method.
		  * @nvpStr is nvp string.
		  * returns an associtive array containing the response from the server.
		  '-------------------------------------------------------------------------------------------------------------------------------------------
		*/</span>
		<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> hash_call<span style="color: #009900;">&#40;</span><span style="color: #000088;">$methodName</span><span style="color: #339933;">,</span><span style="color: #000088;">$nvpStr</span><span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			<span style="color: #666666; font-style: italic;">//declaring of global variables</span>
			<span style="color: #666666; font-style: italic;">//setting the curl parameters.</span>
			<span style="color: #000088;">$ch</span> <span style="color: #339933;">=</span> <span style="color: #990000;">curl_init</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_URL<span style="color: #339933;">,</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">API_Endpoint</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_VERBOSE<span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #666666; font-style: italic;">//turning off the server and peer verification(TrustManager Concept).</span>
			<span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_SSL_VERIFYPEER<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: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_SSL_VERIFYHOST<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>
&nbsp;
			<span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_RETURNTRANSFER<span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_POST<span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #666666; font-style: italic;">//if USE_PROXY constant set to TRUE in Constants.php, then only proxy will be enabled.</span>
		   <span style="color: #666666; font-style: italic;">//Set proxy name to PROXY_HOST and port number to PROXY_PORT in constants.php </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;">USE_PROXY</span><span style="color: #009900;">&#41;</span>
				<span style="color: #990000;">curl_setopt</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_PROXY<span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">PROXY_HOST</span><span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;:&quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">PROXY_PORT</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
&nbsp;
			<span style="color: #666666; font-style: italic;">//NVPRequest for submitting to server</span>
			<span style="color: #000088;">$nvpreq</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;METHOD=&quot;</span> <span style="color: #339933;">.</span> <span style="color: #990000;">urlencode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$methodName</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;&amp;VERSION=&quot;</span> <span style="color: #339933;">.</span> <span style="color: #990000;">urlencode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">version</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;&amp;PWD=&quot;</span> <span style="color: #339933;">.</span> <span style="color: #990000;">urlencode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">API_Password</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;&amp;USER=&quot;</span> <span style="color: #339933;">.</span> <span style="color: #990000;">urlencode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">API_UserName</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;&amp;SIGNATURE=&quot;</span> <span style="color: #339933;">.</span> <span style="color: #990000;">urlencode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">API_Signature</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$nvpStr</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;&amp;BUTTONSOURCE=&quot;</span> <span style="color: #339933;">.</span> <span style="color: #990000;">urlencode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">sBNCode</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #666666; font-style: italic;">//setting the nvpreq as POST FIELD to curl</span>
			<span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_POSTFIELDS<span style="color: #339933;">,</span> <span style="color: #000088;">$nvpreq</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #666666; font-style: italic;">//getting response from server</span>
			<span style="color: #000088;">$response</span> <span style="color: #339933;">=</span> <span style="color: #990000;">curl_exec</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #666666; font-style: italic;">//convrting NVPResponse to an Associative Array</span>
			<span style="color: #000088;">$nvpResArray</span><span style="color: #339933;">=</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">deformatNVP</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$response</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000088;">$nvpReqArray</span><span style="color: #339933;">=</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">deformatNVP</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$nvpreq</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000088;">$_SESSION</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'nvpReqArray'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #000088;">$nvpReqArray</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">curl_errno</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</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;">// moving to display page to display curl errors</span>
				  <span style="color: #000088;">$_SESSION</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'curl_error_no'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #990000;">curl_errno</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
				  <span style="color: #000088;">$_SESSION</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'curl_error_msg'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #990000;">curl_error</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
				  <span style="color: #666666; font-style: italic;">//Execute the Error handling module to display errors. </span>
			<span style="color: #009900;">&#125;</span> 
			<span style="color: #b1b100;">else</span> 
			<span style="color: #009900;">&#123;</span>
				 <span style="color: #666666; font-style: italic;">//closing the curl</span>
				<span style="color: #990000;">curl_close</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
&nbsp;
			<span style="color: #b1b100;">return</span> <span style="color: #000088;">$nvpResArray</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">/*'----------------------------------------------------------------------------------
		 Purpose: Redirects to PayPal.com site.
		 Inputs:  NVP string.
		 Returns: 
		----------------------------------------------------------------------------------
		*/</span>
		<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> RedirectToPayPal <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$token</span> <span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			<span style="color: #666666; font-style: italic;">// Redirect to paypal.com here</span>
			<span style="color: #000088;">$payPalURL</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">PAYPAL_URL</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$token</span><span style="color: #339933;">;</span>
			<span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Location: &quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$payPalURL</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #990000;">exit</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> RedirectToPayPalDG <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$token</span> <span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			<span style="color: #666666; font-style: italic;">// Redirect to paypal.com here</span>
			<span style="color: #000088;">$payPalURL</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">PAYPAL_DG_URL</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$token</span><span style="color: #339933;">;</span>
			<span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Location: &quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$payPalURL</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #990000;">exit</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
&nbsp;
&nbsp;
		<span style="color: #666666; font-style: italic;">/*'----------------------------------------------------------------------------------
		 * This function will take NVPString and convert it to an Associative Array and it will decode the response.
		  * It is usefull to search for a particular key and displaying arrays.
		  * @nvpstr is NVPString.
		  * @nvpArray is Associative Array.
		   ----------------------------------------------------------------------------------
		  */</span>
		<span style="color: #000000; font-weight: bold;">function</span> deformatNVP<span style="color: #009900;">&#40;</span><span style="color: #000088;">$nvpstr</span><span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$intial</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
			<span style="color: #000088;">$nvpArray</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$nvpstr</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;">//postion of Key</span>
				<span style="color: #000088;">$keypos</span><span style="color: #339933;">=</span> <span style="color: #990000;">strpos</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$nvpstr</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'='</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #666666; font-style: italic;">//position of value</span>
				<span style="color: #000088;">$valuepos</span> <span style="color: #339933;">=</span> <span style="color: #990000;">strpos</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$nvpstr</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'&amp;'</span><span style="color: #009900;">&#41;</span> ? <span style="color: #990000;">strpos</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$nvpstr</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'&amp;'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span> <span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$nvpstr</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
				<span style="color: #666666; font-style: italic;">/*getting the Key and Value values and storing in a Associative Array*/</span>
				<span style="color: #000088;">$keyval</span><span style="color: #339933;">=</span><span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$nvpstr</span><span style="color: #339933;">,</span><span style="color: #000088;">$intial</span><span style="color: #339933;">,</span><span style="color: #000088;">$keypos</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000088;">$valval</span><span style="color: #339933;">=</span><span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$nvpstr</span><span style="color: #339933;">,</span><span style="color: #000088;">$keypos</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span><span style="color: #000088;">$valuepos</span><span style="color: #339933;">-</span><span style="color: #000088;">$keypos</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #666666; font-style: italic;">//decoding the respose</span>
				<span style="color: #000088;">$nvpArray</span><span style="color: #009900;">&#91;</span><span style="color: #990000;">urldecode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$keyval</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span><span style="color: #990000;">urldecode</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$valval</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000088;">$nvpstr</span><span style="color: #339933;">=</span><span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$nvpstr</span><span style="color: #339933;">,</span><span style="color: #000088;">$valuepos</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span><span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$nvpstr</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			 <span style="color: #009900;">&#125;</span>
			<span style="color: #b1b100;">return</span> <span style="color: #000088;">$nvpArray</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<h3>Where did the Variable Go?</h3>
<p>The next thing that creates some issues with the paypal api is when there are missing variables in the string being passed to the paypal servers.  A simple solution to this is to double check to make sure all variables are correctly compiled through the code creating request string.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$items</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$items</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'name'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Item Name'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'amt'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$paymentAmount</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'qty'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">//::ITEMS::</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">// to add anothe item, uncomment the lines below and comment the line above </span>
		<span style="color: #666666; font-style: italic;">// $items[] = array('name' =&gt; 'Item Name1', 'amt' =&gt; $itemAmount1, 'qty' =&gt; 1);</span>
		<span style="color: #666666; font-style: italic;">// $items[] = array('name' =&gt; 'Item Name2', 'amt' =&gt; $itemAmount2, 'qty' =&gt; 1);</span>
		<span style="color: #666666; font-style: italic;">// $paymentAmount = $itemAmount1 + $itemAmount2;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">// assign corresponding item amounts to &quot;$itemAmount1&quot; and &quot;$itemAmount2&quot;</span>
		<span style="color: #666666; font-style: italic;">// NOTE : sum of all the item amounts should be equal to payment  amount </span>
&nbsp;
		<span style="color: #000088;">$payFunctions</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> paypalFunction<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$resArray</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$payFunctions</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">SetExpressCheckoutDG</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$paymentAmount</span><span style="color: #339933;">,</span> <span style="color: #000088;">$currencyCodeType</span><span style="color: #339933;">,</span> <span style="color: #000088;">$paymentType</span><span style="color: #339933;">,</span> 
												<span style="color: #000088;">$returnURL</span><span style="color: #339933;">,</span> <span style="color: #000088;">$cancelURL</span><span style="color: #339933;">,</span> <span style="color: #000088;">$items</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>There are really not that many variables needed to get things a payment process going.  You&#8217;ll need just 5 variables, $paymentAmount, $currencyCodeType, $paymentType, a $returnURL, and a $cancelURL.  Other than that, everything should be handled in the paypalFunction class under curl.</p>
<h3>A few errors that might popup unexpectedly</h3>
<p><strong>$resArray not being set</strong><br />
This is caused when the curl request is not sent correctly.  This is usually caused by an error on the host server (your server [more than likely curl not being installed]).  Installing it on your server is simple enough and most servers now have the curl function available since oauth is huge with twitter and facebook api&#8217;s.</p>
<p><strong>Error Codes</strong><br />
There is a long list of error codes with description on the paypal api documentation website.  Click here if you run into any issues. <a href="https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&#038;content_ID=developer/e_howto_api_nvp_errorcodes">Paypal Error Codes</a></p>
<p>These are the small errors that I ran into while working on the paypal website.</p>
]]></content:encoded>
			<wfw:commentRss>http://taureanwooley.com/issues-with-paypal-api-and-how-to-fix-them/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What makes a great CMS &#8211; User Interaction</title>
		<link>http://taureanwooley.com/what-makes-a-great-cms-user-interaction/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=what-makes-a-great-cms-user-interaction</link>
		<comments>http://taureanwooley.com/what-makes-a-great-cms-user-interaction/#comments</comments>
		<pubDate>Thu, 01 Nov 2012 17:37:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Tech Blog]]></category>

		<guid isPermaLink="false">http://taureanwooley.com/?p=375</guid>
		<description><![CDATA[I&#8217;ve been working on CMS&#8217;s for quite some time now. Content management systems are a great way to keep things organized while at the same time making sure that you&#8217;re able to get things done right, but sometimes there are &#8230; <a href="http://taureanwooley.com/what-makes-a-great-cms-user-interaction/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been working on CMS&#8217;s for quite some time now.  Content management systems are a great way to keep things organized while at the same time making sure that you&#8217;re able to get things done right, but sometimes there are caveats that create some challenges while working on sites.  The most significant issue with CMS&#8217;s isn&#8217;t how the content is delivered but how the content is viable to the users of the website.</p>
<p>The most important thing to look at before deciding on a CMS is what will make a user stay on the site, making the site more viable.  Overall there are a few focuses to deal with.  One being the type of content on the pages.</p>
<p>Usually with most websites there is either a focus on media, user shared content, or intellectual reading for the average viewer.  Organizing this information is key to making sure that your website stays informational and useful.  The hard part is when there are dual media on the website.  Lets say for instance <a href="http://pintrest.com">Pintrest</a> or <a href="http://thumblr.com">thumblr</a>.  Both of these websites have the ability to post either photos to share or user written content.  This is great if your user base knows exactly what they want to see, but what if your website is too general.</p>
<p>This is where categories come into play.  Most CMS&#8217;s have a category field ability to place various items grouped together.  This creates a great ability for users to keep things organized for you.  There is one catch with user driven content, keeping content in the right areas.  Usually it does not happen, but a CMS should be able to distinguish between a great user posted content, and a weak user content.</p>
<p>Rating systems is what is currently being used to have automated CMS systems in place.  This way the users help the admins decide on what content is enjoyable and what content they can do without.  This is key to a great CMS.  I will go further into details with the actual layout on my second writeup.</p>
]]></content:encoded>
			<wfw:commentRss>http://taureanwooley.com/what-makes-a-great-cms-user-interaction/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Craigslist Post Links</title>
		<link>http://taureanwooley.com/craigslist-post-links/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=craigslist-post-links</link>
		<comments>http://taureanwooley.com/craigslist-post-links/#comments</comments>
		<pubDate>Tue, 02 Oct 2012 21:05:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Tech Blog]]></category>

		<guid isPermaLink="false">http://taureanwooley.com/?p=336</guid>
		<description><![CDATA[I have been doing development for micarloader.com for well over 2 years now, and the most impressive piece of software that we have been using on the website is the craigslist post link scraper.  It&#8217;s hard to find the craigslist &#8230; <a href="http://taureanwooley.com/craigslist-post-links/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I have been doing development for <a href="http://micarloader.com">micarloader.com</a> for well over 2 years now, and the most impressive piece of software that we have been using on the website is the <a>craigslist</a> post link scraper.  It&#8217;s hard to find the craigslist post links on the site itself so I created an easier method.</p>
<p>These few lines of php code and jquery have allowed us to monetize a large array of posting abilities in a streamline manner.  We were able to do this with the file_get_contents function and a few tricks using jquery.  The code can be optimized for better results, but as of right now, it&#8217;s a great way to post on craigslist easily.</p>
<p>There are a few neuances to this script, for one the script allows for dynamic searching through the cities with the use of the DOM that interfaces with craigslist.  There is also a variety of cities that have subsub city sections which will cause issues with this script (mainly not displaying the actual post link), but overall the majority of cities work.  I will be implementing some dynamic characteristics to the script on a later date to allow for the craigslist post links scraper to allow for various other features which will include links based on the category you&#8217;d want to be posting in.  As of right now it is posting directly into the cars section.</p>
<p>Check out the craigslist post link scraper below for all your <a>craigslist</a> posting needs.</p>
]]></content:encoded>
			<wfw:commentRss>http://taureanwooley.com/craigslist-post-links/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Opencart Vs Magento</title>
		<link>http://taureanwooley.com/opencart-vs-magento/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=opencart-vs-magento</link>
		<comments>http://taureanwooley.com/opencart-vs-magento/#comments</comments>
		<pubDate>Wed, 26 Sep 2012 19:56:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Tech Blog]]></category>
		<category><![CDATA[e-commerce]]></category>
		<category><![CDATA[e-commerce development]]></category>
		<category><![CDATA[magento]]></category>
		<category><![CDATA[opencart]]></category>

		<guid isPermaLink="false">http://taureanwooley.com/?p=318</guid>
		<description><![CDATA[When doing e-commerce, occasionally run into some very interesting hurdles. Both Opencart and Magento have their nuances that create various issues for both design and development with design in mind.  This write-up can be used to better facilitate the design process for &#8230; <a href="http://taureanwooley.com/opencart-vs-magento/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>When doing e-commerce, occasionally run into some very interesting hurdles. Both Opencart and Magento have their nuances that create various issues for both design and development with design in mind.  This write-up can be used to better facilitate the design process for your projects and to help better decided on which platform you would want to use for your next e-commerce website.</p>
<p><strong>Design &#8211; Speed vs. Versatility </strong></p>
<p>E-commerce websites are usually canned cookie cutter designs.  Many websites displaying their products really do not try to add any extra design elements outside the box.  This is great if you have a well established product, but if your price-point is higher than the look of the website, it might be harder to sale to your demographic.</p>
<p>Designers are usually limited by the experience of the front-end developer, and may usually have to hold back on their true vision for the store front. With OpenCart and Magento converting designs to a functioning website is easy, but there are some trouble spots with each.</p>
<p><strong>Opencart</strong><br />
great code structure (easy to read and manage)<br />
separation of html and php code (cleaner MVC, design layout)<br />
simpler backend to frontend subroutine code</p>
<p><strong>Magento</strong><br />
great security features and modular coding<br />
database calls are completely separated from outside subroutines<br />
reusable css for similar design schemas<br />
main subroutines are never compromised</p>
<p><em>Opencart for speed and easy of use<br />
Magento for versatility and security</em></p>
<p><strong>Transactions &#8211; Options vs. Simplicity</strong></p>
<p>To Be Continued</p>
<p><strong>Customization &#8211; Coding vs. Developing</strong></p>
<p>To Be Continued</p>
<p><strong>Customer Feedback &#8211; Getting to know your users</strong></p>
<p>To Be Continued</p>
<p><strong>Shipping &#8211; Variables and options</strong></p>
<p>To Be Continued</p>
]]></content:encoded>
			<wfw:commentRss>http://taureanwooley.com/opencart-vs-magento/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Website Updates that did not help a company&#8217;s image</title>
		<link>http://taureanwooley.com/website-updates-that-did-not-help-a-companys-image/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=website-updates-that-did-not-help-a-companys-image</link>
		<comments>http://taureanwooley.com/website-updates-that-did-not-help-a-companys-image/#comments</comments>
		<pubDate>Sun, 19 Aug 2012 18:38:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Tech Blog]]></category>
		<category><![CDATA[brand value]]></category>
		<category><![CDATA[changes in websites]]></category>
		<category><![CDATA[value propositioning]]></category>
		<category><![CDATA[web design costs]]></category>

		<guid isPermaLink="false">http://taureanwooley.com/?p=254</guid>
		<description><![CDATA[Being in the design industry, you see changes in company design focuses on a regular basis.  This is because a brand is constantly evolving &#8230; at least you would hope.  With the help of Waybackmachine I&#8217;ll show you a few examples &#8230; <a href="http://taureanwooley.com/website-updates-that-did-not-help-a-companys-image/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Being in the design industry, you see changes in company design focuses on a regular basis.  This is because a brand is constantly evolving &#8230; at least you would hope.  With the help of <a title="Waybackmachine" href="http://archive.org">Waybackmachine</a> I&#8217;ll show you a few examples of website design changes that actually made the companies representation drop in quality.  These are website that I assisted in developing or designing.</p>
<h2>Museum Tower Dallas</h2>
<p><strong>First Stage &#8211; 2006</strong></p>
<p><a href="http://web.archive.org/web/20061129024150/http://www.museumtowerdallas.com/?">http://web.archive.org/web/20061129024150/http://www.museumtowerdallas.com/?</a></p>
<p>Not exactly the best design, but not that bad considering the time it was developed.  Needed more than just an intro to be considered a website</p>
<p><strong>Our Stage &#8211; 2007</strong></p>
<p><a href="http://web.archive.org/web/20070724010726/http://www.museumtowerdallas.com/">http://web.archive.org/web/20070724010726/http://www.museumtowerdallas.com/</a></p>
<p>Intercommunications came in, saw all the mistakes, put their exquisite expertise on the project and made it look like the cost of living their was well worth it.  This is where brand recognition and value propositioning go hand and hand, making sure that both line up correctly.</p>
<p><strong>Current Stage &#8211; Present</strong></p>
<p><a href="http://www.museumtowerdallas.com/">http://www.museumtowerdallas.com/</a></p>
<p>Not sure if Intercommunications did anything with this one, but I&#8217;m almost certain they wanted more freedom from the front end developer.  The overall look is not bad, but you can tell that someone was saying that the technology was limited.  The flash design, has a more dynamic aspect to it than the current website, and seems to engage the visitor.</p>
<p>Overall the design changed slightly, but the overall execution is lacking in several aspects, mostly font and title placement to grab the visitors attention.</p>
<h2>The District at Tustin Legacy</h2>
<p><strong>Our Stage &#8211; 2007</strong></p>
<p><a href="http://web.archive.org/web/20080404131043/http://www.thedistricttl.com/">http://web.archive.org/web/20080404131043/http://www.thedistricttl.com/</a></p>
<p>This was another project done while working at Intercommunications Inc.  The company originally doing the coding said that the design was too &#8220;artsy&#8221; for web.  This was back in 2007 and that&#8217;s what people assumed, but after giving them some sample html and css, in less than 3 hours they changed their view.</p>
<p>The website seems alive and with a personality, a step above most other websites during that time.  David Yates did an amazing job with this one, and although the PSD looked jaw droppingly complicated (this was before there was a png fix for internet explorer, and transparent overlays were a nono) it turned out to be some of our best work.</p>
<p><strong>Current Stage &#8211; Present</strong></p>
<p><a href="http://thedistricttl.com/">http://thedistricttl.com/</a></p>
<p>This is the new website, and I can tell they probably cut back on the design to make it easier to update, but with the right php developer, auto-cropping and a dynamic cms would allow for a more creative design to be had without much effort.  It screams meh and does not even flow with the logo or the overall aspect of the actual mall (which i must say feels as alive as the first design).  Culture is lacking and it feels like they weren&#8217;t really making the website for a web presence at all.</p>
<h2>Washington Mutual Front Page</h2>
<p><strong>First Stage &#8211; 2005</strong></p>
<p><a href="http://web.archive.org/web/20051107091659/http://www.wamu.com/personal/default.asp">http://web.archive.org/web/20051107091659/http://www.wamu.com/personal/default.asp</a></p>
<p>This was the defacto bank website layouts.  Most people who had an online account knew that every other bank website had the exact same layout, which was a great thing.  It had everything were it needed to be, and did not add too much extra to the website&#8217;s design.  Also color separation was used to make it easier on the eyes, and line up the average visitor with the sections that needed the most attention.</p>
<p><strong>Our Design Help &#8211; 2007</strong></p>
<p><a href="http://web.archive.org/web/20071117052327/http://www.wamu.com/personal/default.asp">http://web.archive.org/web/20071117052327/http://www.wamu.com/personal/default.asp</a></p>
<p>In 2007 while working for thebuddygroup.com we helped with an interior business contest that allowed employees to upload their best photos to be displayed on the new wamu.com front page.  Overall it was a great success as the servers were bombarded with well over 5000 entries and more than 80000 separate votes.  This was great because the company as a whole saw a community within the company &#8230; but sadly they closed their doors a few years later because of the great stock market crash.</p>
<p>The bad thing about the overall design is that the top navigation fades into the background.  This is usually good with portfolio or graphic displaying websites, but for companies were the navigation is the prime real estate for easy of use, this is not a good thing.  I had the task of creating a commenting and rating system for the new design and most people were confused with the actual placement of rudimentary nav links.</p>
<p>I am not saying that for the average tech savvy person it wouldn&#8217;t be easy to find, but for the average web visitor it proved to be a change that was confusing to say the least.</p>
<h2>Conclusion</h2>
<p>Value of a website is always based on 3 things, quality, functionality, and usability.  If any of these are missing then the website will have a tough time selling itself as a reputable company, or even a useful resource.  There are many websites out there that bombard you with catch phrases, and bright colors, but if done correctly, you can make your visitors feel at ease and almost subdued similar to reading a newspaper or magazine, without the loss of brand value.</p>
<p>Think about these things before going the cheaper route, it will save you time and effort in the long run, and it also makes SEO easier because usually the design matches the quality of the overall work.</p>
]]></content:encoded>
			<wfw:commentRss>http://taureanwooley.com/website-updates-that-did-not-help-a-companys-image/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Served from: taureanwooley.com @ 2013-06-19 03:26:57 by W3 Total Cache -->