Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Ошибка


tchibo

Recommended Posts

При переходе во вкладку "Установка дополнений" выдает ошибку Fatal error: Cannot redeclare ControllerExtensionInstaller::localcopy() in  /public_html/system/storage/modification/admin/controller/extension/installer.php on line 281
Что делать, подскажите пожалуйста!!!

Надіслати
Поділитися на інших сайтах


  • 1 year later...
  • 2 months later...
В 16.05.2019 в 21:54, IluaTsvetkov2019 сказал:

а что удалили то? такая же проблема

Если прям внатуре такая же, то скорее всего тебе надо задвоение в коде по этому пути найти, гляди localcopy

 

Их там 2 должно быть, если определится 3, то удали последнюю!)

 

Спойлер

public function localcopy() {
		$this->load->language('extension/installer');

		$json = array();

		if (!$this->user->hasPermission('modify', 'extension/installer')) {
			$json['error'] = $this->language->get('error_permission');
		}

		if (VERSION == '2.0.0.0') {
		    $directory = DIR_DOWNLOAD  . str_replace(array('../', '..\\', '..'), '', $this->request->post['path']) . '/upload/';
		} else {
		    $directory = DIR_UPLOAD  . str_replace(array('../', '..\\', '..'), '', $this->request->post['path']) . '/upload/';
		}

		if (!is_dir($directory)) {
			$json['error'] = $this->language->get('error_directory');
		}

		if (!$json) {
			// Get a list of files ready to upload
			$files = array();

			$path = array($directory . '*');

			while (count($path) != 0) {
				$next = array_shift($path);

				foreach (glob($next) as $file) {
					if (is_dir($file)) {
						$path[] = $file . '/*';
					}

					$files[] = $file;
				}
			}

			$root = dirname(DIR_APPLICATION).'/';

			foreach ($files as $file) {
				// Upload everything in the upload directory
				$destination = substr($file, strlen($directory));

				// Update from newer OpenCart versions:
				if (substr($destination, 0, 5) == 'admin') {
					$destination = DIR_APPLICATION . substr($destination, 5);
				} else if (substr($destination, 0, 7) == 'catalog') {
					$destination = DIR_CATALOG . substr($destination, 7);
				} else if (substr($destination, 0, 5) == 'image') {
					$destination = DIR_IMAGE . substr($destination, 5);
				} else if (substr($destination, 0, 6) == 'system') {
					$destination = DIR_SYSTEM . substr($destination, 6);
				} else {
					$destination = $root.$destination;
				}

				if (is_dir($file)) {
					if (!file_exists($destination)) {
						if (!mkdir($destination)) {
							$json['error'] = sprintf($this->language->get('error_ftp_directory'), $destination);
						}
					}
				}

				if (is_file($file)) {
					if (!copy($file, $destination)) {
						$json['error'] = sprintf($this->language->get('error_ftp_file'), $file);
					}
				}
			}
		}

		$this->response->addHeader('Content-Type: application/json');
		$this->response->setOutput(json_encode($json));
	}

 

 

Скорее всего этот кусочек кода не дает тебе запустится!

 

Попробуй его удалить и будет чудо!)

  • +1 1
Надіслати
Поділитися на інших сайтах


  • 4 months later...
Спойлер
В 29.07.2019 в 13:34, MFX сказал:

Если прям внатуре такая же, то скорее всего тебе надо задвоение в коде по этому пути найти, гляди localcopy

 

Их там 2 должно быть, если определится 3, то удали последнюю!)

 

  Скрыть контент



public function localcopy() {
		$this->load->language('extension/installer');

		$json = array();

		if (!$this->user->hasPermission('modify', 'extension/installer')) {
			$json['error'] = $this->language->get('error_permission');
		}

		if (VERSION == '2.0.0.0') {
		    $directory = DIR_DOWNLOAD  . str_replace(array('../', '..\\', '..'), '', $this->request->post['path']) . '/upload/';
		} else {
		    $directory = DIR_UPLOAD  . str_replace(array('../', '..\\', '..'), '', $this->request->post['path']) . '/upload/';
		}

		if (!is_dir($directory)) {
			$json['error'] = $this->language->get('error_directory');
		}

		if (!$json) {
			// Get a list of files ready to upload
			$files = array();

			$path = array($directory . '*');

			while (count($path) != 0) {
				$next = array_shift($path);

				foreach (glob($next) as $file) {
					if (is_dir($file)) {
						$path[] = $file . '/*';
					}

					$files[] = $file;
				}
			}

			$root = dirname(DIR_APPLICATION).'/';

			foreach ($files as $file) {
				// Upload everything in the upload directory
				$destination = substr($file, strlen($directory));

				// Update from newer OpenCart versions:
				if (substr($destination, 0, 5) == 'admin') {
					$destination = DIR_APPLICATION . substr($destination, 5);
				} else if (substr($destination, 0, 7) == 'catalog') {
					$destination = DIR_CATALOG . substr($destination, 7);
				} else if (substr($destination, 0, 5) == 'image') {
					$destination = DIR_IMAGE . substr($destination, 5);
				} else if (substr($destination, 0, 6) == 'system') {
					$destination = DIR_SYSTEM . substr($destination, 6);
				} else {
					$destination = $root.$destination;
				}

				if (is_dir($file)) {
					if (!file_exists($destination)) {
						if (!mkdir($destination)) {
							$json['error'] = sprintf($this->language->get('error_ftp_directory'), $destination);
						}
					}
				}

				if (is_file($file)) {
					if (!copy($file, $destination)) {
						$json['error'] = sprintf($this->language->get('error_ftp_file'), $file);
					}
				}
			}
		}

		$this->response->addHeader('Content-Type: application/json');
		$this->response->setOutput(json_encode($json));
	}

 

 

Скорее всего этот кусочек кода не дает тебе запустится!

 

Попробуй его удалить и будет чудо!)

Спасибо помогло решение!)))

 

А то думал где вновь искать, память то не вечная!)

 

Спасибо, что ты есть!)

Надіслати
Поділитися на інших сайтах


  • 8 months later...
  • 2 weeks later...
В 05.08.2020 в 14:46, Amishkin сказал:

ребят а если тут проблема? то что делать? подскажите пожалуйста! /extension/installer.php on line 294\n

какой то модуль ocmod или vqmod дублирует функции, нужно убрать дублирование, если они одинаковые, а если функционал у функций разный, то нужно переименовать

Надіслати
Поділитися на інших сайтах


  • 1 year later...

Здравствуйте!

Подскажите и мне пожалуйста

Fatal error: Cannot redeclare ControllerMarketplaceModification::edit() in /home/eua/storage/modification/admin/controller/marketplace/modification.php on line 1449

 

Ошибка появляется при попытке зайти в модификаторы.

Змінено користувачем yurok79
Надіслати
Поділитися на інших сайтах


  • 6 months later...
06.04.2022 в 11:07, yurok79 сказал:

Здравствуйте!

Подскажите и мне пожалуйста

Fatal error: Cannot redeclare ControllerMarketplaceModification::edit() in /home/eua/storage/modification/admin/controller/marketplace/modification.php on line 1449

 

Ошибка появляется при попытке зайти в модификаторы.

Как решили? Та же проблема!!!

Надіслати
Поділитися на інших сайтах


  • 4 months later...
27.10.2022 в 05:25, ArkNorm сказал:

Как решили? Та же проблема!!!

 

Fatal error: Cannot redeclare ControllerMarketplaceModification::edit() in P:\OSPanel_543\domains\ocstore\modification\admin\controller\marketplace\modification.php on line 1488

Надіслати
Поділитися на інших сайтах


  • 1 year later...
04.03.2023 в 20:18, Pechenov сказал:

 

Fatal error: Cannot redeclare ControllerMarketplaceModification::edit() in P:\OSPanel_543\domains\ocstore\modification\admin\controller\marketplace\modification.php on line 1488

не нашли в чём дело? на осStore такая ошибка лезет

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.