prakritiaryan1@gmail Posted December 31, 2013 Share Posted December 31, 2013 Hi i install prestashop 1.5.4.1 and getting this error. Fatal error: Class 'Media' not found in /hermes/bosweb/web169/b1691/ipg.akshyariti/shopnvend/classes/controller/Controller.php on line 243 please help Thanks Prakriti Link to comment Share on other sites More sharing options...
vekia Posted December 31, 2013 Share Posted December 31, 2013 hello please open /classes/ directory and check if there is file named "Media.php" Link to comment Share on other sites More sharing options...
prakritiaryan1@gmail Posted December 31, 2013 Author Share Posted December 31, 2013 hi, there is no folder name directory. in classes. thanks for instant reply Prakriti Link to comment Share on other sites More sharing options...
vekia Posted December 31, 2013 Share Posted December 31, 2013 you haven't got /classes/ dir in root dir of your prestashop installation ? this directory is more than necessary Link to comment Share on other sites More sharing options...
prakritiaryan1@gmail Posted December 31, 2013 Author Share Posted December 31, 2013 hi, I misunderstood your message, now i get media.php file which is blank. thanks prakriti Link to comment Share on other sites More sharing options...
prakritiaryan1@gmail Posted December 31, 2013 Author Share Posted December 31, 2013 hi, if i replace this with original media.php then will it be solve? Thanks Prakriti Link to comment Share on other sites More sharing options...
vekia Posted December 31, 2013 Share Posted December 31, 2013 definitely, try to replace it with original file, will se whats going on then Link to comment Share on other sites More sharing options...
prakritiaryan1@gmail Posted January 1, 2014 Author Share Posted January 1, 2014 hi, i did but nothing happen same error. the link is http://shopnvend.com/index.php. Link to comment Share on other sites More sharing options...
walidon Posted January 1, 2014 Share Posted January 1, 2014 can you upload here, (as an attatchment) the controller.php file? Link to comment Share on other sites More sharing options...
prakritiaryan1@gmail Posted January 1, 2014 Author Share Posted January 1, 2014 hi, thanks for helping, i m not able to attach file so pasting code here. <?php/** 2007-2013 PrestaShop** NOTICE OF LICENSE** This source file is subject to the Open Software License (OSL 3.0)* that is bundled with this package in the file LICENSE.txt.* It is also available through the world-wide-web at this URL:* http://opensource.org/licenses/osl-3.0.php* If you did not receive a copy of the license and are unable to* obtain it through the world-wide-web, please send an email* to [email protected] so we can send you a copy immediately.** DISCLAIMER** Do not edit or add to this file if you wish to upgrade PrestaShop to newer* versions in the future. If you wish to customize PrestaShop for your* needs please refer to http://www.prestashop.com for more information.** @author PrestaShop SA <[email protected]>* @copyright 2007-2013 PrestaShop SA* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)* International Registered Trademark & Property of PrestaShop SA*//** * @since 1.5.0 */abstract class ControllerCore{ /** * @var Context */ protected $context; /** * @var array list of css files */ public $css_files = array(); /** * @var array list of javascript files */ public $js_files = array(); /** * @var bool check if header will be displayed */ protected $display_header; /** * @var string template name for page content */ protected $template; /** * @var string check if footer will be displayed */ protected $display_footer; /** * @var string check if only content will be displayed */ protected $content_only = false; /** * @var bool If ajax parameter is detected in request, set this flag to true */ public $ajax = false; protected $json = false; protected $status = ''; protected $redirect_after = null; public $controller_type; /** * check that the controller is available for the current user/visitor */ abstract public function checkAccess(); /** * check that the current user/visitor has valid view permissions */ abstract public function viewAccess(); /** * Initialize the page */ public function init() { if (!defined('_PS_BASE_URL_')) define('_PS_BASE_URL_', Tools::getShopDomain(true)); if (!defined('_PS_BASE_URL_SSL_')) define('_PS_BASE_URL_SSL_', Tools::getShopDomainSsl(true)); } /** * Do the page treatment : post process, ajax process, etc. */ abstract public function postProcess(); /** * Display page view */ abstract public function display(); /** * Redirect after process if no error */ abstract protected function redirect(); /** * Set default media list for controller */ abstract public function setMedia(); /** * Get an instance of a controller * * @param string $class_name * @param bool $auth * @param bool $ssl */ public static function getController($class_name, $auth = false, $ssl = false) { return new $class_name($auth, $ssl); } public function __construct() { if (is_null($this->display_header)) $this->display_header = true; if (is_null($this->display_footer)) $this->display_footer = true; $this->context = Context::getContext(); $this->context->controller = $this; // Usage of ajax parameter is deprecated $this->ajax = Tools::getValue('ajax') || Tools::isSubmit('ajax'); } /** * Start controller process (this method shouldn't be overriden !) */ public function run() { $this->init(); if ($this->checkAccess()) { // setMedia MUST be called before postProcess if (!$this->content_only && ($this->display_header || (isset($this->className) && $this->className))) $this->setMedia(); // postProcess handles ajaxProcess $this->postProcess(); if (!empty($this->redirect_after)) $this->redirect(); if (!$this->content_only && ($this->display_header || (isset($this->className) && $this->className))) $this->initHeader(); if ($this->viewAccess()) $this->initContent(); else $this->errors[] = Tools::displayError('Access denied.'); if (!$this->content_only && ($this->display_footer || (isset($this->className) && $this->className))) $this->initFooter(); // default behavior for ajax process is to use $_POST[action] or $_GET[action] // then using displayAjax[action] if ($this->ajax) { $action = Tools::toCamelCase(Tools::getValue('action'), true); if (!empty($action) && method_exists($this, 'displayAjax'.$action)) $this->{'displayAjax'.$action}(); elseif (method_exists($this, 'displayAjax')) $this->displayAjax(); } else $this->display(); } else { $this->initCursedPage(); $this->smartyOutputContent($this->layout); } } public function displayHeader($display = true) { $this->display_header = $display; } public function displayFooter($display = true) { $this->display_footer = $display; } public function setTemplate($template) { $this->template = $template; } /** * Assign smarty variables for the page header */ abstract public function initHeader(); /** * Assign smarty variables for the page main content */ abstract public function initContent(); /** * Assign smarty variables when access is forbidden */ abstract public function initCursedPage(); /** * Assign smarty variables for the page footer */ abstract public function initFooter(); /** * Add a new stylesheet in page header. * * @param mixed $css_uri Path to css file, or list of css files like this : array(array(uri => media_type), ...) * @param string $css_media_type * @return true */ public function addCSS($css_uri, $css_media_type = 'all') { if (is_array($css_uri)) foreach ($css_uri as $css_file => $media) { if (is_string($css_file) && strlen($css_file) > 1) { $css_path = Media::getCSSPath($css_file, $media); if ($css_path && !in_array($css_path, $this->css_files)) $this->css_files = array_merge($this->css_files, $css_path); } else { $css_path = Media::getCSSPath($media, $css_media_type); if ($css_path && !in_array($css_path, $this->css_files)) $this->css_files = array_merge($this->css_files, $css_path); } } else if (is_string($css_uri) && strlen($css_uri) > 1) { $css_path = Media::getCSSPath($css_uri, $css_media_type); if ($css_path) $this->css_files = array_merge($this->css_files, $css_path); } } /** * Add a new javascript file in page header. * * @param mixed $js_uri * @return void */ public function addJS($js_uri) { if (is_array($js_uri)) foreach ($js_uri as $js_file) { $js_path = Media::getJSPath($js_file); if ($js_path && !in_array($js_path, $this->js_files)) $this->js_files[] = $js_path; } else { $js_path = Media::getJSPath($js_uri); if ($js_path) $this->js_files[] = $js_path; } } /** * Add a new javascript file in page header. * * @param mixed $js_uri * @return void */ public function addJquery($version = null, $folder = null, $minifier = true) { $this->addJS(Media::getJqueryPath($version, $folder, $minifier)); } /** * Add a new javascript file in page header. * * @param mixed $js_uri * @return void */ public function addJqueryUI($component, $theme = 'base', $check_dependencies = true) { $ui_path = array(); if (!is_array($component)) $component = array($component); foreach ($component as $ui) { $ui_path = Media::getJqueryUIPath($ui, $theme, $check_dependencies); $this->addCSS($ui_path['css']); $this->addJS($ui_path['js']); } } /** * Add a new javascript file in page header. * * @param mixed $js_uri * @return void */ public function addJqueryPlugin($name, $folder = null) { $plugin_path = array(); if (is_array($name)) { foreach ($name as $plugin) { $plugin_path = Media::getJqueryPluginPath($plugin, $folder); if(!empty($plugin_path['js'])) $this->addJS($plugin_path['js']); if(!empty($plugin_path['css'])) $this->addCSS($plugin_path['css']); } } else { $plugin_path = Media::getJqueryPluginPath($name, $folder); if(!empty($plugin_path['css'])) $this->addCSS($plugin_path['css']); if(!empty($plugin_path['js'])) $this->addJS($plugin_path['js']); } } /** * @since 1.5 * @return bool return true if Controller is called from XmlHttpRequest */ public function isXmlHttpRequest() { return (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'); } protected function smartyOutputContent($content) { $this->context->cookie->write(); $this->context->smarty->display($content); }} thanks prakriti Link to comment Share on other sites More sharing options...
prakritiaryan1@gmail Posted January 1, 2014 Author Share Posted January 1, 2014 hi, line number 243 is $css_path = Media::getCSSPath($css_file, $media); Thanks Prakriti Link to comment Share on other sites More sharing options...
walidon Posted January 1, 2014 Share Posted January 1, 2014 Ok, step 1 can you make a copy of the file class_index.php which can be found in the cache folder in the root of your installation folder. then after securing the file in your computer, delete that file from your server and see what happens. if nothing happens restore the file and we will move to step 2 1 Link to comment Share on other sites More sharing options...
prakritiaryan1@gmail Posted January 1, 2014 Author Share Posted January 1, 2014 Hi PrestaShop Apprentice, Thank you so much its working fine now . Thanks Prakriti Link to comment Share on other sites More sharing options...
walidon Posted January 1, 2014 Share Posted January 1, 2014 (edited) Good, I visited your site and I see it is working. Mark the topic as solved please! P.S: if you want to attach file you have to go to the "use full editor" if you are editing your post, and if you are replying click on the " more reply options". P.S 2 : the names of users are the ones in the blue bar:) mine for example is walidon, prestashop apprentice is the status of the user according to his posts and other factors;) All the best for the rest. Yours Ever, Edited January 1, 2014 by walidon (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now