oct_open_graph.ocmod.xml 14.9 KB
<?xml version="1.0" encoding="utf-8"?>
<modification>
	<code>oct_open_graph</code>
	<name>Octemplates - Open Graph</name>
	<version>1.0.0</version>
	<author>Octemplates</author>
	<link>http://octemplates.net/</link>
	<file path="catalog/controller/common/home.php">
		<operation error="skip">
			<search><![CDATA[$data['column_left'] = $this->load->controller('common/column_left');]]></search>
			<add position="before"><![CDATA[
            $oct_deals_data = $this->config->get('theme_oct_deals_data');
			$oct_seo_title = $this->config->get('config_meta_title');
			$oct_seo_description = $this->config->get('config_meta_description');

			if ($this->config->get('theme_oct_deals_seo_home_status')) {
				$oct_seo_home_data = $this->config->get('theme_oct_deals_seo_home_data');

				if ((isset($oct_seo_home_data['title'][$this->config->get('config_language_id')]) && !empty($oct_seo_home_data['title'][$this->config->get('config_language_id')]))) {
					$this->document->setTitle($oct_seo_home_data['title'][$this->config->get('config_language_id')]);
					$oct_seo_title = $oct_seo_home_data['title'][$this->config->get('config_language_id')];
				}

				if ((isset($oct_seo_home_data['description'][$this->config->get('config_language_id')]) && !empty($oct_seo_home_data['description'][$this->config->get('config_language_id')]))) {
					$this->document->setDescription($oct_seo_home_data['description'][$this->config->get('config_language_id')]);
					$oct_seo_description = $oct_seo_home_data['description'][$this->config->get('config_language_id')];
				}
			}

            if (isset($oct_deals_data['open_graph']) && $oct_deals_data['open_graph']) {
                $site_link = $this->request->server['HTTPS'] ? HTTPS_SERVER : HTTP_SERVER;

				$config_logo = file_exists(DIR_IMAGE . $this->config->get('config_logo')) ? $this->config->get('config_logo') : 'catalog/opencart-logo.png';
				$home_image = $site_link . 'image/' . $config_logo;

				$image_info = getimagesize(DIR_IMAGE . $config_logo);
				
				if ($this->config->get('theme_oct_deals_seo_home_image_status')) {
					$oct_seo_home_image_data = $this->config->get('theme_oct_deals_seo_home_image_data');

					if ((isset($oct_seo_home_image_data['image'][$this->config->get('config_language_id')]) && !empty($oct_seo_home_image_data['image'][$this->config->get('config_language_id')]))) {
						$image_info = file_exists(DIR_IMAGE . $oct_seo_home_image_data['image'][$this->config->get('config_language_id')]) ? getimagesize(DIR_IMAGE . $oct_seo_home_image_data['image'][$this->config->get('config_language_id')]) : getimagesize(DIR_IMAGE . 'catalog/opencart-logo.png');
						$home_image = file_exists(DIR_IMAGE . $oct_seo_home_image_data['image'][$this->config->get('config_language_id')]) ? $site_link . 'image/' . $oct_seo_home_image_data['image'][$this->config->get('config_language_id')] : $site_link . 'image/catalog/opencart-logo.png';
					}
				}

				if ($image_info) {
					$image_width  = $image_info[0];
					$image_height = $image_info[1];
				} else {
					$image_width  = $this->config->get('theme_' . $this->config->get('config_theme') . '_image_logo_width') ? $this->config->get('theme_' . $this->config->get('config_theme') . '_image_logo_width') : 140;
					$image_height = $this->config->get('theme_' . $this->config->get('config_theme') . '_image_logo_height') ? $this->config->get('theme_' . $this->config->get('config_theme') . '_image_logo_height') : 65;
				}

				$mime_type = isset($image_info['mime']) ? $image_info['mime'] : 'image/svg+xml';

                $this->document->setOCTOpenGraph('og:title', htmlspecialchars(strip_tags(str_replace("\r", " ", str_replace("\n", " ", str_replace("\\", "/", str_replace("\"", "", $oct_seo_title)))))));
                $this->document->setOCTOpenGraph('og:description', htmlspecialchars(strip_tags(str_replace("\r", " ", str_replace("\n", " ", str_replace("\\", "/", str_replace("\"", "", $oct_seo_description)))))));
                $this->document->setOCTOpenGraph('og:site_name', htmlspecialchars(strip_tags(str_replace("\r", " ", str_replace("\n", " ", str_replace("\\", "/", str_replace("\"", "", $this->config->get('config_name'))))))));
				$this->document->setOCTOpenGraph('og:url', $this->url->link('common/home', '', true));
                $this->document->setOCTOpenGraph('og:image', str_replace(" ", "%20", $home_image));

				if (isset($mime_type) && $mime_type) {
                	$this->document->setOCTOpenGraph('og:image:type', $mime_type);
				}

				if (isset($image_width) && $image_width) {
                	$this->document->setOCTOpenGraph('og:image:width', $image_width);
				}

				if (isset($image_height) && $image_height) {
					$this->document->setOCTOpenGraph('og:image:height', $image_height);
				}

                $this->document->setOCTOpenGraph('og:image:alt', htmlspecialchars(strip_tags(str_replace("\r", " ", str_replace("\n", " ", str_replace("\\", "/", str_replace("\"", "", $this->config->get('config_meta_title'))))))));
                $this->document->setOCTOpenGraph('og:type', 'website');
            }
			]]></add>
		</operation>
	</file>
	<file path="catalog/controller/product/category.php">
		<operation error="skip">
			<search><![CDATA[$pagination = new Pagination();]]></search>
			<add position="before"><![CDATA[
            if (isset($oct_deals_data['open_graph']) && $oct_deals_data['open_graph']) {
                $site_link = $this->request->server['HTTPS'] ? HTTPS_SERVER : HTTP_SERVER;

				$config_logo = file_exists(DIR_IMAGE . $this->config->get('config_logo')) ? $this->config->get('config_logo') : 'catalog/opencart-logo.png';

                $oct_ogimage = $category_info['image'] ? $category_info['image'] : $config_logo;
                $category_image = $site_link . 'image/' . $oct_ogimage;

				$image_info = getimagesize(DIR_IMAGE . $oct_ogimage);

				if ($image_info) {
					$image_width  = $image_info[0];
					$image_height = $image_info[1];
				} else {
					$image_width  = $this->config->get('theme_' . $this->config->get('config_theme') . '_image_logo_width') ? $this->config->get('theme_' . $this->config->get('config_theme') . '_image_logo_width') : 140;
					$image_height = $this->config->get('theme_' . $this->config->get('config_theme') . '_image_logo_height') ? $this->config->get('theme_' . $this->config->get('config_theme') . '_image_logo_height') : 65;
				}

				$mime_type = isset($image_info['mime']) ? $image_info['mime'] : 'image/svg+xml';

                $this->document->setOCTOpenGraph('og:title', htmlspecialchars(strip_tags(str_replace("\r", " ", str_replace("\n", " ", str_replace("\\", "/", str_replace("\"", "", (isset($oct_seo_title) && $oct_seo_title) ? $oct_seo_title : $category_info['meta_title'])))))));
                $this->document->setOCTOpenGraph('og:description', htmlspecialchars(strip_tags(str_replace("\r", " ", str_replace("\n", " ", str_replace("\\", "/", str_replace("\"", "", (isset($oct_seo_description) && $oct_seo_description && empty($category_info['meta_description'])) ? $oct_seo_description : $category_info['meta_description'])))))));
                $this->document->setOCTOpenGraph('og:site_name', htmlspecialchars(strip_tags(str_replace("\r", " ", str_replace("\n", " ", str_replace("\\", "/", str_replace("\"", "", $this->config->get('config_name'))))))));
                $this->document->setOCTOpenGraph('og:url', $this->url->link('product/category', 'path=' . $category_info['category_id']));
                $this->document->setOCTOpenGraph('og:image', str_replace(" ", "%20", $category_image));

				if (isset($mime_type) && $mime_type) {
                	$this->document->setOCTOpenGraph('og:image:type', $mime_type);
				}

				if (isset($image_width) && $image_width) {
                	$this->document->setOCTOpenGraph('og:image:width', $image_width);
				}

				if (isset($image_height) && $image_height) {
					$this->document->setOCTOpenGraph('og:image:height', $image_height);
				}

                $this->document->setOCTOpenGraph('og:image:alt', htmlspecialchars(strip_tags(str_replace("\r", " ", str_replace("\n", " ", str_replace("\\", "/", str_replace("\"", "", $data['heading_title'])))))));
                $this->document->setOCTOpenGraph('og:type', 'website');
            }
			]]></add>
		</operation>
	</file>
	<file path="catalog/controller/product/product.php">
		<operation error="skip">
			<search><![CDATA[$this->model_catalog_product->updateViewed($this->request->get['product_id']);]]></search>
			<add position="before"><![CDATA[
            if (isset($oct_deals_data['open_graph']) && $oct_deals_data['open_graph']) {
                $site_link = $this->request->server['HTTPS'] ? HTTPS_SERVER : HTTP_SERVER;

				$config_logo = file_exists(DIR_IMAGE . $this->config->get('config_logo')) ? $this->config->get('config_logo') : 'catalog/opencart-logo.png';

                $oct_ogimage = $product_info['image'] ? $product_info['image'] : $config_logo;
                $product_image = $site_link . 'image/' . $oct_ogimage;

				$image_info = getimagesize(DIR_IMAGE . $oct_ogimage);

				if ($image_info) {
					$image_width  = $image_info[0];
					$image_height = $image_info[1];
				} else {
					$image_width  = $this->config->get('theme_' . $this->config->get('config_theme') . '_image_logo_width') ? $this->config->get('theme_' . $this->config->get('config_theme') . '_image_logo_width') : 140;
					$image_height = $this->config->get('theme_' . $this->config->get('config_theme') . '_image_logo_height') ? $this->config->get('theme_' . $this->config->get('config_theme') . '_image_logo_height') : 65;
				}

				$mime_type = isset($image_info['mime']) ? $image_info['mime'] : 'image/svg+xml';

                $this->document->setOCTOpenGraph('og:title', htmlspecialchars(strip_tags(str_replace("\r", " ", str_replace("\n", " ", str_replace("\\", "/", str_replace("\"", "", (isset($oct_seo_title) && $oct_seo_title) ? $oct_seo_title : $product_info['meta_title'])))))));
                $this->document->setOCTOpenGraph('og:description', htmlspecialchars(strip_tags(str_replace("\r", " ", str_replace("\n", " ", str_replace("\\", "/", str_replace("\"", "", (isset($oct_seo_description) && $oct_seo_description && empty($product_info['meta_description'])) ? $oct_seo_description : $product_info['meta_description'])))))));
                $this->document->setOCTOpenGraph('og:site_name', htmlspecialchars(strip_tags(str_replace("\r", " ", str_replace("\n", " ", str_replace("\\", "/", str_replace("\"", "", $this->config->get('config_name'))))))));
                $this->document->setOCTOpenGraph('og:url', $this->url->link('product/product', 'product_id=' . $product_info['product_id']));
                $this->document->setOCTOpenGraph('og:image', str_replace(" ", "%20", $product_image));

				if (isset($mime_type) && $mime_type) {
                	$this->document->setOCTOpenGraph('og:image:type', $mime_type);
				}

				if (isset($image_width) && $image_width) {
                	$this->document->setOCTOpenGraph('og:image:width', $image_width);
				}

				if (isset($image_height) && $image_height) {
					$this->document->setOCTOpenGraph('og:image:height', $image_height);
				}

                $this->document->setOCTOpenGraph('og:image:alt', htmlspecialchars(strip_tags(str_replace("\r", " ", str_replace("\n", " ", str_replace("\\", "/", str_replace("\"", "", $data['heading_title'])))))));
                $this->document->setOCTOpenGraph('og:type', 'product');
            }
			]]></add>
		</operation>
	</file>
	<file path="catalog/controller/product/manufacturer.php">
		<operation error="skip">
			<search><![CDATA[$pagination = new Pagination();]]></search>
			<add position="before"><![CDATA[
			if (isset($oct_deals_data['open_graph']) && $oct_deals_data['open_graph']) {
				$site_link = $this->request->server['HTTPS'] ? HTTPS_SERVER : HTTP_SERVER;

				$config_logo = file_exists(DIR_IMAGE . $this->config->get('config_logo')) ? $this->config->get('config_logo') : 'catalog/opencart-logo.png';

				$oct_ogimage = ($manufacturer_info['image'] && file_exists(DIR_IMAGE . $manufacturer_info['image'])) ? $manufacturer_info['image'] : $config_logo;
				$manufacturer_image = $site_link . 'image/' . $oct_ogimage;

				$image_info = getimagesize(DIR_IMAGE . $oct_ogimage);

				if ($image_info) {
					$image_width  = $image_info[0];
					$image_height = $image_info[1];
				} else {
					$image_width  = $this->config->get('theme_' . $this->config->get('config_theme') . '_image_logo_width') ? $this->config->get('theme_' . $this->config->get('config_theme') . '_image_logo_width') : 140;
					$image_height = $this->config->get('theme_' . $this->config->get('config_theme') . '_image_logo_height') ? $this->config->get('theme_' . $this->config->get('config_theme') . '_image_logo_height') : 65;
				}

				$mime_type = isset($image_info['mime']) ? $image_info['mime'] : 'image/svg+xml';
								
				if (isset($data['heading_title']) && $data['heading_title']) {
					$this->document->setOCTOpenGraph('og:title', htmlspecialchars(strip_tags(str_replace("\r", " ", str_replace("\n", " ", str_replace("\\", "/", str_replace("\"", "", $data['heading_title'])))))));
				}

				if (isset($oct_seo_title) && $oct_seo_title) {
					$this->document->setOCTOpenGraph('og:title', htmlspecialchars(strip_tags(str_replace("\r", " ", str_replace("\n", " ", str_replace("\\", "/", str_replace("\"", "", $oct_seo_title)))))));
				}

				if (isset($manufacturer_info['meta_description']) && $manufacturer_info['meta_description']) {
					$this->document->setOCTOpenGraph('og:description', htmlspecialchars(strip_tags(str_replace("\r", " ", str_replace("\n", " ", str_replace("\\", "/", str_replace("\"", "", $manufacturer_info['meta_description'])))))));
				}

				if (isset($oct_seo_description) && $oct_seo_description) {
					$this->document->setOCTOpenGraph('og:description', htmlspecialchars(strip_tags(str_replace("\r", " ", str_replace("\n", " ", str_replace("\\", "/", str_replace("\"", "", $oct_seo_description)))))));
				}
				
				$this->document->setOCTOpenGraph('og:site_name', htmlspecialchars(strip_tags(str_replace("\r", " ", str_replace("\n", " ", str_replace("\\", "/", str_replace("\"", "", $this->config->get('config_name'))))))));
				$this->document->setOCTOpenGraph('og:url', $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $manufacturer_id));
				$this->document->setOCTOpenGraph('og:image', str_replace(" ", "%20", $manufacturer_image));

				if (isset($mime_type) && $mime_type) {
					$this->document->setOCTOpenGraph('og:image:type', $mime_type);
				}

				if (isset($image_width) && $image_width) {
					$this->document->setOCTOpenGraph('og:image:width', $image_width);
				}

				if (isset($image_height) && $image_height) {
					$this->document->setOCTOpenGraph('og:image:height', $image_height);
				}

				$this->document->setOCTOpenGraph('og:image:alt', htmlspecialchars(strip_tags(str_replace("\r", " ", str_replace("\n", " ", str_replace("\\", "/", str_replace("\"", "", $data['heading_title'])))))));
				$this->document->setOCTOpenGraph('og:type', 'website');
			}
			]]></add>
		</operation>
	</file>
</modification>