Foros del Web » Creando para Internet » Sistemas de gestión de contenidos »

error admin oscommerce

Estas en el tema de error admin oscommerce en el foro de Sistemas de gestión de contenidos en Foros del Web. Buenas tardes, cambiando de proveedor de hosting y configurado todo de nuevo, y funcionando la tienda, me encuentro con el siguiente problema al entrar al ...
  #1 (permalink)  
Antiguo 11/08/2011, 08:31
 
Fecha de Ingreso: junio-2002
Mensajes: 14
Antigüedad: 21 años, 10 meses
Puntos: 1
error admin oscommerce

Buenas tardes,

cambiando de proveedor de hosting y configurado todo de nuevo, y funcionando la tienda, me encuentro con el siguiente problema al entrar al admin de la tienda :

- da error 500 de servidor
- el log del servidor dice:
[Thu Aug 11 16:17:35 2011] [warn] mod_fcgid: stderr: PHP Fatal error: Cannot re-assign $this in /usr/home/fanbar/www/tienda/admin/includes/classes/upload.php on line 31

y este archivo copio y pego un estracto:

----------------------------------------------------------

<?php
/*
$Id: upload.php,v 1.2 2003/06/20 00:18:30 hpdl Exp $

osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com

Copyright (c) 2003 osCommerce

Released under the GNU General Public License
*/

class upload {
var $file, $filename, $destination, $permissions, $extensions, $tmp_filename, $message_location;

function upload($file = '', $destination = '', $permissions = '777', $extensions = '') {
$this->set_file($file);
$this->set_destination($destination);
$this->set_permissions($permissions);
$this->set_extensions($extensions);

$this->set_output_messages('direct');

if (tep_not_null($this->file) && tep_not_null($this->destination)) {
$this->set_output_messages('session');

if ( ($this->parse() == true) && ($this->save() == true) ) {
return true;
} else {
// self destruct
$this = null;


return false;
}
}
}

function parse() {
global $messageStack;

if (isset($_FILES[$this->file])) {
$file = array('name' => $_FILES[$this->file]['name'],
'type' => $_FILES[$this->file]['type'],
'size' => $_FILES[$this->file]['size'],
'tmp_name' => $_FILES[$this->file]['tmp_name']);
} elseif (isset($GLOBALS['HTTP_POST_FILES'][$this->file])) {
global $HTTP_POST_FILES;

$file = array('name' => $HTTP_POST_FILES[$this->file]['name'],
'type' => $HTTP_POST_FILES[$this->file]['type'],
'size' => $HTTP_POST_FILES[$this->file]['size'],
'tmp_name' => $HTTP_POST_FILES[$this->file]['tmp_name']);
} else {
$file = array('name' => (isset($GLOBALS[$this->file . '_name']) ? $GLOBALS[$this->file . '_name'] : ''),
'type' => (isset($GLOBALS[$this->file . '_type']) ? $GLOBALS[$this->file . '_type'] : ''),
'size' => (isset($GLOBALS[$this->file . '_size']) ? $GLOBALS[$this->file . '_size'] : ''),
'tmp_name' => (isset($GLOBALS[$this->file]) ? $GLOBALS[$this->file] : ''));
}

if ( tep_not_null($file['tmp_name']) && ($file['tmp_name'] != 'none') && is_uploaded_file($file['tmp_name']) ) {
if (sizeof($this->extensions) > 0) {
if (!in_array(strtolower(substr($file['name'], strrpos($file['name'], '.')+1)), $this->extensions)) {
if ($this->message_location == 'direct') {
$messageStack->add(ERROR_FILETYPE_NOT_ALLOWED, 'error');
} else {
$messageStack->add_session(ERROR_FILETYPE_NOT_ALLOWED, 'error');
}

return false;
}
}

$this->set_file($file);
$this->set_filename($file['name']);
$this->set_tmp_filename($file['tmp_name']);

return $this->check_destination();
} else {
if ($this->message_location == 'direct') {
$messageStack->add(WARNING_NO_FILE_UPLOADED, 'warning');
} else {
$messageStack->add_session(WARNING_NO_FILE_UPLOADED, 'warning');
}

return false;
}
}

function save() {
global $messageStack;

if (substr($this->destination, -1) != '/') $this->destination .= '/';

if (move_uploaded_file($this->file['tmp_name'], $this->destination . $this->filename)) {
chmod($this->destination . $this->filename, $this->permissions);

if ($this->message_location == 'direct') {
$messageStack->add(SUCCESS_FILE_SAVED_SUCCESSFULLY, 'success');
} else {
$messageStack->add_session(SUCCESS_FILE_SAVED_SUCCESSFULLY, 'success');
}

return true;
} else {
if ($this->message_location == 'direct') {
$messageStack->add(ERROR_FILE_NOT_SAVED, 'error');
} else {
$messageStack->add_session(ERROR_FILE_NOT_SAVED, 'error');
}

return false;
}
}

function set_file($file) {
$this->file = $file;
}

function set_destination($destination) {
$this->destination = $destination;
}

function set_permissions($permissions) {
$this->permissions = octdec($permissions);
}

function set_filename($filename) {
$this->filename = $filename;
}

function set_tmp_filename($filename) {
$this->tmp_filename = $filename;
}

function set_extensions($extensions) {
if (tep_not_null($extensions)) {
if (is_array($extensions)) {
$this->extensions = $extensions;
} else {
$this->extensions = array($extensions);
}
} else {
$this->extensions = array();
}
}

function check_destination() {
global $messageStack;

if (!is_writeable($this->destination)) {
if (is_dir($this->destination)) {
if ($this->message_location == 'direct') {
$messageStack->add(sprintf(ERROR_DESTINATION_NOT_WRITEABLE, $this->destination), 'error');
} else {
$messageStack->add_session(sprintf(ERROR_DESTINATION_NOT_WRITEAB LE, $this->destination), 'error');
}
} else {
if ($this->message_location == 'direct') {
$messageStack->add(sprintf(ERROR_DESTINATION_DOES_NOT_EXIST, $this->destination), 'error');
} else {
$messageStack->add_session(sprintf(ERROR_DESTINATION_DOES_NOT_EX IST, $this->destination), 'error');
}
}

return false;
} else {
return true;
}
}

function set_output_messages($location) {
switch ($location) {
case 'session':
$this->message_location = 'session';
break;
case 'direct':
default:
$this->message_location = 'direct';
break;
}
}
}
?>
  #2 (permalink)  
Antiguo 12/08/2011, 09:37
 
Fecha de Ingreso: septiembre-2007
Ubicación: Venezuela
Mensajes: 92
Antigüedad: 16 años, 7 meses
Puntos: 1
Respuesta: error admin oscommerce

Comenta $this en la línea 31 de UPLOAD.PHP, esto sucede por que estás utilizando en el servidor PHP5

Tu ruta:
/usr/home/fanbar/www/tienda/admin/includes/classes/upload.php
__________________
Jacobo Castillo
http://www.jacobocastillo.com
Desarrollador Web Freelance
osCommerce - Joomla - Wordpress - SEO
  #3 (permalink)  
Antiguo 12/08/2011, 12:07
 
Fecha de Ingreso: junio-2002
Mensajes: 14
Antigüedad: 21 años, 10 meses
Puntos: 1
Respuesta: error admin oscommerce

OK gracias,

era eso exactamente, el nuevo servidor lleva php 5 lo he solucionado siguiendo estas indicaciones aunque no se muy bien qué he hecho:

http://kb.siteground.com/article/oscommerce_fatal_error_cannot_reassign_this.html

Etiquetas: aplicaciones-prefabricadas, oscommerce
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:14.