yesme Posted February 12, 2009 Share Posted February 12, 2009 Hi, Just re-installed back osCommerce after the previous osCommerce got many problems. The problem now is, when my first time opening the admin page an error appeared as below: Fatal error: Cannot re-assign $this in /home/sultrysu/public_html/shop/admin/includes/classes/upload.php on line 31 You can check it directly at http://www.sultrysutera.com/shop Now, I give you my upload.php scripts for more easier to identify the problem. <?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_WRITEABLE, $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_EXIST, $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; } } } ?> Help will be appreciated. Thank you so much. Link to comment Share on other sites More sharing options...
yesme Posted February 13, 2009 Author Share Posted February 13, 2009 I have searched entire forum but didnt find any similar issue. Could somebody help me regarding this matter?...Thank you. Link to comment Share on other sites More sharing options...
yesme Posted February 13, 2009 Author Share Posted February 13, 2009 So funny. I didnt have any knowledge about php but after I removed the code in the line 31, $this = null; The error is not appear anymore. Am I doing the right thing? Worry will effect in the future. Thank you. Link to comment Share on other sites More sharing options...
yesme Posted February 13, 2009 Author Share Posted February 13, 2009 Okay, now once again an error appears related to the upload.php file. This time I were trying to upload a product to the catalog but an errors message appeared as below: Warning: move_uploaded_file(/home/sultrysu/public_html/shop/images/dynamic.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied in /home/susu/public_html/shop/admin/includes/classes/upload.php on line 92 Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/php0X8ABw' to '/home/susu/public_html/shop/images/dynamic.jpg' in /home/sultrysu/public_html/shop/admin/includes/classes/upload.php on line 92 Please help regarding this matter. Very much appreciates for any help. Thank you. Link to comment Share on other sites More sharing options...
yesme Posted February 13, 2009 Author Share Posted February 13, 2009 Hi, Looks like I am the only person who talking with ghost over here hahaha. Now, after my pimples growing up bigger because of tension, I has resolve the problem by myself. By removing, // self destruct $this = null; The errors which appears in the admin page and upload product page have already gone. Btw, thank you for mute your mouth as I am able to solve this prob myself. But not guarantee for other problem arise. :D Link to comment Share on other sites More sharing options...
shan.devlop Posted February 13, 2009 Share Posted February 13, 2009 Hi, Your store still has many errors: http://www.sultrysutera.com/shop/index.php?cPath=30_36 It seems to me that you are on PHP5/MySQl5 hosting environment, which is causing these errors. Here is an obsolete solution for your errors. http://addons.oscommerce.com/info/3727 Hope this will help you :rolleyes: Making ERROR is Human So Please BACKUP Shantnu Link to comment Share on other sites More sharing options...
yesme Posted February 13, 2009 Author Share Posted February 13, 2009 Shantnu, Thank you for your respond. My removal is same like the obsolete solution. But, yes I am having that 1054 problem too. I think because the tempate itself. I got it free and install it because the layout is so professional eventhough the version is very old, I do not know but the copyright is 2003. :) Link to comment Share on other sites More sharing options...
shan.devlop Posted February 13, 2009 Share Posted February 13, 2009 Shantnu, Thank you for your respond. My removal is same like the obsolete solution. But, yes I am having that 1054 problem too. I think because the tempate itself. I got it free and install it because the layout is so professional eventhough the version is very old, I do not know but the copyright is 2003. :) You just need to follow the instructions in the text document yes it is due to version, the one you are using was made for PHP4. Just follow the instructions and everything will be fine Making ERROR is Human So Please BACKUP Shantnu Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.