// Parse the original URL
$parse_url = parse_url($url);
// Scheme and Host are always replaced
if (isset($parts['scheme']))
$parse_url['scheme'] = $parts['scheme'];
if (isset($parts['host']))
$parse_url['host'] = $parts['host'];
// Загрузка изображений из интернета
if($images = $this->request->post('images_urls'))
{
foreach($images as $url)
{
if(!empty($url) && $url != 'http://')
$this->products->add_image($product->id, $url);
}
}
$images = $this->products->get_images(array('product_id'=>$product->id));
if (!empty($url) && $url != 'http://')
if(!empty($url) && $url != 'http://') {
$url = preg_replace("https",'http',$url);
$this->products->add_image($product->id, $url);
}
public function download_image($filename)
{
// Заливаем только есть такой файл есть в базе
$this->db->query('SELECT 1 FROM __images WHERE filename=? LIMIT 1', $filename);
if(!$this->db->result())
return false;
// Имя оригинального файла
$basename = explode('&', pathinfo($filename, PATHINFO_BASENAME));
$uploaded_file = array_shift($basename);
$base = urldecode(pathinfo($uploaded_file, PATHINFO_FILENAME));
$ext = pathinfo($uploaded_file, PATHINFO_EXTENSION);
// Если такой файл существует, нужно придумать другое название
$new_name = urldecode($uploaded_file);
while(file_exists($this->config->root_dir.$this->config->original_images_dir.$new_name))
{
$new_base = pathinfo($new_name, PATHINFO_FILENAME);
if(preg_match('/_([0-9]+)$/', $new_base, $parts))
$new_name = $base.'_'.($parts[1]+1).'.'.$ext;
else
$new_name = $base.'_1.'.$ext;
}
$this->db->query('UPDATE __images SET filename=? WHERE filename=?', $new_name, $filename);
// Перед долгим копированием займем это имя
fclose(fopen($this->config->root_dir.$this->config->original_images_dir.$new_name, 'w'));
copy($filename, $this->config->root_dir.$this->config->original_images_dir.$new_name);
return $new_name;
}
// Протокол
$protocol = strtolower(substr($_SERVER["SERVER_PROTOCOL"],0,5))=='https'? 'https' : 'http';
if($_SERVER["SERVER_PORT"] == 443)
$protocol = 'https';
$this->vars['protocol'] = $protocol;
$this->vars['root_url'] = $protocol.'://'.rtrim($_SERVER['HTTP_HOST']);
if(!empty($subdir))
$this->vars['root_url'] .= '/'.$subdir;