<?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>mis apuntes oscommerce &#187; Características</title>
	<atom:link href="http://www.keleke.com/category/caracteristicas/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.keleke.com</link>
	<description>contribuciones, posicionamiento, google... oscommerce</description>
	<lastBuildDate>Mon, 28 Dec 2009 21:23:52 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>osCommerce Update 060817</title>
		<link>http://www.keleke.com/2006/oscommerce-update-060817/</link>
		<comments>http://www.keleke.com/2006/oscommerce-update-060817/#comments</comments>
		<pubDate>Thu, 14 Sep 2006 17:17:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Características]]></category>
		<category><![CDATA[OsCommerce]]></category>

		<guid isPermaLink="false">http://keleke.com/?p=29</guid>
		<description><![CDATA[Nueva revisión ya disponible desde el download de OsCommerce ,  osCommerce 2.2 Milestone 2 Update 060817
Los cambios en esta nueva revisión de oscommerce  son los siguientes:
## Update 060817 (17th August 2006)
- Magic Quotes Compatibility Layer Fix
- Parse GET Variables In Cache Functions
- PHP 3 Session ID XSS Issue
- Product Attributes SQL Injection
- Resize [...]]]></description>
			<content:encoded><![CDATA[<p>Nueva revisión ya disponible desde el <a href="http://www.oscommerce.com/solutions/downloads">download de OsCommerce ,  osCommerce 2.2 Milestone 2 Update 060817</a></p>
<p>Los cambios en esta nueva revisión de oscommerce  son los siguientes:</p>
<p>## Update 060817 (17th August 2006)</p>
<p>- Magic Quotes Compatibility Layer Fix<br />
- Parse GET Variables In Cache Functions<br />
- PHP 3 Session ID XSS Issue<br />
- Product Attributes SQL Injection<br />
- Resize Images To Round Numbers<br />
- Use The Correct Country Name Value When Formatting Addresses<br />
- Prevent The Session ID Being Passed In Tell-A-Friend E-Mails<br />
- Properly Remove Deleted Products That Exist In Shopping Carts</p>
<p>Y estos son las soluciones , por si quieres actualizar tu oscommerce :</p>
<p><strong>Cambio 1:</strong></p>
<p>Reemplazar en catalog/includes/functions/compatibility.php:</p>
<p>Lineas 22-23, de:</p>
<p><code>if (is_array($value)) {<br />
  do_magic_quotes_gpc($value);</code></p>
<p>a:</p>
<p><code>if (is_array($ar[$key])) {<br />
  do_magic_quotes_gpc($ar[$key]);</code></p>
<p>Reemplazar en catalog/admin/includes/functions/compatibility.php:</p>
<p>Lineas 22-23, de:</p>
<p><code>if (is_array($value)) {<br />
  do_magic_quotes_gpc($value);</code></p>
<p>a:<br />
<code><br />
if (is_array($ar[$key])) {<br />
  do_magic_quotes_gpc($ar[$key]);</code></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
Parse GET Variables In Cache Functions</p>
<p>http://svn.oscommerce.com/trac/changeset/708</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p><strong>Cambio 2:</strong></p>
<p>Reemplazar en catalog/includes/functions/cache.php:</p>
<p>Linea 121, de:</p>
<p><code>if (isset($HTTP_GET_VARS['manufactuers_id']) &#038;&#038; tep_not_null($HTTP_GET_VARS['manufacturers_id'])) {</code></p>
<p>a:</p>
<p><code>if (isset($HTTP_GET_VARS['manufactuers_id']) &#038;&#038; is_numeric($HTTP_GET_VARS['manufacturers_id'])) {</code></p>
<p>Lineas 142-148, de:</p>
<p><code>if (($refresh == true) || !read_cache($cache_output, 'also_purchased-' . $language . '.cache' . $HTTP_GET_VARS['products_id'], $auto_expire)) {<br />
  ob_start();<br />
  include(DIR_WS_MODULES . FILENAME_ALSO_PURCHASED_PRODUCTS);<br />
  $cache_output = ob_get_contents();<br />
  ob_end_clean();<br />
  write_cache($cache_output, 'also_purchased-' . $language . '.cache' . $HTTP_GET_VARS['products_id']);<br />
}</code></p>
<p>a:</p>
<p><code>$cache_output = '';</p>
<p>if (isset($HTTP_GET_VARS['products_id']) &#038;&#038; is_numeric($HTTP_GET_VARS['products_id'])) {<br />
  if (($refresh == true) || !read_cache($cache_output, 'also_purchased-' . $language . '.cache' . $HTTP_GET_VARS['products_id'], $auto_expire)) {<br />
    ob_start();<br />
    include(DIR_WS_MODULES . FILENAME_ALSO_PURCHASED_PRODUCTS);<br />
    $cache_output = ob_get_contents();<br />
    ob_end_clean();<br />
    write_cache($cache_output, 'also_purchased-' . $language . '.cache' . $HTTP_GET_VARS['products_id']);<br />
  }<br />
}</code></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
PHP 3 Session ID XSS Issue</p>
<p>http://svn.oscommerce.com/trac/changeset/709</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p><strong>Cambio 3:</strong></p>
<p>Añadir a catalog/includes/classes/sessions.php:</p>
<p>Linea 380:</p>
<p><code>if (!empty($session->id)) {<br />
  if (preg_match('/^[a-zA-Z0-9]+$/', $session->id) == false) {<br />
    unset($session->id);<br />
  }<br />
}</code></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
Product Attributes SQL Injection</p>
<p>http://svn.oscommerce.com/trac/changeset/703</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p><strong>Cambio 4:</strong></p>
<p>Reemplazar en catalog/includes/classes/shopping_cart.php:</p>
<p>Linea 84, de:</p>
<p><code>if (is_numeric($products_id) &#038;&#038; is_numeric($qty)) {</code></p>
<p>a:<br />
<code><br />
$attributes_pass_check = true;</p>
<p>if (is_array($attributes)) {<br />
  reset($attributes);<br />
  while (list($option, $value) = each($attributes)) {<br />
    if (!is_numeric($option) || !is_numeric($value)) {<br />
      $attributes_pass_check = false;<br />
      break;<br />
    }<br />
  }<br />
}</p>
<p>if (is_numeric($products_id) &#038;&#038; is_numeric($qty) &#038;&#038; ($attributes_pass_check == true)) {</code></p>
<p>Linea 125, de:</p>
<p><code>if (is_numeric($products_id) &#038;&#038; isset($this->contents[$products_id_string]) &#038;&#038; is_numeric($quantity)) {</code></p>
<p>a:</p>
<p><code>$attributes_pass_check = true;</p>
<p>if (is_array($attributes)) {<br />
  reset($attributes);<br />
  while (list($option, $value) = each($attributes)) {<br />
    if (!is_numeric($option) || !is_numeric($value)) {<br />
      $attributes_pass_check = false;<br />
      break;<br />
    }<br />
  }<br />
}</p>
<p>if (is_numeric($products_id) &#038;&#038; isset($this->contents[$products_id_string]) &#038;&#038; is_numeric($quantity) &#038;&#038; ($attributes_pass_check == true)) {</code></p>
<p>Reemplazar en catalog/shopping_cart.php:</p>
<p>Lineas 84-85, de:</p>
<p><code>where pa.products_id = '" . $products[$i]['id'] . "'<br />
and pa.options_id = '" . $option . "'</code></p>
<p>a:<br />
<code><br />
where pa.products_id = '" . (int)$products[$i]['id'] . "'<br />
and pa.options_id = '" . (int)$option . "'</code></p>
<p>Line 87, de:</p>
<p><code>and pa.options_values_id = '" . $value . "'</code></p>
<p>a:</p>
<p><code>and pa.options_values_id = '" . (int)$value . "'</code></p>
<p>Lines 89-90, de:<br />
<code><br />
and popt.language_id = '" . $languages_id . "'<br />
and poval.language_id = '" . $languages_id . "'");</code></p>
<p>a:</p>
<p><code>and popt.language_id = '" . (int)$languages_id . "'<br />
and poval.language_id = '" . (int)$languages_id . "'");</code></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
Resize Images To Round Numbers</p>
<p>http://www.oscommerce.com/community/bugs,1371</p>
<p>http://svn.oscommerce.com/trac/changeset/707</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p><strong>Cambio 5:</strong><br />
Reemplazar en  catalog/includes/functions/html_output.php:</p>
<p>Line 91, de:</p>
<p><code>$width = $image_size[0] * $ratio;</code></p>
<p>a:</p>
<p><code>$width = intval($image_size[0] * $ratio);</code></p>
<p>Line 94, de:</p>
<p><code>$height = $image_size[1] * $ratio;</code></p>
<p>a:</p>
<p><code>$height = intval($image_size[1] * $ratio);</code></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
Use The Correct Country Name Value When Formatting Addresses</p>
<p>http://www.oscommerce.com/community/bugs,1291</p>
<p>http://svn.oscommerce.com/trac/changeset/713</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p><strong>Cambio 6:</strong></p>
<p>Reemplazar en catalog/includes/functions/general.php:</p>
<p>Line 453, de:</p>
<p><code>$country = tep_output_string_protected($address['country']);</code></p>
<p>a:</p>
<p><code>$country = tep_output_string_protected($address['country']['title']);</code></p>
<p>La siguiente linea debe ser borrada:</p>
<p>Line 483:</p>
<p><code>if ($country == '') $country = tep_output_string_protected($address['country']);</code></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
Prevent The Session ID Being Passed In Tell-A-Friend E-Mails</p>
<p>http://www.oscommerce.com/community/bugs,3986</p>
<p>http://svn.oscommerce.com/trac/changeset/715</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p><strong>Cambio 7:</strong></p>
<p>Reemplazar en catalog/tell_a_friend.php:</p>
<p>Linea 77, de:</p>
<p><code>$email_body .= sprintf(TEXT_EMAIL_LINK, tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $HTTP_GET_VARS['products_id'])) . "\n\n" .</code></p>
<p>a:</p>
<p><code>$email_body .= sprintf(TEXT_EMAIL_LINK, tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $HTTP_GET_VARS['products_id'], 'NONSSL', false)) . "\n\n" .</code></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
Properly Remove Deleted Products That Exist In Shopping Carts</p>
<p>http://www.oscommerce.com/community/bugs,3193</p>
<p>http://svn.oscommerce.com/trac/changeset/717</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p><strong>Cambio 8:</strong></p>
<p>Reemplazar en catalog/admin/includes/functions/general.php:</p>
<p>Lines 900-901, de:</p>
<p><code>tep_db_query("delete from " . TABLE_CUSTOMERS_BASKET . " where products_id = '" . (int)$product_id . "'");<br />
tep_db_query("delete from " . TABLE_CUSTOMERS_BASKET_ATTRIBUTES . " where products_id = '" . (int)$product_id . "'");</code></p>
<p>a:</p>
<p><code>tep_db_query("delete from " . TABLE_CUSTOMERS_BASKET . " where products_id = '" . (int)$product_id . "' or products_id like '" . (int)$product_id . "{%'");<br />
tep_db_query("delete from " . TABLE_CUSTOMERS_BASKET_ATTRIBUTES . " where products_id = '" . (int)$product_id . "' or products_id like '" . (int)$product_id . "{%'");</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.keleke.com/2006/oscommerce-update-060817/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Características principales de OsCommerce</title>
		<link>http://www.keleke.com/2005/oscommerce-caracteristicas/</link>
		<comments>http://www.keleke.com/2005/oscommerce-caracteristicas/#comments</comments>
		<pubDate>Tue, 02 Aug 2005 11:29:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Características]]></category>

		<guid isPermaLink="false">http://keleke.com/?p=5</guid>
		<description><![CDATA[La instalación básica de oscommerce, tiene unas características por defecto, que luego podemos modificar bien por administración o con ayuda de contribuciones, como nuevos módulos de pago (e-pagado), de envío (Seur), etc&#8230;
Estas son las características principales de la instalación de Oscommerce:

Generales 
Los pedidos, clientes y productos se almacenan en una base de datos de fácil [...]]]></description>
			<content:encoded><![CDATA[<p>La instalación básica de oscommerce, tiene unas características por defecto, que luego podemos modificar bien por administración o con ayuda de contribuciones, como nuevos módulos de pago (e-pagado), de envío (Seur), etc&#8230;</p>
<p>Estas son las características principales de la instalación de Oscommerce:<br />
<span id="more-5"></span><br />
<strong>Generales </strong></p>
<li>Los pedidos, clientes y productos se almacenan en una base de datos de fácil consulta via administración-web.</li>
<li>Los clientes podrán comprobar el histórico y el estado de sus pedidos una vez registrados </li>
<li>Los clientes pueden cambiar sus datos de perfil de usuario desde su apartado cliente. </li>
<li>Múltiples direcciones de envío por usuario, para regalos por ejemplo </li>
<li>Búsqueda de productos. </li>
<li>Posibilidad de permitir a los usuarios valorar los productos comprados, además de comentarlos. </li>
<li>Posibilidad de implementar un sevidor seguro (SSL). </li>
<li>Puede mostrar el número de productos en cada una de las categorías. </li>
<li>Lista global o por categoría de los productos más vendidos y más vistos. </li>
<li>Fácil e intuitiva navegación por categorías. </li>
<li>Plataforma multi-idiomas, por defecto estarán disponibles el español,  inglés y alemán. </li>
<p><strong>Producto </strong></p>
<li>Relaciones dinámicas entre productos. </li>
<li>Descripciones de productos basadas en HTML. </li>
<li>Generación automática de productos especiales. </li>
<li>Controla la posibilidad de mostrar o no en la tienda virtual los productos agotados. </li>
<li>Posibilidad de ofrecer a los usuarios la suscripción a una newsletter de novedades. </li>
<p><strong>Pagos </strong></p>
<li>Medios de pago offline (transferencias, cheques, ingresos, etc.). </li>
<li>Muchos medios de pago online (<a href="https://www.epagado.com" target="_blank">E-Pagado</a>, <a href="https://www.paypal.com/es/mrb/pal=B4G7MFEYF3STE" target="_blank">PayPal</a>, TPV virtual, etc.). </li>
<li>Posibilidad de deshabilitar algunos medios de pago según la zona geográfica del usuario. </li>
<li>Posibilidad de añadir el IVA por zonas geográficas y por productos, ya que por ejemplo Nigeria no tienen IVA </li>
<p><strong>Envíos </strong></p>
<li>Precios de envío por peso, destino y precio. </li>
<li>Precios reales disponibles en tiempo real para algunos operadores (UPS, FedEx). </li>
<li>Envío gratuito según importe del pedido y destino</li>
<li>Posibilidad de deshabilitar determinados servicios de envío en función de zonas geográficas.</li>
]]></content:encoded>
			<wfw:commentRss>http://www.keleke.com/2005/oscommerce-caracteristicas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
