<modification>
	<id>SEO Mega KIT - URLs Generator</id>
	<version>1.5.x</version>
	<vqmver>2.X</vqmver>
	<author>marsilea15@gmail.com</author>

	<!-- Common -->
	
	<file path="admin/view/template/catalog/" name="product_form.tpl,category_form.tpl,information_form.tpl,manufacturer_form.tpl">
		<operation>
			<search position="replace"><![CDATA[<input type="text" name="keyword" value="<?php echo $keyword; ?>" placeholder="<?php echo $entry_keyword; ?>" id="input-keyword" class="form-control" />]]></search>
			<add><![CDATA[
				<?php foreach( $languages as $language ) { ?>
					<input type="text" name="keyword[<?php echo $language['language_id']; ?>]" style="width: 90%; display: inline-block; margin-bottom: 2px;" placeholder="<?php echo $entry_keyword; ?>" value="<?php echo isset( $keyword[$language['language_id']] ) ? $keyword[$language['language_id']] : ''; ?>" class="form-control" /> <img src="view/image/flags/<?php echo $language['image']; ?>" title="<?php echo $language['name']; ?>" /><br />
				<?php } ?>
			]]></add>
		</operation>
	</file>

	<!-- #################################################################################### -->
	
	<!-- Product -->

	<file name="admin/model/catalog/product.php">
		<operation>
			<search position="replace"><![CDATA[(SELECT keyword FROM " . DB_PREFIX . "url_alias WHERE query = 'product_id=" . (int)$product_id . "') AS keyword]]></search>
			<add><![CDATA[" . ( $this->config->get('smp_sug_is_install') ? "(SELECT keyword FROM " . DB_PREFIX . "url_alias WHERE query = 'product_id=" . (int)$product_id . "' AND (smp_language_id IS NULL OR smp_language_id = " . $this->config->get('config_language_id') . ") ORDER BY smp_language_id DESC LIMIT 1 ) AS keyword" : "(SELECT keyword FROM " . DB_PREFIX . "url_alias WHERE query = 'product_id=" . (int)$product_id . "' LIMIT 1 ) AS keyword" ) . "]]></add>
		</operation>
		<operation>
			<search position="replace"><![CDATA[$this->db->query("INSERT INTO " . DB_PREFIX . "url_alias SET query = 'product_id=" . (int)$product_id . "', keyword = '" . $this->db->escape($data['keyword']) . "'");]]></search>
			<add><![CDATA[
				if( $this->config->get('smp_sug_is_install') ) {
					if( ! is_array( $data['keyword'] ) ) {
						$data['keyword'] = array( $this->config->get('config_language_id') => $data['keyword'] );
					}

					foreach( $data['keyword'] as $language_id => $keyword ) {
						if( $keyword !== '' ) {
							$this->db->query("INSERT INTO " . DB_PREFIX . "url_alias SET query = 'product_id=" . (int)$product_id . "', keyword = '" . $this->db->escape($keyword) . "', smp_language_id = '" . $this->db->escape($language_id) . "'");
						}
					}
				} else {
					$this->db->query("INSERT INTO " . DB_PREFIX . "url_alias SET query = 'product_id=" . (int)$product_id . "', keyword = '" . $this->db->escape($data['keyword']) . "'");
				}
			]]></add>
		</operation>
	</file>

	<file name="admin/controller/catalog/product.php">
		<operation>
			<search position="before"><![CDATA[if (isset($this->request->post['shipping'])) {]]></search>
			<add><![CDATA[
				if( $this->config->get('smp_sug_is_install') ) {
					if( isset( $this->request->post['keyword'] ) ) {
						$data['keyword'] = $this->request->post['keyword'];
					} else {
						$data['keyword'] = array();

						if( ! empty( $this->request->get['product_id'] ) ) {
							foreach( $this->db->query( "SELECT * FROM " . DB_PREFIX . "url_alias WHERE query='product_id=" . (int) $this->request->get['product_id'] . "'" )->rows as $item ) {
								if( $item['keyword'] !== '' ) {
									$data['keyword'][$item['smp_language_id']] = $item['keyword'];
								}
							}
									
							if( ! empty( $data['keyword'][NULL] ) ) {
								foreach( $this->db->query( "SELECT * FROM " . DB_PREFIX . "language WHERE status='1'" )->rows as $item ) {
									if( ! isset( $data['keyword'][$item['language_id']] ) ) {
										$data['keyword'][$item['language_id']] = $data['keyword'][NULL];
									}
								}
							}
						}
					}
				}
			]]></add>
		</operation>
		<operation>
			<search position="replace"><![CDATA[if (utf8_strlen($this->request->post['keyword']) > 0) {]]></search>
			<add><![CDATA[
				if( ! empty( $this->request->post['keyword'] ) ) {					
					$this->load->model('catalog/url_alias');

					foreach( $this->request->post['keyword'] as $keyword ) {
						if( empty( $keyword ) ) continue;
				
						$url_alias_info = $this->model_catalog_url_alias->getUrlAlias( $keyword );

						if ($url_alias_info && isset($this->request->get['product_id']) && $url_alias_info['query'] != 'product_id=' . $this->request->get['product_id']) {
							$this->error['keyword'] = sprintf($this->language->get('error_keyword'));
						}

						if ($url_alias_info && !isset($this->request->get['product_id'])) {
							$this->error['keyword'] = sprintf($this->language->get('error_keyword'));
						}
					}
				} else if (false && utf8_strlen($this->request->post['keyword']) > 0) {
			]]></add>
		</operation>
	</file>

	<!-- #################################################################################### -->

	<!-- Category -->

	<file name="admin/model/catalog/category.php">
		<operation>
			<search position="replace"><![CDATA[(SELECT DISTINCT keyword FROM " . DB_PREFIX . "url_alias WHERE query = 'category_id=" . (int)$category_id . "') AS keyword]]></search>
			<add><![CDATA[" . ( $this->config->get('smp_sug_is_install') ? "(SELECT DISTINCT keyword FROM " . DB_PREFIX . "url_alias WHERE query = 'category_id=" . (int)$category_id . "' AND (smp_language_id IS NULL OR smp_language_id = " . $this->config->get('config_language_id') . ") ORDER BY smp_language_id DESC LIMIT 1 ) AS keyword" : "(SELECT DISTINCT keyword FROM " . DB_PREFIX . "url_alias WHERE query = 'category_id=" . (int)$category_id . "' LIMIT 1 ) AS keyword" ) . "]]></add>
		</operation>
		<operation>
			<search position="replace"><![CDATA[$this->db->query("INSERT INTO " . DB_PREFIX . "url_alias SET query = 'category_id=" . (int)$category_id . "', keyword = '" . $this->db->escape($data['keyword']) . "'");]]></search>
			<add><![CDATA[
				if( $this->config->get('smp_sug_is_install') ) {					
					if( ! is_array( $data['keyword'] ) ) {
						$data['keyword'] = array( $this->config->get('config_language_id') => $data['keyword'] );
					}

					foreach( $data['keyword'] as $language_id => $keyword ) {
						if( $keyword != '' ) {
							$this->db->query("INSERT INTO " . DB_PREFIX . "url_alias SET query = 'category_id=" . (int)$category_id . "', keyword = '" . $this->db->escape($keyword) . "', smp_language_id = '" . $this->db->escape($language_id) . "'");
						}
					}
				} else {
					$this->db->query("INSERT INTO " . DB_PREFIX . "url_alias SET query = 'category_id=" . (int)$category_id . "', keyword = '" . $this->db->escape($data['keyword']) . "'");
				}
			]]></add>
		</operation>
	</file>

	<file name="admin/controller/catalog/category.php">
		<operation>
			<search position="before"><![CDATA[if (isset($this->request->post['image'])) {]]></search>
			<add><![CDATA[
				if( $this->config->get('smp_sug_is_install') ) {
					if( isset( $this->request->post['keyword'] ) ) {
						$data['keyword'] = $this->request->post['keyword'];
					} else {
						$data['keyword'] = array();

						if( ! empty( $this->request->get['category_id'] ) ) {
							foreach( $this->db->query( "SELECT * FROM " . DB_PREFIX . "url_alias WHERE query='category_id=" . (int) $this->request->get['category_id'] . "'" )->rows as $item )
								if( $item['keyword'] !== '' )
									$data['keyword'][$item['smp_language_id']] = $item['keyword'];
									
							if( ! empty( $data['keyword'][NULL] ) ) {
								foreach( $this->db->query( "SELECT * FROM " . DB_PREFIX . "language WHERE status='1'" )->rows as $item ) {
									if( ! isset( $data['keyword'][$item['language_id']] ) ) {
										$data['keyword'][$item['language_id']] = $data['keyword'][NULL];
									}
								}
							}
						}
					}
				}
			]]></add>
		</operation>
		<operation>
			<search position="replace"><![CDATA[if (utf8_strlen($this->request->post['keyword']) > 0) {]]></search>
			<add><![CDATA[
				if( ! empty( $this->request->post['keyword'] ) ) {
					$this->load->model('catalog/url_alias');

					foreach( $this->request->post['keyword'] as $keyword ) {
						if( empty( $keyword ) ) continue;
				
						$url_alias_info = $this->model_catalog_url_alias->getUrlAlias($keyword);

						if ($url_alias_info && isset($this->request->get['category_id']) && $url_alias_info['query'] != 'category_id=' . $this->request->get['category_id']) {
							$this->error['keyword'] = sprintf($this->language->get('error_keyword'));
						}

						if ($url_alias_info && !isset($this->request->get['category_id'])) {
							$this->error['keyword'] = sprintf($this->language->get('error_keyword'));
						}

						if ($this->error && !isset($this->error['warning'])) {
							$this->error['warning'] = $this->language->get('error_warning');
						}
					}
				} else if (false && utf8_strlen($this->request->post['keyword']) > 0) {
			]]></add>
		</operation>
	</file>

	<!-- #################################################################################### -->

	<!-- Information -->

	<file name="admin/model/catalog/information.php">
		<operation>
			<search position="replace"><![CDATA[(SELECT keyword FROM " . DB_PREFIX . "url_alias WHERE query = 'information_id=" . (int)$information_id . "') AS keyword]]></search>
			<add><![CDATA[" . ( $this->config->get('smp_sug_is_install') ? "(SELECT keyword FROM " . DB_PREFIX . "url_alias WHERE query = 'information_id=" . (int)$information_id . "' AND (smp_language_id IS NULL OR smp_language_id = " . $this->config->get('config_language_id') . ") ORDER BY smp_language_id DESC LIMIT 1 ) AS keyword" : "(SELECT keyword FROM " . DB_PREFIX . "url_alias WHERE query = 'information_id=" . (int)$information_id . "' LIMIT 1 ) AS keyword" ) . "]]></add>
		</operation>
		<operation>
			<search position="replace"><![CDATA[$this->db->query("INSERT INTO " . DB_PREFIX . "url_alias SET query = 'information_id=" . (int)$information_id . "', keyword = '" . $this->db->escape($data['keyword']) . "'");]]></search>
			<add><![CDATA[
				if( $this->config->get('smp_sug_is_install') ) {
					if( ! is_array( $data['keyword'] ) )
						$data['keyword'] = array( $this->config->get('config_language_id') => $data['keyword'] );

					foreach( $data['keyword'] as $language_id => $keyword ) {
						if( $keyword != '' )
							$this->db->query("INSERT INTO " . DB_PREFIX . "url_alias SET query = 'information_id=" . (int)$information_id . "', keyword = '" . $this->db->escape($keyword) . "', smp_language_id = '" . $this->db->escape($language_id) . "'");
					}
				} else {
					$this->db->query("INSERT INTO " . DB_PREFIX . "url_alias SET query = 'information_id=" . (int)$information_id . "', keyword = '" . $this->db->escape($data['keyword']) . "'");
				}
			]]></add>
		</operation>
	</file>

	<file name="admin/controller/catalog/information.php">
		<operation>
			<search position="before"><![CDATA[if (isset($this->request->post['sort_order'])) {]]></search>
			<add><![CDATA[
				if( $this->config->get('smp_sug_is_install') ) {
					if( isset( $this->request->post['keyword'] ) ) {
						$data['keyword'] = $this->request->post['keyword'];
					} else {
						$data['keyword'] = array();

						if( ! empty( $this->request->get['information_id'] ) ) {
							foreach( $this->db->query( "SELECT * FROM " . DB_PREFIX . "url_alias WHERE query='information_id=" . (int) $this->request->get['information_id'] . "'" )->rows as $item )
								if( $item['keyword'] !== '' )
									$data['keyword'][$item['smp_language_id']] = $item['keyword'];
									
							if( ! empty( $data['keyword'][NULL] ) ) {
								foreach( $this->db->query( "SELECT * FROM " . DB_PREFIX . "language WHERE status='1'" )->rows as $item ) {
									if( ! isset( $data['keyword'][$item['language_id']] ) ) {
										$data['keyword'][$item['language_id']] = $data['keyword'][NULL];
									}
								}
							}
						}
					}
				}
			]]></add>
		</operation>
		<operation>
			<search position="replace"><![CDATA[if (utf8_strlen($this->request->post['keyword']) > 0) {]]></search>
			<add><![CDATA[
				if( ! empty( $this->request->post['keyword'] ) ) {
					$this->load->model('catalog/url_alias');

					foreach( $this->request->post['keyword'] as $keyword ) {
						if( empty( $keyword ) ) continue;
				
						$url_alias_info = $this->model_catalog_url_alias->getUrlAlias($keyword);

						if ($url_alias_info && isset($this->request->get['information_id']) && $url_alias_info['query'] != 'information_id=' . $this->request->get['information_id']) {
							$this->error['keyword'] = sprintf($this->language->get('error_keyword'));
						}

						if ($url_alias_info && !isset($this->request->get['information_id'])) {
							$this->error['keyword'] = sprintf($this->language->get('error_keyword'));
						}
					}
				} else if (false && utf8_strlen($this->request->post['keyword']) > 0) {
			]]></add>
		</operation>
	</file>

	<!-- #################################################################################### -->

	<!-- Manufacturer -->

	<file name="admin/model/catalog/manufacturer.php">
		<operation>
			<search position="replace"><![CDATA[(SELECT keyword FROM " . DB_PREFIX . "url_alias WHERE query = 'manufacturer_id=" . (int)$manufacturer_id . "') AS keyword]]></search>
			<add><![CDATA[" . ( $this->config->get('smp_sug_is_install') ? "(SELECT keyword FROM " . DB_PREFIX . "url_alias WHERE query = 'manufacturer_id=" . (int)$manufacturer_id . "' AND (smp_language_id IS NULL OR smp_language_id = " . $this->config->get('config_language_id') . ") ORDER BY smp_language_id DESC LIMIT 1 ) AS keyword" : "(SELECT keyword FROM " . DB_PREFIX . "url_alias WHERE query = 'manufacturer_id=" . (int)$manufacturer_id . "' LIMIT 1 ) AS keyword" ) . "]]></add>
		</operation>
		<operation>
			<search position="replace"><![CDATA[$this->db->query("INSERT INTO " . DB_PREFIX . "url_alias SET query = 'manufacturer_id=" . (int)$manufacturer_id . "', keyword = '" . $this->db->escape($data['keyword']) . "'");]]></search>
			<add><![CDATA[
				if( $this->config->get('smp_sug_is_install') ) {
					if( ! is_array( $data['keyword'] ) )
						$data['keyword'] = array( $this->config->get('config_language_id') => $data['keyword'] );

					foreach( $data['keyword'] as $language_id => $keyword ) {
						if( $keyword != '' )
							$this->db->query("INSERT INTO " . DB_PREFIX . "url_alias SET query = 'manufacturer_id=" . (int)$manufacturer_id . "', keyword = '" . $this->db->escape($keyword) . "', smp_language_id = '" . $this->db->escape($language_id) . "'");
					}
				} else {
					$this->db->query("INSERT INTO " . DB_PREFIX . "url_alias SET query = 'manufacturer_id=" . (int)$manufacturer_id . "', keyword = '" . $this->db->escape($data['keyword']) . "'");
				}
			]]></add>
		</operation>
	</file>

	<file name="admin/controller/catalog/manufacturer.php">
		<operation>
			<search position="before"><![CDATA[if (isset($this->request->post['image'])) {]]></search>
			<add><![CDATA[
				if( $this->config->get('smp_sug_is_install') ) {
					if( isset( $this->request->post['keyword'] ) ) {
						$data['keyword'] = $this->request->post['keyword'];
					} else {
						$data['keyword'] = array();

						if( ! empty( $this->request->get['manufacturer_id'] ) ) {
							foreach( $this->db->query( "SELECT * FROM " . DB_PREFIX . "url_alias WHERE query='manufacturer_id=" . (int) $this->request->get['manufacturer_id'] . "'" )->rows as $item )
								if( $item['keyword'] !== '' )
									$data['keyword'][$item['smp_language_id']] = $item['keyword'];
									
							if( ! empty( $data['keyword'][NULL] ) ) {
								foreach( $this->db->query( "SELECT * FROM " . DB_PREFIX . "language WHERE status='1'" )->rows as $item ) {
									if( ! isset( $data['keyword'][$item['language_id']] ) ) {
										$data['keyword'][$item['language_id']] = $data['keyword'][NULL];
									}
								}
							}
						}
					}
				}
			]]></add>
		</operation>
		<operation>
			<search position="replace"><![CDATA[if (utf8_strlen($this->request->post['keyword']) > 0) {]]></search>
			<add><![CDATA[
				if( ! empty( $this->request->post['keyword'] ) ) {
					$this->load->model('catalog/url_alias');

					foreach( $this->request->post['keyword'] as $keyword ) {
						if( empty( $keyword ) ) continue;
				
						$url_alias_info = $this->model_catalog_url_alias->getUrlAlias($keyword);

						if ($url_alias_info && isset($this->request->get['manufacturer_id']) && $url_alias_info['query'] != 'manufacturer_id=' . $this->request->get['manufacturer_id']) {
							$this->error['keyword'] = sprintf($this->language->get('error_keyword'));
						}

						if ($url_alias_info && !isset($this->request->get['manufacturer_id'])) {
							$this->error['keyword'] = sprintf($this->language->get('error_keyword'));
						}
					}
				} else if (false && utf8_strlen($this->request->post['keyword']) > 0) {
			]]></add>
		</operation>
	</file>

</modification>