Shoora
11/25/2018 - 1:05 AM

allows to import images as URL to opencart

allows to import images as URL to opencart

// catalog/model/tool/image.php

if (!is_file(DIR_IMAGE . $filename)) {
	if (filter_var($filename, FILTER_VALIDATE_URL)) {
		// generating dirname as first digit of productID (from filename) // PHP_EOL
		preg_match_all('/_(\d{4,6})/m', basename($filename), $matches, PREG_SET_ORDER, 0);
		$image_dir = $matches[0][1] ? $matches[0][1][0] : 'temp';
		$image_name = $matches[0][1] ? basename($filename)  : substr(base64_encode($filename), 0, 7);
		$image_path = 'catalog/' . $image_dir . '/' . $image_name;

		if (!is_file(DIR_IMAGE . $image_path)) {
			if (!is_dir(dirname(DIR_IMAGE . $image_path))){
				@mkdir(dirname(DIR_IMAGE . $image_path), 0700);
			}
			$filename = file_put_contents(DIR_IMAGE . $image_path, file_get_contents($filename)) ? $image_path : 'no_image.jpg';
		} else {
			$filename = $image_path;
		}
	} else {
		if (is_file(DIR_IMAGE . 'no_image.jpg')) {
			$filename = 'no_image.jpg';
		} elseif (is_file(DIR_IMAGE . 'no_image.png')) {
			$filename = 'no_image.png';
		} else {
			return;
		}
	}
}