<?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>Hektor Paris &#187; osCommerce</title>
	<atom:link href="http://www.hektorparis.com/category/oscommerce/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.hektorparis.com</link>
	<description>Web developer &#38; designer in New York City.</description>
	<lastBuildDate>Sat, 15 May 2010 07:01:42 +0000</lastBuildDate>
	
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>How to Install FCKeditor in osCommerce</title>
		<link>http://www.hektorparis.com/how-to-install-fckeditor-in-oscommerce/</link>
		<comments>http://www.hektorparis.com/how-to-install-fckeditor-in-oscommerce/#comments</comments>
		<pubDate>Mon, 18 May 2009 06:57:08 +0000</pubDate>
		<dc:creator>Hektor</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[osCommerce]]></category>
		<category><![CDATA[fckeditor]]></category>
		<category><![CDATA[fckeditor for oscommerce]]></category>
		<category><![CDATA[oscommerce product descriptions]]></category>
		<category><![CDATA[oscommerce wysiwyg editor]]></category>

		<guid isPermaLink="false">http://www.hektorparis.com/?p=415</guid>
		<description><![CDATA[Learn how to install WYSIWYG editor FCKeditor in osCommerce to use for product descriptions.]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-423" title="fckeditor-in-oscommerce" src="http://www.hektorparis.com/wp-content/uploads/2009/05/fckeditor-in-oscommerce.jpg" alt="fckeditor-in-oscommerce" width="320" height="240" />Learn how to install WYSIWYG editor <a title="FCKeditor - The text editor for the Internet" href="http://www.fckeditor.net/" target="_blank">FCKeditor</a> in osCommerce to use for product descriptions.</p>
<p>FCKeditor is a web-based HTML text editor with similar functions as desktop applications like MS Word (<a title="FCKeditor Demo" href="http://www.fckeditor.net/demo" target="_blank">see demo</a>),Â  making it useful for creating esthetically pleasing product descriptions in osCommerce. </p>
<p>FCKeditor is compatible with IE 5.5+, Firefox 1.5+, Safari 3.0+, Opera 9.50+, Chrome, Camino 1.0+, Apple, Linux and Windows.  </p>
<p><span id="more-415"></span><br />
<br clear="left" /></p>
<h3>Read Me</h3>
<p>Before you begin work I recommend you backup your osCommerce database and that for any modifications you implement, instead of overwriting the original source code you should comment it out, this way you can revert changes in case you &#8220;FCKup&#8221; ha, ha, ha.</p>
<h3>Pre-Installation</h3>
<p><a title="Download FCKeditor" href="http://www.fckeditor.net/download" target="_blank">Download</a> the latest version of FCKeditor for free.</p>
<p>Decompress the FCKeditor file to your catalog&#8217;s admin directory.</p>
<p>Create a directory in your catalog&#8217;s root directory titled &#8220;userfiles&#8221; and within this directory create four more sub-directories titled &#8220;file&#8221;, &#8220;image&#8221;, &#8220;flash&#8221; and &#8220;media&#8221;.</p>
<p>Using <a title="FileZilla - The free FTP solution" href="http://filezilla-project.org/" target="_target">FileZilla</a> or your favorite FTP client upload the directories you&#8217;ve created,  <u>catalog/admin/fckeditor/</u> and <u>catalog/userfiles/</u> to your server.</p>
<p>Change read and write permissions to 777 for these directories:</p>
<p><u>catalog/userfiles/</u><br />
<u>catalog/userfiles/file</u><br />
<u>catalog/userfiles/media</u><br />
<u>catalog/userfiles/image</u><br />
<u>catalog/userfiles/flash</u></p>
<p>If you&#8217;re using  FileZilla right click on each directory and select &#8220;File Attributes&#8221; (or &#8220;File Permissions&#8221; in some versions).</p>
<h3 style="padding-top:10px;">Install FCKeditor for Products Description</h3>
<p>Open <span style="text-decoration: underline;"><a href="http://www.hektorparis.com/oscommerce/admin/categories.php.source.php">catalog/admin/categories.php</a></span></p>
<p><strong>Find Around <a href="http://www.hektorparis.com/oscommerce/admin/categories.php.source.php#l541">Line 541</a></strong></p>
<div class="codecolorer-container php mac-classic" style="overflow:auto;white-space:nowrap;width:590px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br />2<br />3<br />4<br /></div></td><td><div class="php codecolorer" style="font-family:Monaco,Lucida Console,monospace"><a href="http://www.php.net/echo"><span class="kw3">echo</span></a> tep_draw_textarea_field<span class="br0">&#40;</span><span class="st_h">'products_description['</span> <span class="sy0">.</span><span class="re0">$languages</span><span class="br0">&#91;</span><span class="re0">$i</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'id'</span><span class="br0">&#93;</span> <span class="sy0">.</span><span class="st_h">']'</span><span class="sy0">,</span> <span class="st_h">'soft'</span><span class="sy0">,</span> <span class="st_h">'70'</span><span class="sy0">,</span> <span class="st_h">'15'</span><span class="sy0">,</span><br />
<span class="br0">&#40;</span><a href="http://www.php.net/isset"><span class="kw3">isset</span></a><span class="br0">&#40;</span><span class="re0">$products_description</span><span class="br0">&#91;</span><span class="re0">$languages</span><span class="br0">&#91;</span><span class="re0">$i</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'id'</span><span class="br0">&#93;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><br />
? <a href="http://www.php.net/stripslashes"><span class="kw3">stripslashes</span></a><span class="br0">&#40;</span><span class="re0">$products_description</span><span class="br0">&#91;</span><span class="re0">$languages</span><span class="br0">&#91;</span><span class="re0">$i</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'id'</span><span class="br0">&#93;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><br />
<span class="sy0">:</span> tep_get_products_description<span class="br0">&#40;</span><span class="re0">$pInfo</span><span class="sy0">-&gt;</span><span class="me1">products_id</span><span class="sy0">,</span> <span class="re0">$languages</span><span class="br0">&#91;</span><span class="re0">$i</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'id'</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></div></td></tr></tbody></table></div>
<p><strong>Replace With</strong></p>
<div class="codecolorer-container php mac-classic" style="overflow:auto;white-space:nowrap;width:590px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br />2<br />3<br />4<br />5<br />6<br /></div></td><td><div class="php codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="coMULTI">/***BOF FCKeditor v2.6.4***/</span><br />
<a href="http://www.php.net/echo"><span class="kw3">echo</span></a> tep_draw_fckeditor<span class="br0">&#40;</span><span class="st_h">'products_description['</span> <span class="sy0">.</span><span class="re0">$languages</span><span class="br0">&#91;</span><span class="re0">$i</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'id'</span><span class="br0">&#93;</span> <span class="sy0">.</span><span class="st_h">']'</span><span class="sy0">,</span> <span class="st_h">'600'</span><span class="sy0">,</span> <span class="st_h">'420'</span><span class="sy0">,</span><br />
<span class="br0">&#40;</span><a href="http://www.php.net/isset"><span class="kw3">isset</span></a><span class="br0">&#40;</span><span class="re0">$products_description</span><span class="br0">&#91;</span><span class="re0">$languages</span><span class="br0">&#91;</span><span class="re0">$i</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'id'</span><span class="br0">&#93;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><br />
? <a href="http://www.php.net/stripslashes"><span class="kw3">stripslashes</span></a><span class="br0">&#40;</span><span class="re0">$products_description</span><span class="br0">&#91;</span><span class="re0">$languages</span><span class="br0">&#91;</span><span class="re0">$i</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'id'</span><span class="br0">&#93;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><br />
<span class="sy0">:</span> tep_get_products_description<span class="br0">&#40;</span><span class="re0">$pInfo</span><span class="sy0">-&gt;</span><span class="me1">products_id</span><span class="sy0">,</span> <span class="re0">$languages</span><span class="br0">&#91;</span><span class="re0">$i</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'id'</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="coMULTI">/***EOF FCKeditor v2.6.4***/</span></div></td></tr></tbody></table></div>
<p>The <span style="color: #0000ff;">tep_draw_fckeditor()</span> function returns an instance of FCKeditor to replace the native  content editing textarea field created by the <a href="http://www.hektorparis.com/oscommerce/_functions/tep_draw_textarea_field.php" target="_blank">tep_draw_textarea_field()</a> function. You can change the width and height values (&#8216;600&#8242;, &#8216;420&#8242;) to fit your workspace.</p>
<p>Open <span style="text-decoration: underline;"><a title="osCommerce Admin html_output Function" href="http://www.hektorparis.com/oscommerce/admin/includes/functions/html_output.php.source.php" target="_blank">catalog/admin/includes/functions/html_ouput.php</a></span></p>
<p><strong>Around <a href="http://www.hektorparis.com/oscommerce/admin/includes/functions/html_output.php.php">Line 13</a></strong><br />
Insert the following <span style="color: #0000ff;">include_once()</span> just before this comment &nbsp; <i style="color:#FF9900;">// The HTML href link wrapper function</i></p>
<div class="codecolorer-container php mac-classic" style="overflow:auto;white-space:nowrap;width:590px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br />2<br />3<br /></div></td><td><div class="php codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="coMULTI">/***BOF FCKeditor v2.6.4***/</span><br />
<span class="kw1">include_once</span><span class="br0">&#40;</span><span class="st0">&quot;fckeditor/fckeditor.php&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="coMULTI">/***EOF FCKeditor v2.6.4***/</span></div></td></tr></tbody></table></div>
<p><strong>Find Around <a href="http://www.hektorparis.com/oscommerce/admin/includes/functions/html_output.php.source.php#l246" target="_blank">Line 245</a></strong></p>
<div class="codecolorer-container php mac-classic" style="overflow:auto;white-space:nowrap;width:590px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br /></div></td><td><div class="php codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="kw2">function</span> tep_draw_textarea_field<span class="br0">&#40;</span><span class="re0">$name</span><span class="sy0">,</span> <span class="re0">$wrap</span><span class="sy0">,</span> <span class="re0">$width</span><span class="sy0">,</span> <span class="re0">$height</span><span class="sy0">,</span> <span class="re0">$text</span> <span class="sy0">=</span> <span class="st_h">''</span><span class="sy0">,</span> <span class="re0">$parameters</span> <span class="sy0">=</span> <span class="st_h">''</span><span class="sy0">,</span> <span class="re0">$reinsert_value</span> <span class="sy0">=</span> <span class="kw2">true</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; <a href="http://www.php.net/global"><span class="kw3">global</span></a> <span class="re0">$HTTP_GET_VARS</span><span class="sy0">,</span> <span class="re0">$HTTP_POST_VARS</span><span class="sy0">;</span><br />
&nbsp;<br />
&nbsp; <span class="re0">$field</span> <span class="sy0">=</span> <span class="st_h">'&lt;textarea name=&quot;'</span> <span class="sy0">.</span> tep_output_string<span class="br0">&#40;</span><span class="re0">$name</span><span class="br0">&#41;</span> <span class="sy0">.</span> <span class="st_h">'&quot; wrap=&quot;'</span> <span class="sy0">.</span> tep_output_string<span class="br0">&#40;</span><span class="re0">$wrap</span><span class="br0">&#41;</span> <span class="sy0">.</span> <span class="st_h">'&quot; cols=&quot;'</span> <span class="sy0">.</span> tep_output_string<span class="br0">&#40;</span><span class="re0">$width</span><span class="br0">&#41;</span> <span class="sy0">.</span> <span class="st_h">'&quot; rows=&quot;'</span> <span class="sy0">.</span> tep_output_string<span class="br0">&#40;</span><span class="re0">$height</span><span class="br0">&#41;</span> <span class="sy0">.</span> <span class="st_h">'&quot;'</span><span class="sy0">;</span><br />
&nbsp; <br />
&nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>tep_not_null<span class="br0">&#40;</span><span class="re0">$parameters</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="re0">$field</span> <span class="sy0">.=</span> <span class="st_h">' '</span> <span class="sy0">.</span> <span class="re0">$parameters</span><span class="sy0">;</span><br />
&nbsp; <br />
&nbsp; <span class="re0">$field</span> <span class="sy0">.=</span> <span class="st_h">'&gt;'</span><span class="sy0">;</span><br />
<br />
&nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span> <span class="br0">&#40;</span><span class="re0">$reinsert_value</span> <span class="sy0">==</span> <span class="kw2">true</span><span class="br0">&#41;</span> <span class="sy0">&amp;&amp;</span> <span class="br0">&#40;</span> <span class="br0">&#40;</span><a href="http://www.php.net/isset"><span class="kw3">isset</span></a><span class="br0">&#40;</span><span class="re0">$HTTP_GET_VARS</span><span class="br0">&#91;</span><span class="re0">$name</span><span class="br0">&#93;</span><span class="br0">&#41;</span> <span class="sy0">&amp;&amp;</span> <a href="http://www.php.net/is_string"><span class="kw3">is_string</span></a><span class="br0">&#40;</span><span class="re0">$HTTP_GET_VARS</span><span class="br0">&#91;</span><span class="re0">$name</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="sy0">||</span> <span class="br0">&#40;</span><a href="http://www.php.net/isset"><span class="kw3">isset</span></a><span class="br0">&#40;</span><span class="re0">$HTTP_POST_VARS</span><span class="br0">&#91;</span><span class="re0">$name</span><span class="br0">&#93;</span><span class="br0">&#41;</span> <span class="sy0">&amp;&amp;</span> <a href="http://www.php.net/is_string"><span class="kw3">is_string</span></a><span class="br0">&#40;</span><span class="re0">$HTTP_POST_VARS</span><span class="br0">&#91;</span><span class="re0">$name</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#41;</span> <span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp;<span class="kw1">if</span> <span class="br0">&#40;</span><a href="http://www.php.net/isset"><span class="kw3">isset</span></a><span class="br0">&#40;</span><span class="re0">$HTTP_GET_VARS</span><span class="br0">&#91;</span><span class="re0">$name</span><span class="br0">&#93;</span><span class="br0">&#41;</span> <span class="sy0">&amp;&amp;</span> <a href="http://www.php.net/is_string"><span class="kw3">is_string</span></a><span class="br0">&#40;</span><span class="re0">$HTTP_GET_VARS</span><span class="br0">&#91;</span><span class="re0">$name</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; <span class="re0">$field</span> <span class="sy0">.=</span> tep_output_string_protected<span class="br0">&#40;</span><a href="http://www.php.net/stripslashes"><span class="kw3">stripslashes</span></a><span class="br0">&#40;</span><span class="re0">$HTTP_GET_VARS</span><span class="br0">&#91;</span><span class="re0">$name</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp;<span class="br0">&#125;</span> <span class="kw1">elseif</span> <span class="br0">&#40;</span><a href="http://www.php.net/isset"><span class="kw3">isset</span></a><span class="br0">&#40;</span><span class="re0">$HTTP_POST_VARS</span><span class="br0">&#91;</span><span class="re0">$name</span><span class="br0">&#93;</span><span class="br0">&#41;</span> <span class="sy0">&amp;&amp;</span> <a href="http://www.php.net/is_string"><span class="kw3">is_string</span></a><span class="br0">&#40;</span><span class="re0">$HTTP_POST_VARS</span><span class="br0">&#91;</span><span class="re0">$name</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$field</span> <span class="sy0">.=</span> tep_output_string_protected<span class="br0">&#40;</span><a href="http://www.php.net/stripslashes"><span class="kw3">stripslashes</span></a><span class="br0">&#40;</span><span class="re0">$HTTP_POST_VARS</span><span class="br0">&#91;</span><span class="re0">$name</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp;<span class="br0">&#125;</span><br />
&nbsp; <span class="br0">&#125;</span> <br />
&nbsp; <br />
&nbsp; <span class="kw1">elseif</span> <span class="br0">&#40;</span>tep_not_null<span class="br0">&#40;</span><span class="re0">$text</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$field</span> <span class="sy0">.=</span> tep_output_string_protected<span class="br0">&#40;</span><span class="re0">$text</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; <br />
&nbsp; <span class="re0">$field</span> <span class="sy0">.=</span> <span class="st_h">'&lt;/textarea&gt;'</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <br />
&nbsp; <span class="kw1">return</span> <span class="re0">$field</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span></div></td></tr></tbody></table></div>
<p><strong>After the Function Above Add</strong></p>
<div class="codecolorer-container php mac-classic" style="overflow:auto;white-space:nowrap;width:590px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br /></div></td><td><div class="php codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="coMULTI">/***BOF FCKeditor v2.6.4***/</span><br />
<span class="co1">////</span><br />
<span class="co1">// Output a form textarea field using FCKeditor v2.6.4</span><br />
<span class="kw2">function</span> tep_draw_fckeditor<span class="br0">&#40;</span><span class="re0">$name</span><span class="sy0">,</span> <span class="re0">$width</span><span class="sy0">,</span> <span class="re0">$height</span><span class="sy0">,</span> <span class="re0">$text</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
<span class="re0">$oFCKeditor</span> <span class="sy0">=</span> <span class="kw2">new</span> FCKeditor<span class="br0">&#40;</span><span class="re0">$name</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="re0">$oFCKeditor</span><span class="sy0">-&gt;</span><span class="me1">BasePath</span> <span class="sy0">=</span> <span class="st0">&quot;/admin/fckeditor/&quot;</span><span class="sy0">;</span><br />
<span class="re0">$oFCKeditor</span><span class="sy0">-&gt;</span><span class="me1">Width</span> &nbsp;<span class="sy0">=</span> <span class="re0">$width</span><span class="sy0">;</span><br />
<span class="re0">$oFCKeditor</span><span class="sy0">-&gt;</span><span class="me1">Height</span> <span class="sy0">=</span> <span class="re0">$height</span><span class="sy0">;</span><br />
<span class="re0">$oFCKeditor</span><span class="sy0">-&gt;</span><span class="me1">Config</span><span class="br0">&#91;</span><span class="st0">&quot;SkinPath&quot;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="re0">$oFCKeditor</span><span class="sy0">-&gt;</span><span class="me1">BasePath</span> <span class="sy0">.</span><span class="st0">&quot;editor/skins/silver/&quot;</span><span class="sy0">;</span><br />
<span class="re0">$oFCKeditor</span><span class="sy0">-&gt;</span><span class="me1">Value</span> <span class="sy0">=</span> <span class="re0">$text</span><span class="sy0">;</span><br />
<br />
<span class="re0">$editor</span> <span class="sy0">=</span> <span class="re0">$oFCKeditor</span><span class="sy0">-&gt;</span><span class="me1">Create</span><span class="br0">&#40;</span><span class="re0">$name</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<br />
<span class="kw1">return</span> <span class="re0">$editor</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span><br />
<span class="coMULTI">/***EOF FCKeditor v2.6.4***/</span></div></td></tr></tbody></table></div>
<p>The <span style="color: #0000ff;">tep_draw_fckeditor()</span> function returns an instance of FCKeditor using parameters $name, $width, $height and inserts $text into the editor&#8217;s body. The $oFCKeditor->BasePath variable is self-explanatory, it defines the directory path for FCKeditor relative to the html_output.php file. This object variable is then used to <a title="Configuration Options - FCKeditor Docs" href="http://docs.fckeditor.net/FCKeditor_2.x/Developers_Guide/Configuration/Configuration_Options" target="_blank">customize the configuration options</a> for the editor to use a &#8220;Silver&#8221; skin &amp; which <a title="SkinPath - FCKeditor Docs" href="http://docs.fckeditor.net/FCKeditor_2.x/Developers_Guide/Configuration/Configuration_Options/SkinPath" target="_blank">you can change</a> if you&#8217;d like.</p>
<p>Open <u>catalog/admin/fckeditor/editor/filemanager/connectors/php/config.php</u> and configure this file by specifying the following values.</p>
<p><strong>Find at Line 27</strong></p>
<div class="codecolorer-container php mac-classic" style="overflow:auto;white-space:nowrap;width:590px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br />2<br />3<br />4<br /></div></td><td><div class="php codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="co1">// SECURITY: You must explicitly enable this &quot;connector&quot;. (Set it to &quot;true&quot;).</span><br />
<span class="co1">// WARNING: don't just set &quot;$Config['Enabled'] = true ;&quot;, you must be sure that only</span><br />
<span class="co1">// authenticated users can access this file or use some kind of session checking.</span><br />
<span class="re0">$Config</span><span class="br0">&#91;</span><span class="st_h">'Enabled'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="kw2">true</span><span class="sy0">;</span></div></td></tr></tbody></table></div>
<p><strong>Find at Line 36</strong></p>
<div class="codecolorer-container php mac-classic" style="overflow:auto;white-space:nowrap;width:590px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br />2<br />3<br />4<br />5<br /></div></td><td><div class="php codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="co1">// Fill the following value it you prefer to specify the absolute path for the</span><br />
<span class="co1">// user files directory. Useful if you are using a virtual directory, symbolic</span><br />
<span class="co1">// link or alias. Examples: 'C:\\MySite\\userfiles\' or '/root/mysite/userfiles/'.</span><br />
<span class="co1">// Attention: The above 'UserFilesPath' must point to the same directory.</span><br />
<span class="re0">$Config</span><span class="br0">&#91;</span><span class="st_h">'UserFilesAbsolutePath'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="st_h">'/YOUR/SERVERS/ABSOLUTE/PATH/TO/USERFILES/'</span><span class="sy0">;</span></div></td></tr></tbody></table></div>
<p>To specify the absolute directory path to &#8220;userfiles&#8221; go to <u>osCommerce->Tools->Server Info</u>, scroll down to &#8220;Environtment&#8221; and copy the &#8220;DOCUMENT_ROOT&#8221; variable value. Paste it for $Config['UserFilesAbsolutePath'] and append &#8220;/userfiles/&#8221; at the end of the absolute path. For example, if your website is hosted on a Linux environment your absolute path might look like &#8220;/home/content/user/public_html&#8221; and you will append &#8220;/userfiles/&#8221; after &#8220;public_html&#8221; to complete the full path.</p>
<p><strong>Find at Line 127 &amp; 128</strong></p>
<div class="codecolorer-container php mac-classic" style="overflow:auto;white-space:nowrap;width:590px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br />2<br /></div></td><td><div class="php codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="re0">$Config</span><span class="br0">&#91;</span><span class="st_h">'QuickUploadPath'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'File'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="re0">$Config</span><span class="br0">&#91;</span><span class="st_h">'UserFilesPath'</span><span class="br0">&#93;</span> <span class="sy0">;</span><br />
<span class="re0">$Config</span><span class="br0">&#91;</span><span class="st_h">'QuickUploadAbsolutePath'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'File'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="re0">$Config</span><span class="br0">&#91;</span><span class="st_h">'UserFilesAbsolutePath'</span><span class="br0">&#93;</span> <span class="sy0">;</span></div></td></tr></tbody></table></div>
<p><strong>Replace With</strong></p>
<div class="codecolorer-container php mac-classic" style="overflow:auto;white-space:nowrap;width:590px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br />2<br /></div></td><td><div class="php codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="re0">$Config</span><span class="br0">&#91;</span><span class="st_h">'QuickUploadPath'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'File'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="re0">$Config</span><span class="br0">&#91;</span><span class="st_h">'UserFilesPath'</span><span class="br0">&#93;</span> <span class="sy0">.</span><span class="st_h">'file/'</span><span class="sy0">;</span><br />
<span class="re0">$Config</span><span class="br0">&#91;</span><span class="st_h">'QuickUploadAbsolutePath'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'File'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="re0">$Config</span><span class="br0">&#91;</span><span class="st_h">'UserFilesAbsolutePath'</span><span class="br0">&#93;</span> <span class="sy0">.</span><span class="st_h">'file/'</span><span class="sy0">;</span></div></td></tr></tbody></table></div>
<p><strong>Find at Line 134 &amp; 135</strong></p>
<div class="codecolorer-container php mac-classic" style="overflow:auto;white-space:nowrap;width:590px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br />2<br /></div></td><td><div class="php codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="re0">$Config</span><span class="br0">&#91;</span><span class="st_h">'QuickUploadPath'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'Image'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="re0">$Config</span><span class="br0">&#91;</span><span class="st_h">'UserFilesPath'</span><span class="br0">&#93;</span> <span class="sy0">;</span><br />
<span class="re0">$Config</span><span class="br0">&#91;</span><span class="st_h">'QuickUploadAbsolutePath'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'Image'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="re0">$Config</span><span class="br0">&#91;</span><span class="st_h">'UserFilesAbsolutePath'</span><span class="br0">&#93;</span> <span class="sy0">;</span></div></td></tr></tbody></table></div>
<p><strong>Replace With</strong></p>
<div class="codecolorer-container php mac-classic" style="overflow:auto;white-space:nowrap;width:590px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br />2<br /></div></td><td><div class="php codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="re0">$Config</span><span class="br0">&#91;</span><span class="st_h">'QuickUploadPath'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'Image'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="re0">$Config</span><span class="br0">&#91;</span><span class="st_h">'UserFilesPath'</span><span class="br0">&#93;</span> <span class="sy0">.</span><span class="st_h">'image/'</span><span class="sy0">;</span><br />
<span class="re0">$Config</span><span class="br0">&#91;</span><span class="st_h">'QuickUploadAbsolutePath'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'Image'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="re0">$Config</span><span class="br0">&#91;</span><span class="st_h">'UserFilesAbsolutePath'</span><span class="br0">&#93;</span> <span class="sy0">.</span><span class="st_h">'image/'</span><span class="sy0">;</span></div></td></tr></tbody></table></div>
<p><strong>Find at Line 141 &amp; 142</strong></p>
<div class="codecolorer-container php mac-classic" style="overflow:auto;white-space:nowrap;width:590px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br />2<br /></div></td><td><div class="php codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="re0">$Config</span><span class="br0">&#91;</span><span class="st_h">'QuickUploadPath'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'Flash'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="re0">$Config</span><span class="br0">&#91;</span><span class="st_h">'UserFilesPath'</span><span class="br0">&#93;</span> <span class="sy0">;</span><br />
<span class="re0">$Config</span><span class="br0">&#91;</span><span class="st_h">'QuickUploadAbsolutePath'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'Flash'</span><span class="br0">&#93;</span><span class="sy0">=</span> <span class="re0">$Config</span><span class="br0">&#91;</span><span class="st_h">'UserFilesAbsolutePath'</span><span class="br0">&#93;</span> <span class="sy0">;</span></div></td></tr></tbody></table></div>
<p><strong>Replace With</strong></p>
<div class="codecolorer-container php mac-classic" style="overflow:auto;white-space:nowrap;width:590px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br />2<br /></div></td><td><div class="php codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="re0">$Config</span><span class="br0">&#91;</span><span class="st_h">'QuickUploadPath'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'Flash'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="re0">$Config</span><span class="br0">&#91;</span><span class="st_h">'UserFilesPath'</span><span class="br0">&#93;</span> <span class="sy0">.</span><span class="st_h">'flash/'</span><span class="sy0">;</span><br />
<span class="re0">$Config</span><span class="br0">&#91;</span><span class="st_h">'QuickUploadAbsolutePath'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'Flash'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="re0">$Config</span><span class="br0">&#91;</span><span class="st_h">'UserFilesAbsolutePath'</span><span class="br0">&#93;</span> <span class="sy0">.</span><span class="st_h">'flash/'</span><span class="sy0">;</span></div></td></tr></tbody></table></div>
<p><strong>Find at Line 148 &amp; 149</strong></p>
<div class="codecolorer-container php mac-classic" style="overflow:auto;white-space:nowrap;width:590px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br />2<br /></div></td><td><div class="php codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="re0">$Config</span><span class="br0">&#91;</span><span class="st_h">'QuickUploadPath'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'Media'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="re0">$Config</span><span class="br0">&#91;</span><span class="st_h">'UserFilesPath'</span><span class="br0">&#93;</span> <span class="sy0">;</span><br />
<span class="re0">$Config</span><span class="br0">&#91;</span><span class="st_h">'QuickUploadAbsolutePath'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'Media'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="re0">$Config</span><span class="br0">&#91;</span><span class="st_h">'UserFilesAbsolutePath'</span><span class="br0">&#93;</span> <span class="sy0">;</span></div></td></tr></tbody></table></div>
<p><strong>Replace With</strong></p>
<div class="codecolorer-container php mac-classic" style="overflow:auto;white-space:nowrap;width:590px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br />2<br /></div></td><td><div class="php codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="re0">$Config</span><span class="br0">&#91;</span><span class="st_h">'QuickUploadPath'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'Media'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="re0">$Config</span><span class="br0">&#91;</span><span class="st_h">'UserFilesPath'</span><span class="br0">&#93;</span> <span class="sy0">.</span><span class="st_h">'media/'</span><span class="sy0">;</span><br />
<span class="re0">$Config</span><span class="br0">&#91;</span><span class="st_h">'QuickUploadAbsolutePath'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'Media'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="re0">$Config</span><span class="br0">&#91;</span><span class="st_h">'UserFilesAbsolutePath'</span><span class="br0">&#93;</span> <span class="sy0">.</span><span class="st_h">'media/'</span><span class="sy0">;</span></div></td></tr></tbody></table></div>
<p>These fixes allow FCKeditor to upload files, images, flash and media to their directories in &#8220;userfiles&#8221; and allow the &#8220;browse server&#8221; button in the &#8220;Insert/Edit&#8221; window to list files previously uploaded.</p>
<p><a href="http://www.hektorparis.com/wp-content/uploads/2009/05/fckeditor-products-description.jpg"></a><br />
<strong>FCKeditor Installation Complete</strong><br />
Test the installation by going to <u>osCommerce->Catalog->Categories / Products</u>, select a product and click &#8220;Edit&#8221; from the right column. You should see an instance of FCKeditor in place for the products description.</p>
<p><a href="http://www.hektorparis.com/wp-content/uploads/2009/05/fckeditor-products-description.jpg"><img class="aligncenter size-full wp-image-465" title="fckeditor-products-description" src="http://www.hektorparis.com/wp-content/uploads/2009/05/fckeditor-products-description.jpg" alt="fckeditor-products-description" width="590" height="368" /></a></p>
<p><br clear="all"/></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hektorparis.com/how-to-install-fckeditor-in-oscommerce/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SSL Security Warnings and osCommerce</title>
		<link>http://www.hektorparis.com/ssl-security-warnings-and-oscommerce/</link>
		<comments>http://www.hektorparis.com/ssl-security-warnings-and-oscommerce/#comments</comments>
		<pubDate>Sat, 18 Apr 2009 22:26:53 +0000</pubDate>
		<dc:creator>Hektor</dc:creator>
				<category><![CDATA[osCommerce]]></category>
		<category><![CDATA[ssl mixed content warning]]></category>
		<category><![CDATA[ssl security alert]]></category>
		<category><![CDATA[tep_href_link]]></category>
		<category><![CDATA[tep_image]]></category>

		<guid isPermaLink="false">http://www.hektorparis.com/?p=356</guid>
		<description><![CDATA[Non secure elements within an encrypted page will cause SSL security warnings such as "This page has both secure and insecure items." Making proper use of the tep_link() and tep_image() functions will fix the "mixed" content problem.]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-357" title="firefox_ssl_lock" src="http://www.hektorparis.com/wp-content/uploads/2009/04/firefox_ssl_lock.gif" alt="firefox_ssl_lock" width="320" height="240" />Non secure elements within an encrypted page will cause SSL security warnings such as &#8220;This page has both secure and insecure items&#8221; or &#8220;Connection Partially Encrypted. Parts of the page you are viewing were not encrypted before being transmitted over the Internet.&#8221; Making proper use of the tep_href_link() and tep_image() functions will fix the &#8220;mixed&#8221; content problem. <span id="more-356"></span></p>
<p><br clear="all" /><br />
This is an example of mixed content that would cause a security warning:</p>
<div class="codecolorer-container html4strict mac-classic" style="overflow:auto;white-space:nowrap;width:590px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br />2<br />3<br />4<br />5<br /></div></td><td><div class="html4strict codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="sc2">&lt;<a href="http://december.com/html/4/element/div.html"><span class="kw2">div</span></a> <span class="kw3">id</span><span class="sy0">=</span><span class="st0">&quot;content&quot;</span>&gt;</span><br />
&nbsp;<span class="sc2">&lt;<a href="http://december.com/html/4/element/img.html"><span class="kw2">img</span></a> <span class="kw3">src</span><span class="sy0">=</span><span class="st0">&quot;http://www.myserver.com/images/mypic.jpg&quot;</span> <span class="kw3">alt</span><span class="sy0">=</span><span class="st0">&quot;Not Encrypted&quot;</span> <span class="sy0">/</span>&gt;</span><br />
&nbsp;<span class="sc2">&lt;<a href="http://december.com/html/4/element/img.html"><span class="kw2">img</span></a> <span class="kw3">src</span><span class="sy0">=</span><span class="st0">&quot;https://www.myserver.com/images/mypic.jpg&quot;</span> <span class="kw3">alt</span><span class="sy0">=</span><span class="st0">&quot;Encrypted&quot;</span> <span class="sy0">/</span>&gt;</span><br />
&nbsp;<span class="sc2">&lt;<a href="http://december.com/html/4/element/img.html"><span class="kw2">img</span></a> <span class="kw3">src</span><span class="sy0">=</span><span class="st0">&quot;http://www.anotherserver.com/images/mypic.jpg&quot;</span> <span class="kw3">alt</span><span class="st0">&quot;Hotlink&quot;</span> <span class="sy0">/</span>&gt;</span><br />
<span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/div.html"><span class="kw2">div</span></a>&gt;</span></div></td></tr></tbody></table></div>
<p>You will notice that in the example above the first two images are similar except for one crucial character, an &#8220;s&#8221; after http. Encrypted content should always reflect the https protocol. Another example are hotlinks for images that do not reside on your server, that is because your SSL applies only to your domain name.</p>
<p>The best way to resolve SSL security warnings caused by hotlinks to external images is to ask the owner of the image for permission to download it to your own images directory under the encrypted domain.</p>
<p><br clear="all" /><br />
To reference an image in osCommerece use the tep_image() function as follows:</p>
<div class="codecolorer-container php mac-classic" style="overflow:auto;white-space:nowrap;width:590px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br />2<br />3<br />4<br />5<br /></div></td><td><div class="php codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="co1">// The HTML image wrapper function has the following parameters</span><br />
&nbsp;<span class="kw2">function</span> tep_image<span class="br0">&#40;</span><span class="re0">$src</span><span class="sy0">,</span> <span class="re0">$alt</span> <span class="sy0">=</span> <span class="st_h">''</span><span class="sy0">,</span> <span class="re0">$width</span> <span class="sy0">=</span> <span class="st_h">''</span><span class="sy0">,</span> <span class="re0">$height</span> <span class="sy0">=</span> <span class="st_h">''</span><span class="sy0">,</span> <span class="re0">$parameters</span> <span class="sy0">=</span> <span class="st_h">''</span><span class="br0">&#41;</span><br />
&nbsp;<br />
&nbsp;<span class="co1">// Example</span><br />
&nbsp;<a href="http://www.php.net/echo"><span class="kw3">echo</span></a> tep_image<span class="br0">&#40;</span>DIR_WS_IMAGES<span class="sy0">,</span> <span class="st0">&quot;mypic.jpg&quot;</span><span class="sy0">,</span> <span class="st0">&quot;My ALT text&quot;</span><span class="sy0">,</span> <span class="nu0">100</span><span class="sy0">,</span> <span class="nu0">100</span><span class="br0">&#41;</span><span class="sy0">;</span></div></td></tr></tbody></table></div>
<p><br clear="all" /><br />
To hyperlink your images use the tep_href_link() function as follows:</p>
<div class="codecolorer-container php mac-classic" style="overflow:auto;white-space:nowrap;width:590px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br /></div></td><td><div class="php codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="co1">// The HTML href link wrapper function has the following parameters</span><br />
&nbsp;<span class="kw2">function</span> tep_href_link<span class="br0">&#40;</span><span class="re0">$page</span> <span class="sy0">=</span> <span class="st_h">''</span><span class="sy0">,</span> <span class="re0">$parameters</span> <span class="sy0">=</span> <span class="st_h">''</span><span class="sy0">,</span> <span class="re0">$connection</span> <span class="sy0">=</span> <span class="st_h">'NONSSL'</span><span class="br0">&#41;</span><br />
<br />
&nbsp;<span class="co1">// Example</span><br />
&nbsp;<a href="http://www.php.net/echo"><span class="kw3">echo</span></a> <span class="st_h">'&lt;a href=&quot;'</span> <span class="sy0">.</span>tep_href_link<span class="br0">&#40;</span><span class="st0">&quot;my_page.php&quot;</span><span class="br0">&#41;</span> <span class="sy0">.</span><span class="st_h">'&quot; title=&quot;My Link&quot;&gt;'</span> <span class="sy0">.</span>tep_image<span class="br0">&#40;</span>DIR_WS_IMAGES<span class="sy0">,</span> <span class="st0">&quot;mypic.jpg&quot;</span><span class="sy0">,</span> <span class="st0">&quot;My ALT text&quot;</span><span class="sy0">,</span> <span class="nu0">100</span><span class="sy0">,</span> <span class="nu0">100</span><span class="br0">&#41;</span> <span class="sy0">.</span><span class="st0">&quot;&lt;/a&gt;&quot;</span><span class="sy0">;</span><br />
<br />
&nbsp;<span class="co1">// Explicit use of SSL</span><br />
&nbsp;<a href="http://www.php.net/echo"><span class="kw3">echo</span></a> <span class="st_h">'&lt;a href=&quot;'</span> <span class="sy0">.</span>tep_href_link<span class="br0">&#40;</span><span class="st0">&quot;my_page&quot;</span><span class="sy0">,</span> <span class="st0">&quot;SSL&quot;</span><span class="br0">&#41;</span> <span class="sy0">.</span><span class="st_h">'&quot; title=&quot;Link to HTTPS&quot;&gt;'</span> <span class="sy0">.</span>tep_image<span class="br0">&#40;</span>DIR_WS_IMAGES<span class="sy0">,</span> <span class="st0">&quot;mypic.jpg&quot;</span><span class="sy0">,</span> <span class="st0">&quot;My ALT text&quot;</span><span class="sy0">,</span> <span class="nu0">100</span><span class="sy0">,</span> <span class="nu0">100</span><span class="br0">&#41;</span> <span class="sy0">.</span><span class="st0">&quot;&lt;/a&gt;&quot;</span><span class="sy0">;</span></div></td></tr></tbody></table></div>
<p><br clear="all" /><br />
In the case of shopping cart transactions users expect their personal and credit card information to always be encrypted properly. If your website is displaying security warnings people might decide not to do business with you.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hektorparis.com/ssl-security-warnings-and-oscommerce/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
