<modification>
	<id>User Group Changes - Customer, Store</id>
	<version>1.0.0</version>
	<vqmver>2.x</vqmver>
	<author>ACFD Development</author>
	
	<file name="admin/controller/catalog/category.php">
		<operation>
			<search position="after"><![CDATA[
				public function index() {
			]]></search>
			<add><![CDATA[
				$this->db->query("CREATE TABLE IF NOT EXISTS `" . DB_PREFIX . "category_to_user_group` (
					`category_to_user_group_id` int(11) NOT NULL auto_increment,
					`category_id` int(11) NOT NULL,
					`user_group_id` int(11) NOT NULL,
					PRIMARY KEY (`category_to_user_group_id`)
				);");
			]]></add>
		</operation>
		<operation>
			<search position="replace"><![CDATA[
				$results = $this->model_catalog_category->getCategories(0);
			]]></search>
			<add><![CDATA[
				$results = $this->model_catalog_category->getCategories2(0);
			]]></add>
		</operation>
		<operation>
			<search position="replace"><![CDATA[
				$categories = $this->model_catalog_category->getCategories(0);
			]]></search>
			<add><![CDATA[
				$categories = $this->model_catalog_category->getCategories2(0);
			]]></add>
		</operation>
		<operation>
			<search position="before"><![CDATA[
				$this->data['entry_layout'] = $this->language->get('entry_layout');
			]]></search>
			<add><![CDATA[
				$user_group_query = $this->db->query("SELECT `user_group_id` FROM `" . DB_PREFIX . "user` WHERE `user_id` = '" . (int)$this->user->getId() . "'");
				$user_group_id = $user_group_query->row['user_group_id'];
				$this->data['user_group_id'] = $user_group_id;
				if ($user_group_id == 1) {
					$this->data['entry_user_groups'] = $this->language->get('entry_user_groups');
					$this->load->model('user/user_group');
					$this->data['user_groups'] = $this->model_user_user_group->getUserGroups();
				}
			]]></add>
		</operation>
		<operation>
			<search position="before"><![CDATA[
				if (isset($this->request->post['status'])) {
			]]></search>
			<add><![CDATA[
				$this->data['user_group_ids'] = array();
				if ($user_group_id == 1) {
					if (isset($this->request->post['user_group_ids'])) {
						$this->data['user_group_ids'] = $this->request->post['user_group_ids'];
					} elseif (!empty($category_info)) {
						$this->data['user_group_ids'] = $this->model_catalog_category->getUserGroupIds($category_info['category_id']);
					}
				}
			]]></add>
		</operation>
	</file>

	<file name="admin/controller/catalog/information.php">
		<operation>
			<search position="after"><![CDATA[
				$this->data['entry_layout'] = $this->language->get('entry_layout');
			]]></search>
			<add><![CDATA[
				$user_group_query = $this->db->query("SELECT `user_group_id` FROM `" . DB_PREFIX . "user` WHERE `user_id` = '" . (int)$this->user->getId() . "'");
				$user_group_id = $user_group_query->row['user_group_id'];
				$this->data['user_group_id'] = $user_group_id;
				$this->data['entry_user_groups'] = $this->language->get('entry_user_groups');
				$this->load->model('user/user_group');
				$this->data['user_groups'] = $this->model_user_user_group->getUserGroups();
			]]></add>
		</operation>
		<operation>
			<search position="before"><![CDATA[
				if (isset($this->request->post['status'])) {
			]]></search>
			<add><![CDATA[
				$this->data['user_group_ids'] = array();
				if ($user_group_id == 1) {
					if (isset($this->request->post['user_group_ids'])) {
						$this->data['user_group_ids'] = $this->request->post['user_group_ids'];
					} elseif (!empty($information_info)) {
						if (!empty($information_info['user_group_id']) && $information_info['user_group_id'] != 'a:0:{}') {
							$this->data['user_group_ids'] = unserialize($information_info['user_group_id']);
						}
					}
				}
			]]></add>
		</operation>
	</file>

	<file name="admin/controller/catalog/product.php">
		<operation>
			<search position="after"><![CDATA[
				public function index() {
			]]></search>
			<add><![CDATA[
				$this->db->query("CREATE TABLE IF NOT EXISTS `" . DB_PREFIX . "product_to_user_group` (
					`product_to_user_group_id` int(11) NOT NULL auto_increment,
					`product_id` int(11) NOT NULL,
					`user_group_id` int(11) NOT NULL,
					PRIMARY KEY (`product_to_user_group_id`)
				);");
				$product_field_query = $this->db->query("SHOW COLUMNS FROM `" . DB_PREFIX . "product` LIKE 'category_for_admin'");
				if ($product_field_query->num_rows < 1) {
					$this->db->query("ALTER TABLE `" . DB_PREFIX . "product` ADD COLUMN category_for_admin mediumtext COLLATE utf8_general_ci NOT NULL");
				}
			]]></add>
		</operation>
		<operation>
			<search position="before"><![CDATA[
				$data = array(
			]]></search>
			<add><![CDATA[
				$user_group_query = $this->db->query("SELECT `user_group_id` FROM `" . DB_PREFIX . "user` WHERE `user_id` = '" . (int)$this->user->getId() . "'");
				$user_group_id = $user_group_query->row['user_group_id'];
				if ($user_group_id != 1) {
					$filter_user_group_id = $user_group_id;
				} else {
					$filter_user_group_id = '';
				}
			]]></add>
		</operation>
		<operation>
			<search position="after"><![CDATA[
				=> $filter_name,
			]]></search>
			<add><![CDATA[
				'filter_user_group_id'	=> $filter_user_group_id,
			]]></add>
		</operation>
		<operation>
			<search position="before"><![CDATA[
				$this->data['entry_layout'] = $this->language->get('entry_layout');
			]]></search>
			<add><![CDATA[
				$user_group_query = $this->db->query("SELECT `user_group_id` FROM `" . DB_PREFIX . "user` WHERE `user_id` = '" . (int)$this->user->getId() . "'");
				$user_group_id = $user_group_query->row['user_group_id'];
				$this->data['user_group_id'] = $user_group_id;
				if ($user_group_id == 1) {
					$this->data['entry_user_groups'] = $this->language->get('entry_user_groups');
					$this->load->model('user/user_group');
					$this->data['user_groups'] = $this->model_user_user_group->getUserGroups();
				}
			]]></add>
		</operation>
		<operation>
			<search position="before"><![CDATA[
				if (isset($this->request->post['status'])) {
			]]></search>
			<add><![CDATA[
				$this->data['entry_category_for_admin'] = $this->language->get('entry_category_for_admin');
				$this->data['user_group_ids'] = array();
				$this->data['category_for_admin'] = array();
				if ($user_group_id == 1) {
					if (isset($this->request->post['user_group_ids'])) {
						$this->data['user_group_ids'] = $this->request->post['user_group_ids'];
					} elseif (!empty($product_info)) {
						$this->data['user_group_ids'] = $this->model_catalog_product->getUserGroupIds($product_info['product_id']);
					}
				}
				if (isset($this->request->post['category_for_admin'])) {
					$this->data['category_for_admin'] = $this->request->post['category_for_admin'];
				} elseif (!empty($product_info)) {
					if (!empty($product_info['category_for_admin']) && $product_info['category_for_admin'] != "a:0:{}" && strpos($product_info['category_for_admin'], "s:0") === false) {
						$this->data['category_for_admin'] = unserialize($product_info['category_for_admin']);
					}
				}
			]]></add>
		</operation>
		<operation>
			<search position="after"><![CDATA[
				$this->data['categories'] = $this->model_catalog_category->getCategories(0);
			]]></search>
			<add><![CDATA[
				$this->data['categories2'] = $this->model_catalog_category->getCategories2(0);
			]]></add>
		</operation>
	</file>

	<file name="admin/controller/common/filemanager.php">
		<operation>
			<search position="after"><![CDATA[
				$this->data['directory'] = HTTP_IMAGE . 'data/';
			]]></search>
			<add><![CDATA[
				$user_query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "user` WHERE `user_id` = '" . (int)$this->user->getId() . "'");
				if ($user_query->row['user_group_id'] != 1) {
					$this->data['image_folder'] = $user_query->row['image_folder'];
					$this->data['admin_user'] = 0;
				} else {
					$this->data['image_folder'] = '';
					$this->data['admin_user'] = 1;
				}
			]]></add>
		</operation>
		<operation>
			<search position="replace"><![CDATA[
				foreach ($directories as $directory) {
			]]></search>
			<add><![CDATA[
				$allowed_user = false;
				if ($this->request->get['image_folder']) {
					$image_folder = $this->request->get['image_folder'];
					$allowed_user = true;
				} else {
					$user_query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "user` WHERE `user_id` = '" . (int)$this->user->getId() . "'");
					if ($user_query->row['user_group_id'] == 1) {
						$allowed_user = true;
					}
					$image_folder = '';
				}
				foreach ($directories as $directory) {
					if ($allowed_user && (!$image_folder || strpos($directory, $image_folder) !== false)) {
			]]></add>
		</operation>
		<operation>
			<search position="after" index="1"><![CDATA[
				$i++;
			]]></search>
			<add><![CDATA[
				}
			]]></add>
		</operation>
		<operation>
			<search position="after" offset="1"><![CDATA[
				public function files() {
			]]></search>
			<add><![CDATA[
				$allowed_user = false;
				if (isset($this->request->post['image_folder']) && $this->request->post['image_folder']) {
					$allowed_user = true;
				} else {
					$user_query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "user` WHERE `user_id` = '" . (int)$this->user->getId() . "'");
					if ($user_query->row['user_group_id'] == 1) {
						$allowed_user = true;
					}
				}
				if ($allowed_user) {
			]]></add>
		</operation>
		<operation>
			<search position="replace"><![CDATA[
				$directory = DIR_IMAGE . 'data/';
			]]></search>
			<add><![CDATA[
				$directory = DIR_IMAGE . 'data/' . $this->request->post['image_folder'];
			]]></add>
		</operation>
		<operation>
			<search position="before" index="2"><![CDATA[
				$this->response->setOutput(json_encode($json));
			]]></search>
			<add><![CDATA[
				}
			]]></add>
		</operation>
	</file>

	<file name="admin/controller/design/banner.php">
		<operation>
			<search position="after"><![CDATA[
				public function index() {
			]]></search>
			<add><![CDATA[
				$this->db->query("CREATE TABLE IF NOT EXISTS `" . DB_PREFIX . "banner_to_user_group` (
					`banner_to_user_group_id` int(11) NOT NULL auto_increment,
					`banner_id` int(11) NOT NULL,
					`user_group_id` int(11) NOT NULL,
					PRIMARY KEY (`banner_to_user_group_id`)
				);");
			]]></add>
		</operation>
		<operation>
			<search position="before"><![CDATA[
				$data = array(
			]]></search>
			<add><![CDATA[
				$user_group_query = $this->db->query("SELECT `user_group_id` FROM `" . DB_PREFIX . "user` WHERE `user_id` = '" . (int)$this->user->getId() . "'");
				$user_group_id = $user_group_query->row['user_group_id'];
				if ($user_group_id != 1) {
					$filter_user_group_id = $user_group_id;
				} else {
					$filter_user_group_id = '';
				}
			]]></add>
		</operation>
		<operation>
			<search position="after"><![CDATA[
				=> $sort,
			]]></search>
			<add><![CDATA[
				'filter_user_group_id'	=> $filter_user_group_id,
			]]></add>
		</operation>
		<operation>
			<search position="before"><![CDATA[
				$this->data['entry_status'] = $this->language->get('entry_status');
			]]></search>
			<add><![CDATA[
				$user_group_query = $this->db->query("SELECT `user_group_id` FROM `" . DB_PREFIX . "user` WHERE `user_id` = '" . (int)$this->user->getId() . "'");
				$user_group_id = $user_group_query->row['user_group_id'];
				$this->data['user_group_id'] = $user_group_id;
				if ($user_group_id == 1) {
					$this->data['entry_user_groups'] = $this->language->get('entry_user_groups');
					$this->load->model('user/user_group');
					$this->data['user_groups'] = $this->model_user_user_group->getUserGroups();
				}
			]]></add>
		</operation>
		<operation>
			<search position="before"><![CDATA[
				if (isset($this->request->post['status'])) {
			]]></search>
			<add><![CDATA[
				$this->data['user_group_ids'] = array();
				if ($user_group_id == 1) {
					if (isset($this->request->post['user_group_ids'])) {
						$this->data['user_group_ids'] = $this->request->post['user_group_ids'];
					} elseif (!empty($banner_info)) {
						$this->data['user_group_ids'] = $this->model_design_banner->getUserGroupIds($banner_info['banner_id']);
					}
				}
			]]></add>
		</operation>
	</file>

	<file name="admin/controller/report/adv_customer_order.php">
		<operation>
			<search position="after"><![CDATA[
				$this->data['text_all_groups'] = $this->language->get('text_all_groups');
			]]></search>
			<add><![CDATA[
				$this->data['text_no_groups'] = $this->language->get('text_no_groups');
				$this->data['text_no_stores'] = $this->language->get('text_no_stores');
			]]></add>
		</operation>
		<operation>
			<search position="after"><![CDATA[
				public function index() {
			]]></search>
			<add><![CDATA[
				$user_group_query = $this->db->query("SELECT `user_group_id` FROM `" . DB_PREFIX . "user` WHERE `user_id` = '" . (int)$this->user->getId() . "'");
				$user_group_id = $user_group_query->row['user_group_id'];
				$customer_group_query = $this->db->query("SELECT `customer_group_id` FROM `" . DB_PREFIX . "user_to_group` WHERE `user_group_id` = '" . (int)$user_group_id . "'");
				if ($customer_group_query->num_rows) {
					$customer_groups = unserialize($customer_group_query->row['customer_group_id']);
					if (empty($customer_groups) || $customer_groups == 'a:0:{}') {
						$customer_groups = array('-1');
					}
				} else {
					$customer_groups = array('-1');
				}
				$store_query = $this->db->query("SELECT `store_id` FROM `" . DB_PREFIX . "user_to_store` WHERE `user_group_id` = '" . (int)$user_group_id . "'");
				if ($store_query->num_rows) {
					$stores = unserialize($store_query->row['store_id']);
					if (empty($stores) || $stores == "a:0:{}") {
						$stores = array('-1');
					}
				} else {
					$stores = array('-1');
				}
			]]></add>
		</operation>
		<operation>
			<search position="replace"><![CDATA[
				$filter_store_id = '';
			]]></search>
			<add><![CDATA[
				$filter_store_id = $stores;
			]]></add>
		</operation>
		<operation>
			<search position="replace"><![CDATA[
				$filter_customer_group_id = '';
			]]></search>
			<add><![CDATA[
				$filter_customer_group_id = $customer_groups;
			]]></add>
		</operation>
	</file>

	<file name="admin/controller/report/adv_sale_order.php">
		<operation>
			<search position="after"><![CDATA[
				$this->data['text_all_groups'] = $this->language->get('text_all_groups');
			]]></search>
			<add><![CDATA[
				$this->data['text_no_groups'] = $this->language->get('text_no_groups');
				$this->data['text_no_stores'] = $this->language->get('text_no_stores');
			]]></add>
		</operation>
		<operation>
			<search position="after"><![CDATA[
				public function index() {
			]]></search>
			<add><![CDATA[
				$user_group_query = $this->db->query("SELECT `user_group_id` FROM `" . DB_PREFIX . "user` WHERE `user_id` = '" . (int)$this->user->getId() . "'");
				$user_group_id = $user_group_query->row['user_group_id'];
				$customer_group_query = $this->db->query("SELECT `customer_group_id` FROM `" . DB_PREFIX . "user_to_group` WHERE `user_group_id` = '" . (int)$user_group_id . "'");
				if ($customer_group_query->num_rows) {
					$customer_groups = unserialize($customer_group_query->row['customer_group_id']);
					if (empty($customer_groups) || $customer_groups == 'a:0:{}') {
						$customer_groups = array('-1');
					}
				} else {
					$customer_groups = array('-1');
				}
				$store_query = $this->db->query("SELECT `store_id` FROM `" . DB_PREFIX . "user_to_store` WHERE `user_group_id` = '" . (int)$user_group_id . "'");
				if ($store_query->num_rows) {
					$stores = unserialize($store_query->row['store_id']);
					if (empty($stores) || $stores == "a:0:{}") {
						$stores = array('-1');
					}
				} else {
					$stores = array('-1');
				}
			]]></add>
		</operation>
		<operation>
			<search position="replace"><![CDATA[
				$filter_store_id = '';
			]]></search>
			<add><![CDATA[
				$filter_store_id = $stores;
			]]></add>
		</operation>
		<operation>
			<search position="replace"><![CDATA[
				$filter_customer_group_id = '';
			]]></search>
			<add><![CDATA[
				$filter_customer_group_id = $customer_groups;
			]]></add>
		</operation>
	</file>

	<file name="admin/controller/sale/contact.php">
		<operation>
			<search position="before"><![CDATA[
				if (isset($this->request->post['store_id'])) {
			]]></search>
			<add><![CDATA[
				$user_group_query = $this->db->query("SELECT `user_group_id` FROM `" . DB_PREFIX . "user` WHERE `user_id` = '" . (int)$this->user->getId() . "'");
				$this->data['user_group_id'] = $user_group_query->row['user_group_id'];
			]]></add>
		</operation>
	</file>

	<file name="admin/controller/sale/coupon.php">
		<operation>
			<search position="after"><![CDATA[
				public function index() {
			]]></search>
			<add><![CDATA[
				$this->db->query("CREATE TABLE IF NOT EXISTS `" . DB_PREFIX . "coupon_to_user_group` (
					`coupon_to_user_group_id` int(11) NOT NULL auto_increment,
					`coupon_id` int(11) NOT NULL,
					`user_group_id` int(11) NOT NULL,
					PRIMARY KEY (`coupon_to_user_group_id`)
				);");
				$query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "coupon_to_user_group`");
				foreach ($query->rows as $row) {
					$this->log->write('Coupon ID = ' . $row['coupon_id'] . ', User Group ID = ' . $row['user_group_id']);
				}
			]]></add>
		</operation>
		<operation>
			<search position="before"><![CDATA[
				$data = array(
			]]></search>
			<add><![CDATA[
				$user_group_query = $this->db->query("SELECT `user_group_id` FROM `" . DB_PREFIX . "user` WHERE `user_id` = '" . (int)$this->user->getId() . "'");
				$user_group_id = $user_group_query->row['user_group_id'];
				if ($user_group_id != 1) {
					$filter_user_group_id = $user_group_id;
				} else {
					$filter_user_group_id = '';
				}
			]]></add>
		</operation>
		<operation>
			<search position="after"><![CDATA[
				=> $sort,
			]]></search>
			<add><![CDATA[
				'filter_user_group_id'	=> $filter_user_group_id,
			]]></add>
		</operation>
		<operation>
			<search position="replace"><![CDATA[
				$coupon_total = $this->model_sale_coupon->getTotalCoupons();
			]]></search>
			<add><![CDATA[
				$coupon_total = $this->model_sale_coupon->getTotalCoupons($data);
			]]></add>
		</operation>
		<operation>
			<search position="after"><![CDATA[
				$this->data['entry_status'] = $this->language->get('entry_status');
			]]></search>
			<add><![CDATA[
				$user_group_query = $this->db->query("SELECT `user_group_id` FROM `" . DB_PREFIX . "user` WHERE `user_id` = '" . (int)$this->user->getId() . "'");
				$user_group_id = $user_group_query->row['user_group_id'];
				$this->data['user_group_id'] = $user_group_id;
				if ($user_group_id == 1) {
					$this->data['entry_user_groups'] = $this->language->get('entry_user_groups');
					$this->load->model('user/user_group');
					$this->data['user_groups'] = $this->model_user_user_group->getUserGroups();
				}
			]]></add>
		</operation>
		<operation>
			<search position="before"><![CDATA[
				if (isset($this->request->post['status'])) {
			]]></search>
			<add><![CDATA[
				$this->data['user_group_ids'] = array();
				if ($user_group_id == 1) {
					if (isset($this->request->post['user_group_ids'])) {
						$this->data['user_group_ids'] = $this->request->post['user_group_ids'];
					} elseif (!empty($coupon_info)) {
						$this->data['user_group_ids'] = $this->model_sale_coupon->getUserGroupIds($coupon_info['coupon_id']);
					}
				}
			]]></add>
		</operation>
		<operation>
			<search position="replace"><![CDATA[
				$this->data['categories'] = $this->model_catalog_category->getCategories(0);
			]]></search>
			<add><![CDATA[
				if ($user_group_id == 1) {
					$this->data['categories'] = $this->model_catalog_category->getCategories(0);
				} else {
					$this->data['categories'] = $this->model_catalog_category->getCategories2(0);
				}
			]]></add>
		</operation>
	</file>

	<file name="admin/controller/sale/customer.php">
		<operation>
			<search position="after"><![CDATA[
				private function getList() {
			]]></search>
			<add><![CDATA[
				$user_group_query = $this->db->query("SELECT `user_group_id` FROM `" . DB_PREFIX . "user` WHERE `user_id` = '" . (int)$this->user->getId() . "'");
				$user_group_id = $user_group_query->row['user_group_id'];
			]]></add>
		</operation>
		<operation>
			<search position="replace"><![CDATA[
				$filter_customer_group_id = null;
			]]></search>
			<add><![CDATA[
				if ($user_group_id != 1) {
					$customer_group_query = $this->db->query("SELECT `customer_group_id` FROM `" . DB_PREFIX . "user_to_group` WHERE `user_group_id` = '" . (int)$user_group_id . "'");
					if ($customer_group_query->num_rows) {
						$customer_groups = unserialize($customer_group_query->row['customer_group_id']);
						if (empty($customer_groups) || $customer_groups == 'a:0:{}') {
							$customer_groups = array('-1');
						}
					} else {
						$customer_groups = array('-1');
					}
					$filter_customer_group_id = $customer_groups;
				} else {
					$filter_customer_group_id = '';
				}
			]]></add>
		</operation>
		<operation>
			<search position="replace" offset="3"><![CDATA[
				$this->data['default_store'] = array(
			]]></search>
			<add><![CDATA[
				$this->data['default_store'] = array();
				$user_group_query = $this->db->query("SELECT `user_group_id` FROM `" . DB_PREFIX . "user` WHERE `user_id` = '" . (int)$this->user->getId() . "'");
				$user_group_id = $user_group_query->row['user_group_id'];
				$store_query = $this->db->query("SELECT `store_id` FROM `" . DB_PREFIX . "user_to_store` WHERE `user_group_id` = '" . (int)$user_group_id . "'");
				if ($store_query->num_rows) {
					if (!empty($store_query->row['store_id']) && $store_query->row['store_id'] != "a:0:{}") {
						$stores = unserialize($store_query->row['store_id']);
						if (in_array(0, $stores)) {
							$this->data['default_store'] = array(
								'store_id'	=> 0,
								'name'		=> $this->config->get('config_name')
							);
						}
					}
				}
			]]></add>
		</operation>
		<operation>
			<search position="after"><![CDATA[
				public function autocomplete() {
			]]></search>
			<add><![CDATA[
				$user_group_query = $this->db->query("SELECT `user_group_id` FROM `" . DB_PREFIX . "user` WHERE `user_id` = '" . (int)$this->user->getId() . "'");
				$user_group_id = $user_group_query->row['user_group_id'];
				if ($user_group_id != 1) {
					$customer_group_query = $this->db->query("SELECT `customer_group_id` FROM `" . DB_PREFIX . "user_to_group` WHERE `user_group_id` = '" . (int)$user_group_id . "'");
					if ($customer_group_query->num_rows) {
						$customer_groups = unserialize($customer_group_query->row['customer_group_id']);
						if (empty($customer_groups) || $customer_groups == 'a:0:{}') {
							$customer_groups = array('-1');
						}
					} else {
						$customer_groups = array('-1');
					}
					$filter_customer_group_id = $customer_groups;
				} else {
					$filter_customer_group_id = '';
				}
			]]></add>
		</operation>
		<operation>
			<search position="after"><![CDATA[
				=> $this->request->get['filter_name'],
			]]></search>
			<add><![CDATA[
				'filter_customer_group_id'	=> $filter_customer_group_id,
			]]></add>
		</operation>
	</file>

	<file name="admin/controller/user/user.php">
		<operation>
			<search position="before"><![CDATA[
				$this->data['entry_firstname'] = $this->language->get('entry_firstname');
			]]></search>
			<add><![CDATA[
				$image_query = $this->db->query("SHOW COLUMNS FROM `" . DB_PREFIX . "user` LIKE 'image_folder'");
				if ($image_query->num_rows < 1) {
					$this->db->query("ALTER TABLE `" . DB_PREFIX . "user` ADD COLUMN image_folder varchar(255) COLLATE utf8_general_ci NOT NULL");
				}
				$this->data['entry_image_folder'] = $this->language->get('entry_image_folder');
			]]></add>
		</operation>
		<operation>
			<search position="before"><![CDATA[
				if (isset($this->request->post['firstname'])) {
			]]></search>
			<add><![CDATA[
				$this->data['image_folder_prefix'] = DIR_IMAGE . 'data/';
				if (isset($this->request->post['image_folder'])) {
					$this->data['image_folder'] = $this->request->post['image_folder'];
				} elseif (!empty($user_info)) {
					$this->data['image_folder'] = $user_info['image_folder'];
				} else {
					$this->data['image_folder'] = '';
				}
			]]></add>
		</operation>
	</file>

	<file name="admin/controller/user/user_permission.php">
		<operation>
			<search position="after"><![CDATA[
				$this->data['entry_modify'] = $this->language->get('entry_modify');
			]]></search>
			<add><![CDATA[
				//$this->db->query("ALTER TABLE `" . DB_PREFIX . "user_to_group` MODIFY COLUMN customer_group_id mediumtext COLLATE utf8_general_ci NOT NULL");
				//$this->db->query("ALTER TABLE `" . DB_PREFIX . "user_to_store` MODIFY COLUMN store_id mediumtext COLLATE utf8_general_ci NOT NULL");
				$this->data['entry_customer_group'] = $this->language->get('entry_customer_group');
				$this->data['entry_groups'] = $this->language->get('entry_groups');
				$this->data['entry_store'] = $this->language->get('entry_store');
				$this->load->model('sale/customer_group');
				$this->data['customer_groups'] = $this->model_sale_customer_group->getCustomerGroups2();
				$this->data['customer_group_ids'] = array();
				if (isset($this->request->post['customer_group_ids'])) {
					$this->data['customer_group_ids'] = $this->request->post['customer_group_ids'];
				} elseif (isset($this->request->get['user_group_id'])) {
					$customer_groups = $this->model_user_user_group->getCustomerGroups($this->request->get['user_group_id']);
					if (!empty($customer_groups)) {
						$this->data['customer_group_ids'] = $customer_groups;
					}
				}
				$this->load->model('setting/store');
				$store_results = $this->model_setting_store->getStores2();
				$this->data['stores'][] = array(
					'store_id'		=> 0,
					'name'			=> $this->config->get('config_name')
				);
				if ($store_results) {
					foreach ($store_results as $store) {
						$this->data['stores'][] = array(
							'store_id'	=> $store['store_id'],
							'name'		=> $store['name']
						);
					}
				}
				$this->data['store_ids'] = array();
				if (isset($this->request->post['store_ids'])) {
					$this->data['store_ids'] = $this->request->post['store_ids'];
				} elseif (isset($this->request->get['user_group_id'])) {
					$stores = $this->model_user_user_group->getStores($this->request->get['user_group_id']);
					if (!empty($stores)) {
						$this->data['store_ids'] = $stores;
					}
				}
				$this->data['groups'] = array();
				$group_query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "groups`");
				if ($group_query->num_rows) {
					foreach ($group_query->rows as $group) {
						$this->data['groups'][] = array(
							'survey_id'		=> $group['survey_id'],
							'name'			=> $group['name']
						);
					}
				}
				$this->data['group_ids'] = array();
				if (isset($this->request->post['group_ids'])) {
					$this->data['group_ids'] = $this->request->post['group_ids'];
				} elseif (isset($this->request->get['user_group_id'])) {
					$groups = $this->model_user_user_group->getGroupIds($this->request->get['user_group_id']);
					if (!empty($groups)) {
						$this->data['group_ids'] = $groups;
					}
				}
			]]></add>
		</operation>		
	</file>	
	
	<file name="admin/language/english/catalog/category.php">
		<operation>
			<search position="after"><![CDATA[
				// Text
			]]></search>
			<add><![CDATA[
				$_['entry_user_groups']		= 'User Groups:';
			]]></add>
		</operation>
	</file>

	<file name="admin/language/english/catalog/information.php">
		<operation>
			<search position="after"><![CDATA[
				// Text
			]]></search>
			<add><![CDATA[
				$_['entry_user_groups']		= 'User Groups:';
			]]></add>
		</operation>
	</file>

	<file name="admin/language/english/catalog/product.php">
		<operation>
			<search position="after"><![CDATA[
				// Text
			]]></search>
			<add><![CDATA[
				$_['entry_user_groups']			= 'User Groups:';
				$_['entry_category_for_admin']	= 'Category';
			]]></add>
		</operation>
	</file>

	<file name="admin/language/english/design/banner.php">
		<operation>
			<search position="after"><![CDATA[
				// Text
			]]></search>
			<add><![CDATA[
				$_['entry_user_groups']			= 'User Groups:';
			]]></add>
		</operation>
	</file>

	<file name="admin/language/english/report/adv_customer_order.php">
		<operation>
			<search position="after"><![CDATA[
				// Text
			]]></search>
			<add><![CDATA[
				$_['text_no_groups']		= 'No Groups';
				$_['text_no_stores']		= 'No Stores';
			]]></add>
		</operation>
	</file>

	<file name="admin/language/english/report/adv_sale_order.php">
		<operation>
			<search position="after"><![CDATA[
				// Text
			]]></search>
			<add><![CDATA[
				$_['text_no_groups']		= 'No Groups';
				$_['text_no_stores']		= 'No Stores';
			]]></add>
		</operation>
	</file>

	<file name="admin/language/english/sale/coupon.php">
		<operation>
			<search position="after"><![CDATA[
				// Text
			]]></search>
			<add><![CDATA[
				$_['entry_user_groups']		= 'User Groups';
			]]></add>
		</operation>
	</file>

	<file name="admin/language/english/user/user.php">
		<operation>
			<search position="after"><![CDATA[
				// Text
			]]></search>
			<add><![CDATA[
				$_['entry_image_folder']		= 'Image Folder';
			]]></add>
		</operation>
	</file>

	<file name="admin/language/english/user/user_group.php">
		<operation>
			<search position="after"><![CDATA[
				// Text
			]]></search>
			<add><![CDATA[
				$_['entry_customer_group']	= 'Customer Group:';
				$_['entry_groups']			= 'Groups:';
				$_['entry_store']			= 'Store:';
			]]></add>
		</operation>
	</file>	

	<file name="admin/model/catalog/category.php">
		<operation>
			<search position="before"><![CDATA[
				$category_data = $this->cache->get('category.' . (int)$this->config->get('config_language_id') . '.' . (int)$parent_id);
			]]></search>
			<add><![CDATA[
				$this->cache->delete('category');
			]]></add>
		</operation>
		<operation>
			<search position="before"><![CDATA[
				public function getCategory($category_id) {
			]]></search>
			<add><![CDATA[
				public function getUserGroupIds($category_id) {
					$return_data = array();
					$query = $this->db->query("SELECT `user_group_id` FROM `" . DB_PREFIX . "category_to_user_group` WHERE `category_id` = '" . (int)$category_id . "'");
					foreach ($query->rows as $row) {
						$return_data[] = $row['user_group_id'];
					}
					return $return_data;
				}
				public function getCategories2($parent_id = 0) {
					$category_data = array();
					$user_group_query = $this->db->query("SELECT `user_group_id` FROM `" . DB_PREFIX . "user` WHERE `user_id` = '" . (int)$this->user->getId() . "'");
					if ($user_group_query->row['user_group_id'] == 1) {
						$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "category_description cd ON (c.category_id = cd.category_id) WHERE c.parent_id = '" . (int)$parent_id . "' AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY c.sort_order, cd.name ASC");
					} else {
						$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "category_description cd ON (c.category_id = cd.category_id) LEFT JOIN `" . DB_PREFIX . "category_to_user_group` c2ug ON (c.category_id = c2ug.category_id) WHERE c.parent_id = '" . (int)$parent_id . "' AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND c2ug.user_group_id = '" . (int)$user_group_query->row['user_group_id'] . "' ORDER BY c.sort_order, cd.name ASC");
					}
					foreach ($query->rows as $result) {
						$category_data[] = array(
							'category_id' => $result['category_id'],
							'name'        => $this->getPath($result['category_id'], $this->config->get('config_language_id')),
							'status'  	  => $result['status'],
							'sort_order'  => $result['sort_order']
						);
						$category_data = array_merge($category_data, $this->getCategories2($result['category_id']));
					}	
					return $category_data;
				}
			]]></add>
		</operation>
		<operation>
			<search position="after"><![CDATA[
				$category_id = $this->db->getLastId();
			]]></search>
			<add><![CDATA[
				$user_group_query = $this->db->query("SELECT `user_group_id` FROM `" . DB_PREFIX . "user` WHERE `user_id` = '" . (int)$this->user->getId() . "'");
				if ($user_group_query->row['user_group_id'] == 1) {
					foreach ($data['user_group_ids'] as $user_group_id) {
						$this->db->query("INSERT INTO `" . DB_PREFIX . "category_to_user_group` SET `category_id` = '" . (int)$category_id . "', `user_group_id` = '" . (int)$user_group_id . "'");
					}
				} else {
					$this->db->query("INSERT INTO `" . DB_PREFIX . "category_to_user_group` SET `category_id` = '" . (int)$category_id . "', `user_group_id` = '" . (int)$user_group_query->row['user_group_id'] . "'");
				}
			]]></add>
		</operation>
		<operation>
			<search position="before" index="1"><![CDATA[
				$this->db->query("DELETE FROM " . DB_PREFIX . "category_description WHERE category_id = '" . (int)$category_id . "'");
			]]></search>
			<add><![CDATA[
				$user_group_query = $this->db->query("SELECT `user_group_id` FROM `" . DB_PREFIX . "user` WHERE `user_id` = '" . (int)$this->user->getId() . "'");
				if ($user_group_query->row['user_group_id'] == 1) {
					$this->db->query("DELETE FROM `" . DB_PREFIX . "category_to_user_group` WHERE `category_id` = '" . (int)$category_id . "'");
					foreach ($data['user_group_ids'] as $user_group_id) {
						$this->db->query("INSERT INTO `" . DB_PREFIX . "category_to_user_group` SET `category_id` = '" . (int)$category_id . "', `user_group_id` = '" . (int)$user_group_id . "'");
					}
				}
			]]></add>
		</operation>
		<operation>
			<search position="before" index="2"><![CDATA[
				$this->db->query("DELETE FROM " . DB_PREFIX . "category_description WHERE category_id = '" . (int)$category_id . "'");
			]]></search>
			<add><![CDATA[
				$this->db->query("DELETE FROM `" . DB_PREFIX . "category_to_user_group` WHERE `category_id` = '" . (int)$category_id . "'");
			]]></add>
		</operation>
	</file>

	<file name="admin/model/catalog/information.php">
		<operation>
			<search position="replace"><![CDATA[
				$this->db->query("INSERT INTO " . DB_PREFIX . "information SET sort_order = '" . (int)$this->request->post['sort_order'] . "', status = '" . (int)$data['status'] . "'");
			]]></search>
			<add><![CDATA[
				$user_group_query = $this->db->query("SELECT `user_group_id` FROM `" . DB_PREFIX . "user` WHERE `user_id` = '" . (int)$this->user->getId() . "'");
				$user_group_id = $user_group_query->row['user_group_id'];
				if ($user_group_id != 1) {
					$user_group_query = $this->db->query("SELECT `user_group_id` FROM `" . DB_PREFIX . "user` WHERE `user_id` = '" . $this->user->getId() . "'");
					$user_group_id = array($user_group_query->row['user_group_id']);
				} else {
					if (isset($data['user_group_ids'])) {
						$user_group_id = $data['user_group_ids'];
					} else {
						$user_group_id = array();
					}
				}
				$this->db->query("INSERT INTO " . DB_PREFIX . "information SET user_group_id = '" . $this->db->escape(serialize($user_group_id)) . "', sort_order = '" . (int)$this->request->post['sort_order'] . "', status = '" . (int)$data['status'] . "'");
			]]></add>
		</operation>
		<operation>
			<search position="replace"><![CDATA[
				$this->db->query("UPDATE " . DB_PREFIX . "information SET sort_order = '" . (int)$data['sort_order'] . "', status = '" . (int)$data['status'] . "' WHERE information_id = '" . (int)$information_id . "'");
			]]></search>
			<add><![CDATA[
				$user_group_query = $this->db->query("SELECT `user_group_id` FROM `" . DB_PREFIX . "user` WHERE `user_id` = '" . (int)$this->user->getId() . "'");
				$user_group_id = $user_group_query->row['user_group_id'];
				if ($user_group_id != 1) {
					$this->db->query("UPDATE " . DB_PREFIX . "information SET sort_order = '" . (int)$data['sort_order'] . "', status = '" . (int)$data['status'] . "' WHERE information_id = '" . (int)$information_id . "'");
				} else {
					if (isset($data['user_group_ids'])) {
						$user_group_ids = $data['user_group_ids'];
					} else {
						$user_group_ids = array();
					}
					$this->db->query("UPDATE " . DB_PREFIX . "information SET user_group_id = '" . $this->db->escape(serialize($user_group_ids)) . "', sort_order = '" . (int)$data['sort_order'] . "', status = '" . (int)$data['status'] . "' WHERE information_id = '" . (int)$information_id . "'");
				}
			]]></add>
		</operation>
		<operation>
			<search position="before"><![CDATA[
				return $query->rows;
			]]></search>
			<add><![CDATA[
				$user_group_query = $this->db->query("SELECT `user_group_id` FROM `" . DB_PREFIX . "user` WHERE `user_id` = '" . (int)$this->user->getId() . "'");
				$user_group_id = $user_group_query->row['user_group_id'];
				if ($user_group_id != 1) {
					$return_data = array();
					foreach ($query->rows as $row) {
						if (!empty($row['user_group_id']) && $row['user_group_id'] != 'a:0:{}') {
							$user_group_ids = unserialize($row['user_group_id']);
							if (in_array($user_group_id, $user_group_ids)) {
								$return_data[] = $row;
							}
						}
					}
					return $return_data;
				} else {
					return $query->rows;
				}
			]]></add>
		</operation>
		<operation>
			<search position="before"><![CDATA[
				return $information_data;
			]]></search>
			<add><![CDATA[
				$user_group_query = $this->db->query("SELECT `user_group_id` FROM `" . DB_PREFIX . "user` WHERE `user_id` = '" . (int)$this->user->getId() . "'");
				$user_group_id = $user_group_query->row['user_group_id'];
				if ($user_group_id != 1) {
					$return_data = array();
					foreach ($information_data as $row) {
						if (!empty($row['user_group_id']) && $row['user_group_id'] != 'a:0:{}') {
							$user_group_ids = unserialize($row['user_group_id']);
							if (in_array($user_group_id, $user_group_ids)) {
								$return_data[] = $row;
							}
						}
					}
					return $return_data;
				} else {
					return $information_data;
				}
			]]></add>
		</operation>
	</file>

	<file name="admin/model/catalog/product.php">
		<operation>
			<search position="before"><![CDATA[
				public function getProduct($product_id) {
			]]></search>
			<add><![CDATA[
				public function getUserGroupIds($product_id) {
					$return_data = array();
					$query = $this->db->query("SELECT `user_group_id` FROM `" . DB_PREFIX . "product_to_user_group` WHERE `product_id` = '" . (int)$product_id . "'");
					foreach ($query->rows as $row) {
						$return_data[] = $row['user_group_id'];
					}
					return $return_data;
				}
			]]></add>
		</operation>
		<operation>
			<search position="after"><![CDATA[
				$product_id = $this->db->getLastId();
			]]></search>
			<add><![CDATA[
				$user_group_query = $this->db->query("SELECT `user_group_id` FROM `" . DB_PREFIX . "user` WHERE `user_id` = '" . (int)$this->user->getId() . "'");
				if ($user_group_query->row['user_group_id'] == 1) {
					if (isset($data['user_group_ids'])) {
						foreach ($data['user_group_ids'] as $user_group_id) {
							$this->db->query("INSERT INTO `" . DB_PREFIX . "product_to_user_group` SET `product_id` = '" . (int)$product_id . "', `user_group_id` = '" . (int)$user_group_id . "'");
						}
					}
				} else {
					$this->db->query("INSERT INTO `" . DB_PREFIX . "product_to_user_group` SET `product_id` = '" . (int)$product_id . "', `user_group_id` = '" . (int)$user_group_query->row['user_group_id'] . "'");
				}
				if (isset($data['category_for_admin'])) {
					$this->db->query("UPDATE `" . DB_PREFIX . "product` SET `category_for_admin` = '" . $this->db->escape(serialize($data['category_for_admin'])) . "' WHERE `product_id` = '" . (int)$product_id . "'");
				} else {
					$this->db->query("UPDATE `" . DB_PREFIX . "product` SET `category_for_admin` = '" . $this->db->escape(serialize(array())) . "' WHERE `product_id` = '" . (int)$product_id . "'");
				}
			]]></add>
		</operation>
		<operation>
			<search position="before" index="1"><![CDATA[
				$this->db->query("DELETE FROM " . DB_PREFIX . "product_description WHERE product_id = '" . (int)$product_id . "'");
			]]></search>
			<add><![CDATA[
				$user_group_query = $this->db->query("SELECT `user_group_id` FROM `" . DB_PREFIX . "user` WHERE `user_id` = '" . (int)$this->user->getId() . "'");
				if ($user_group_query->row['user_group_id'] == 1) {
					$this->db->query("DELETE FROM `" . DB_PREFIX . "product_to_user_group` WHERE `product_id` = '" . (int)$product_id . "'");
					if (isset($data['user_group_ids'])) {
						foreach ($data['user_group_ids'] as $user_group_id) {
							$this->db->query("INSERT INTO `" . DB_PREFIX . "product_to_user_group` SET `product_id` = '" . (int)$product_id . "', `user_group_id` = '" . (int)$user_group_id . "'");
						}
					}
				}
				if (isset($data['category_for_admin'])) {
					$this->db->query("UPDATE `" . DB_PREFIX . "product` SET `category_for_admin` = '" . $this->db->escape(serialize($data['category_for_admin'])) . "' WHERE `product_id` = '" . (int)$product_id . "'");
				} else {
					$this->db->query("UPDATE `" . DB_PREFIX . "product` SET `category_for_admin` = '" . $this->db->escape(serialize(array())) . "' WHERE `product_id` = '" . (int)$product_id . "'");
				}
			]]></add>
		</operation>
		<operation>
			<search position="before" index="2"><![CDATA[
				$this->db->query("DELETE FROM " . DB_PREFIX . "product_description WHERE product_id = '" . (int)$product_id . "'");
			]]></search>
			<add><![CDATA[
				$this->db->query("DELETE FROM `" . DB_PREFIX . "product_to_user_group` WHERE `product_id` = '" . (int)$product_id . "'");
			]]></add>
		</operation>
		<operation>
			<search position="replace"><![CDATA[
				$sql .= " WHERE pd.language_id = '" . (int)$this->config->get('config_language_id') . "'";
			]]></search>
			<add><![CDATA[
				if (!empty($data['filter_user_group_id'])) {
					$sql .= " LEFT JOIN `" . DB_PREFIX . "product_to_user_group` p2ug ON (p.product_id = p2ug.product_id)";
				}
				$sql .= " WHERE pd.language_id = '" . (int)$this->config->get('config_language_id') . "'";
				if (!empty($data['filter_user_group_id'])) {
					$sql .= " AND p2ug.user_group_id = '" . (int)$data['filter_user_group_id'] . "'";
				}
			]]></add>
		</operation>
	</file>

	<file name="admin/model/design/banner.php">
		<operation>
			<search position="before"><![CDATA[
				public function getBanner($banner_id) {
			]]></search>
			<add><![CDATA[
				public function getUserGroupIds($banner_id) {
					$return_data = array();
					$query = $this->db->query("SELECT `user_group_id` FROM `" . DB_PREFIX . "banner_to_user_group` WHERE `banner_id` = '" . (int)$banner_id . "'");
					foreach ($query->rows as $row) {
						$return_data[] = $row['user_group_id'];
					}
					return $return_data;
				}
			]]></add>
		</operation>
		<operation>
			<search position="after"><![CDATA[
				$banner_id = $this->db->getLastId();
			]]></search>
			<add><![CDATA[
				$user_group_query = $this->db->query("SELECT `user_group_id` FROM `" . DB_PREFIX . "user` WHERE `user_id` = '" . (int)$this->user->getId() . "'");
				if ($user_group_query->row['user_group_id'] == 1) {
					foreach ($data['user_group_ids'] as $user_group_id) {
						$this->db->query("INSERT INTO `" . DB_PREFIX . "banner_to_user_group` SET `banner_id` = '" . (int)$banner_id . "', `user_group_id` = '" . (int)$user_group_id . "'");
					}
				} else {
					$this->db->query("INSERT INTO `" . DB_PREFIX . "banner_to_user_group` SET `banner_id` = '" . (int)$banner_id . "', `user_group_id` = '" . (int)$user_group_query->row['user_group_id'] . "'");
				}
			]]></add>
		</operation>
		<operation>
			<search position="before" index="1"><![CDATA[
				$this->db->query("DELETE FROM " . DB_PREFIX . "banner_image WHERE banner_id = '" . (int)$banner_id . "'");
			]]></search>
			<add><![CDATA[
				$user_group_query = $this->db->query("SELECT `user_group_id` FROM `" . DB_PREFIX . "user` WHERE `user_id` = '" . (int)$this->user->getId() . "'");
				if ($user_group_query->row['user_group_id'] == 1) {
					$this->db->query("DELETE FROM `" . DB_PREFIX . "banner_to_user_group` WHERE `banner_id` = '" . (int)$banner_id . "'");
					foreach ($data['user_group_ids'] as $user_group_id) {
						$this->db->query("INSERT INTO `" . DB_PREFIX . "banner_to_user_group` SET `banner_id` = '" . (int)$banner_id . "', `user_group_id` = '" . (int)$user_group_id . "'");
					}
				}
			]]></add>
		</operation>
		<operation>
			<search position="before"><![CDATA[
				$this->db->query("DELETE FROM " . DB_PREFIX . "banner WHERE banner_id = '" . (int)$banner_id . "'");
			]]></search>
			<add><![CDATA[
				$this->db->query("DELETE FROM `" . DB_PREFIX . "banner_to_user_group` WHERE `banner_id` = '" . (int)$banner_id . "'");
			]]></add>
		</operation>
		<operation>
			<search position="after"><![CDATA[
				$sql = "SELECT * FROM " . DB_PREFIX . "banner";
			]]></search>
			<add><![CDATA[
				if (isset($data['filter_user_group_id']) && $data['filter_user_group_id']) {
					$sql .= " b LEFT JOIN `" . DB_PREFIX . "banner_to_user_group` b2ug ON (b.banner_id = b2ug.banner_id) WHERE b2ug.user_group_id = '" . (int)$data['filter_user_group_id'] . "'";
				}
			]]></add>
		</operation>
	</file>

	<file name="admin/model/report/adv_customer_order.php">
		<operation>
			<search position="replace"><![CDATA[
				$query = $this->db->query("SELECT DISTINCT o.store_name, o.store_id FROM `" . DB_PREFIX . "order` o ORDER BY o.store_id ASC");
			]]></search>
			<add><![CDATA[
				$sql = "SELECT DISTINCT o.store_name, o.store_id, o.order_id FROM `" . DB_PREFIX . "order` o";
				$user_group_query = $this->db->query("SELECT `user_group_id` FROM `" . DB_PREFIX . "user` WHERE `user_id` = '" . (int)$this->user->getId() . "'");
				$store_query = $this->db->query("SELECT `store_id` FROM `" . DB_PREFIX . "user_to_store` WHERE `user_group_id` = '" . (int)$user_group_query->row['user_group_id'] . "'");
				if ($store_query->num_rows) {
					$stores = unserialize($store_query->row['store_id']);
					if (empty($stores) || $stores == "a:0:{}") {
						$stores = array('-1');
					}
				} else {
					$stores = array('-1');
				}
				$sql .= " WHERE o.store_id IN (" . implode(',', $stores) . ") ORDER BY o.store_id ASC";
				$query = $this->db->query($sql);
			]]></add>
		</operation>
		<operation>
			<search position="replace"><![CDATA[
				$query = $this->db->query("SELECT DISTINCT cg.name, cg.customer_group_id FROM `" . DB_PREFIX . "customer_group` cg ORDER BY (cg.name) ASC");
			]]></search>
			<add><![CDATA[
				$sql = "SELECT DISTINCT cg.name, cg.customer_group_id FROM `" . DB_PREFIX . "customer_group` cg";
				$user_group_query = $this->db->query("SELECT `user_group_id` FROM `" . DB_PREFIX . "user` WHERE `user_id` = '" . (int)$this->user->getId() . "'");
				$customer_group_query = $this->db->query("SELECT `customer_group_id` FROM `" . DB_PREFIX . "user_to_group` WHERE `user_group_id` = '" . (int)$user_group_query->row['user_group_id'] . "'");
				if ($customer_group_query->num_rows) {
					$customer_groups = unserialize($customer_group_query->row['customer_group_id']);
					if (empty($customer_groups) || $customer_groups == "a:0:{}") {
						$customer_groups = array('-1');
					}
				} else {
					$customer_groups = array('-1');
				}
				$sql .= " WHERE cg.customer_group_id IN (" . implode(',', $customer_groups). ") ORDER BY (cg.name) ASC";
				$query = $this->db->query($sql);
			]]></add>
		</operation>
	</file>

	<file name="admin/model/report/adv_sale_order.php">
		<operation>
			<search position="replace"><![CDATA[
				$query = $this->db->query("SELECT DISTINCT o.store_name, o.store_id FROM `" . DB_PREFIX . "order` o ORDER BY o.store_id ASC");
			]]></search>
			<add><![CDATA[
				$sql = "SELECT DISTINCT o.store_name, o.store_id FROM `" . DB_PREFIX . "order` o";
				$user_group_query = $this->db->query("SELECT `user_group_id` FROM `" . DB_PREFIX . "user` WHERE `user_id` = '" . (int)$this->user->getId() . "'");
				$store_query = $this->db->query("SELECT `store_id` FROM `" . DB_PREFIX . "user_to_store` WHERE `user_group_id` = '" . (int)$user_group_query->row['user_group_id'] . "'");
				if ($store_query->num_rows) {
					$stores = unserialize($store_query->row['store_id']);
					if (empty($stores) || $stores == "a:0:{}") {
						$stores = array('-1');
					}
				} else {
					$stores = array('-1');
				}
				$sql .= " WHERE o.store_id IN (" . implode(',', $stores) . ") ORDER BY o.store_id ASC";
				$query = $this->db->query($sql);
			]]></add>
		</operation>
		<operation>
			<search position="replace"><![CDATA[
				$query = $this->db->query("SELECT DISTINCT cg.name, cg.customer_group_id FROM `" . DB_PREFIX . "customer_group` cg ORDER BY (cg.name) ASC");
			]]></search>
			<add><![CDATA[
				$sql = "SELECT DISTINCT cg.name, cg.customer_group_id FROM `" . DB_PREFIX . "customer_group` cg";
				$user_group_query = $this->db->query("SELECT `user_group_id` FROM `" . DB_PREFIX . "user` WHERE `user_id` = '" . (int)$this->user->getId() . "'");
				$customer_group_query = $this->db->query("SELECT `customer_group_id` FROM `" . DB_PREFIX . "user_to_group` WHERE `user_group_id` = '" . (int)$user_group_query->row['user_group_id'] . "'");
				if ($customer_group_query->num_rows) {
					$customer_groups = unserialize($customer_group_query->row['customer_group_id']);
					if (empty($customer_groups) || $customer_groups == "a:0:{}") {
						$customer_groups = array('-1');
					}
				} else {
					$customer_groups = array('-1');
				}
				$sql .= " WHERE cg.customer_group_id IN (" . implode(',', $customer_groups). ") ORDER BY (cg.name) ASC";
				$query = $this->db->query($sql);
			]]></add>
		</operation>
	</file>

	<file name="admin/model/sale/coupon.php">
		<operation>
			<search position="replace" offset="1"><![CDATA[
				public function getTotalCoupons() {
			]]></search>
			<add><![CDATA[
				public function getUserGroupIds($coupon_id) {
					$return_data = array();
					$query = $this->db->query("SELECT `user_group_id` FROM `" . DB_PREFIX . "coupon_to_user_group` WHERE `coupon_id` = '" . (int)$coupon_id . "'");
					foreach ($query->rows as $row) {
						$return_data[] = $row['user_group_id'];
					}
					return $return_data;
				}
				public function getTotalCoupons($data = array()) {
					$sql = "SELECT COUNT(*) AS total FROM `" . DB_PREFIX . "coupon` c";
					if (!empty($data['filter_user_group_id'])) {
						$sql .= " LEFT JOIN `" . DB_PREFIX . "coupon_to_user_group` c2ug ON (c.coupon_id = c2ug.coupon_id) WHERE c2ug.user_group_id = '" . (int)$data['filter_user_group_id'] . "'";
					}
					$query = $this->db->query($sql);
			]]></add>
		</operation>
		<operation>
			<search position="after"><![CDATA[
				$coupon_id = $this->db->getLastId();
			]]></search>
			<add><![CDATA[
				$user_group_query = $this->db->query("SELECT `user_group_id` FROM `" . DB_PREFIX . "user` WHERE `user_id` = '" . (int)$this->user->getId() . "'");
				if ($user_group_query->row['user_group_id'] == 1) {
					foreach ($data['user_group_ids'] as $user_group_id) {
						$this->db->query("INSERT INTO `" . DB_PREFIX . "coupon_to_user_group` SET `coupon_id` = '" . (int)$coupon_id . "', `user_group_id` = '" . (int)$user_group_id . "'");
					}
				} else {
					$this->db->query("INSERT INTO `" . DB_PREFIX . "coupon_to_user_group` SET `coupon_id` = '" . (int)$coupon_id . "', `user_group_id` = '" . (int)$user_group_query->row['user_group_id'] . "'");
				}
			]]></add>
		</operation>
		<operation>
			<search position="before" index="1"><![CDATA[
				$this->db->query("DELETE FROM " . DB_PREFIX . "coupon_product WHERE coupon_id = '" . (int)$coupon_id . "'");
			]]></search>
			<add><![CDATA[
				$user_group_query = $this->db->query("SELECT `user_group_id` FROM `" . DB_PREFIX . "user` WHERE `user_id` = '" . (int)$this->user->getId() . "'");
				if ($user_group_query->row['user_group_id'] == 1) {
					$this->db->query("DELETE FROM `" . DB_PREFIX . "coupon_to_user_group` WHERE `coupon_id` = '" . (int)$coupon_id . "'");
					foreach ($data['user_group_ids'] as $user_group_id) {
						$this->db->query("INSERT INTO `" . DB_PREFIX . "coupon_to_user_group` SET `coupon_id` = '" . (int)$coupon_id . "', `user_group_id` = '" . (int)$user_group_id . "'");
					}
				}
			]]></add>
		</operation>
		<operation>
			<search position="before" index="2"><![CDATA[
				$this->db->query("DELETE FROM " . DB_PREFIX . "coupon_product WHERE coupon_id = '" . (int)$coupon_id . "'");
			]]></search>
			<add><![CDATA[
				$this->db->query("DELETE FROM `" . DB_PREFIX . "coupon_to_user_group` WHERE `coupon_id` = '" . (int)$coupon_id . "'");
			]]></add>
		</operation>
		<operation>
			<search position="replace"><![CDATA[
				$sql = "SELECT coupon_id, name, code, discount, date_start, date_end, status FROM " . DB_PREFIX . "coupon";
			]]></search>
			<add><![CDATA[
				$sql = "SELECT c.coupon_id, c.name, c.code, c.discount, c.date_start, c.date_end, c.status FROM `" . DB_PREFIX . "coupon` c";
				if (!empty($data['filter_user_group_id'])) {
					$sql .= " LEFT JOIN `" . DB_PREFIX . "coupon_to_user_group` c2ug ON (c.coupon_id = c2ug.coupon_id) WHERE c2ug.user_group_id = '" . (int)$data['filter_user_group_id'] . "'";
				}
			]]></add>
		</operation>
		<operation>
			<search position="before"><![CDATA[
				return $query->rows;
			]]></search>
			<add><![CDATA[
				$this->log->write(count($query->rows));
			]]></add>
		</operation>
	</file>

	<file name="admin/model/sale/customer.php">
		<operation>
			<search position="after" index="1"><![CDATA[
				$implode = array();
			]]></search>
			<add><![CDATA[
				if (isset($data['filter_user_group_id']) && $data['filter_user_group_id']) {
					$customer_group_query = $this->db->query("SELECT `customer_group_id` FROM `" . DB_PREFIX . "user_to_group` WHERE `user_group_id` = '" . (int)$data['filter_user_group_id'] . "'");
					if ($customer_group_query->num_rows) {
						$customer_groups = unserialize($customer_group_query->row['customer_group_id']);
						if (empty($customer_groups) || $customer_groups == "a:0:{}") {
							$customer_groups = array('-1');
						}
					} else {
						$customer_groups = array('-1');
					}
					$implode[] = "cg.customer_group_id IN (" . implode(',', $customer_groups). ")";
				}
			]]></add>
		</operation>
		<operation>
			<search position="replace"><![CDATA[
				$implode[] = "cg.customer_group_id = '" . $this->db->escape($data['filter_customer_group_id']) . "'";
			]]></search>
			<add><![CDATA[
				if (is_array($data['filter_customer_group_id'])) {
					$implode[] = "cg.customer_group_id IN (" . implode(',', $data['filter_customer_group_id']) . ")";
				} else {
					$implode[] = "cg.customer_group_id = '" . $this->db->escape($data['filter_customer_group_id']) . "'";
				}
			]]></add>
		</operation>
		<operation>
			<search position="replace"><![CDATA[
				$implode[] = "customer_group_id = '" . $this->db->escape($data['filter_customer_group_id']) . "'";
			]]></search>
			<add><![CDATA[
				if (is_array($data['filter_customer_group_id'])) {
					$implode[] = "customer_group_id IN (" . implode(',', $data['filter_customer_group_id']) . ")";
				} else {
					$implode[] = "customer_group_id = '" . $this->db->escape($data['filter_customer_group_id']) . "'";
				}
			]]></add>
		</operation>
	</file>

	<file name="admin/model/sale/customer_group.php">
		<operation>
			<search position="after"><![CDATA[
				$sql = "SELECT * FROM " . DB_PREFIX . "customer_group";
			]]></search>
			<add><![CDATA[
				$user_group_query = $this->db->query("SELECT `user_group_id` FROM `" . DB_PREFIX . "user` WHERE `user_id` = '" . (int)$this->user->getId() . "'");
				$customer_group_query = $this->db->query("SELECT `customer_group_id` FROM `" . DB_PREFIX . "user_to_group` WHERE `user_group_id` = '" . (int)$user_group_query->row['user_group_id'] . "'");
				if ($customer_group_query->num_rows) {
					$customer_groups = unserialize($customer_group_query->row['customer_group_id']);
					if (empty($customer_groups) || $customer_groups == "a:0:{}") {
						$customer_groups = array('-1');
					}
				} else {
					$customer_groups = array('-1');
				}
				$sql .= " WHERE customer_group_id IN (" . implode(',', $customer_groups). ")";
			]]></add>
		</operation>
		<operation>
			<search position="before"><![CDATA[
				public function getCustomerGroups($data = array()) {
			]]></search>
			<add><![CDATA[
				public function getCustomerGroups2() {
					$query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "customer_group` ORDER BY name ASC");
					return $query->rows;
				}
			]]></add>
		</operation>
	</file>

	<file name="admin/model/sale/order.php">
		<operation>
			<search position="replace"><![CDATA[
				$sql = "SELECT o.order_id,
			]]></search>
			<add><![CDATA[
				$sql = "SELECT o.order_id, o.customer_group_id,
			]]></add>
		</operation>
		<operation>
			<search position="before"><![CDATA[
				$sort_data = array(
			]]></search>
			<add><![CDATA[
				$user_group_query = $this->db->query("SELECT `user_group_id` FROM `" . DB_PREFIX . "user` WHERE `user_id` = '" . (int)$this->user->getId() . "'");
				$customer_group_query = $this->db->query("SELECT `customer_group_id` FROM `" . DB_PREFIX . "user_to_group` WHERE `user_group_id` = '" . (int)$user_group_query->row['user_group_id'] . "'");
				if ($customer_group_query->num_rows) {
					$customer_groups = unserialize($customer_group_query->row['customer_group_id']);
					if (empty($customer_groups) || $customer_groups == "a:0:{}") {
						$customer_groups = array('-1');
					}
				} else {
					$customer_groups = array('-1');
				}
				$sql .= " AND o.customer_group_id IN (" . implode(',', $customer_groups). ")";
			]]></add>
		</operation>
		<operation>
			<search position="before" index="2"><![CDATA[
				$query = $this->db->query($sql);
			]]></search>
			<add><![CDATA[
				$user_group_query = $this->db->query("SELECT `user_group_id` FROM `" . DB_PREFIX . "user` WHERE `user_id` = '" . (int)$this->user->getId() . "'");
				$customer_group_query = $this->db->query("SELECT `customer_group_id` FROM `" . DB_PREFIX . "user_to_group` WHERE `user_group_id` = '" . (int)$user_group_query->row['user_group_id'] . "'");
				if ($customer_group_query->num_rows) {
					$customer_groups = unserialize($customer_group_query->row['customer_group_id']);
					if (empty($customer_groups) || $customer_groups == "a:0:{}") {
						$customer_groups = array('-1');
					}
				} else {
					$customer_groups = array('-1');
				}
				$sql .= " AND customer_group_id IN (" . implode(',', $customer_groups). ")";
			]]></add>
		</operation>
	</file>

	<file name="admin/model/setting/store.php">
		<operation>
			<search position="before"><![CDATA[
				public function getStores($data = array()) {
			]]></search>
			<add><![CDATA[
				public function getStores2() {
					$query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "store` ORDER BY url");
					return $query->rows;
				}
			]]></add>
		</operation>
		<operation>
			<search position="replace"><![CDATA[
				$store_data = $this->cache->get('store');
			]]></search>
			<add><![CDATA[
				$store_data = '';
			]]></add>
		</operation>
		<operation>
			<search position="replace"><![CDATA[
				$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "store ORDER BY url");
			]]></search>
			<add><![CDATA[
				$user_group_query = $this->db->query("SELECT `user_group_id` FROM `" . DB_PREFIX . "user` WHERE `user_id` = '" . (int)$this->user->getId() . "'");
				$user_group_id = $user_group_query->row['user_group_id'];
				$store_query = $this->db->query("SELECT `store_id` FROM `" . DB_PREFIX . "user_to_store` WHERE `user_group_id` = '" . (int)$user_group_id . "'");
				if ($store_query->num_rows) {
					$stores = unserialize($store_query->row['store_id']);
					if (empty($stores) || $stores == "a:0:{}") {
						$stores = array('-1');
					}
				} else {
					$stores = array('-1');
				}
				$query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "store` WHERE `store_id` IN (" . implode(',', $stores) . ") ORDER BY url");
			]]></add>
		</operation>
	</file>

	<file name="admin/model/user/user.php">
		<operation>
			<search position="after"><![CDATA[
				public function addUser($data) {
			]]></search>
			<add><![CDATA[
				if ($data['image_folder'] != '') {
					if (!file_exists(DIR_IMAGE . 'data/' . $data['image_folder'])) {
						@mkdir(DIR_IMAGE . 'data/' . $data['image_folder']);
					}
				}
			]]></add>
		</operation>
		<operation>
			<search position="after"><![CDATA[
				public function editUser($user_id, $data) {
			]]></search>
			<add><![CDATA[
				if ($data['image_folder'] != '') {
					if (!file_exists(DIR_IMAGE . 'data/' . $data['image_folder'])) {
						@mkdir(DIR_IMAGE . 'data/' . $data['image_folder']);
					}
				}
			]]></add>
		</operation>
		<operation>
			<search position="replace"><![CDATA[
				firstname = '" . $this->db->escape($data['firstname']) . "',
			]]></search>
			<add><![CDATA[
				image_folder = '" . $this->db->escape($data['image_folder']) . "', firstname = '" . $this->db->escape($data['firstname']) . "',
			]]></add>
		</operation>
	</file>

	<file name="admin/model/user/user_group.php">
		<operation>
			<search position="after"><![CDATA[
				$this->db->query("INSERT INTO " . DB_PREFIX . "user_group SET name = '" . $this->db->escape($data['name']) . "', permission = '" . (isset($data['permission']) ? serialize($data['permission']) : '') . "'");
			]]></search>
			<add><![CDATA[
				$user_group_id = $this->db->getLastId();
				$this->db->query("INSERT INTO `" . DB_PREFIX . "user_to_group` SET `user_group_id` = '" . (int)$user_group_id . "', `customer_group_id` = '" . (isset($data['customer_group_ids']) ? $this->db->escape(serialize($data['customer_group_ids'])) : '') . "', `date_changed` = NOW()");
				$this->db->query("INSERT INTO `" . DB_PREFIX . "user_to_store` SET `user_group_id` = '" . (int)$user_group_id . "', `store_id` = '" . (isset($data['store_ids']) ? $this->db->escape(serialize($data['store_ids'])) : '') . "', `date_changed` = NOW()");
				if (isset($data['group_ids'])) {
					foreach ($data['group_ids'] as $group) {
						$this->db->query("INSERT INTO `" . DB_PREFIX . "user_to_namegroup` SET `survey_id` = '" . (int)$group . "', `user_group_id` = '" . (int)$user_group_id . "', `date_changed` = NOW()");
					}
				}
			]]></add>
		</operation>
		<operation>
			<search position="after"><![CDATA[
				$this->db->query("UPDATE " . DB_PREFIX . "user_group SET name = '" . $this->db->escape($data['name']) . "', permission = '" . (isset($data['permission']) ? serialize($data['permission']) : '') . "' WHERE user_group_id = '" . (int)$user_group_id . "'");
			]]></search>
			<add><![CDATA[
				$this->db->query("DELETE FROM `" . DB_PREFIX . "user_to_group` WHERE `user_group_id` = '" . (int)$user_group_id . "'");
				if (isset($data['customer_group_ids'])) {
					$this->db->query("INSERT INTO `" . DB_PREFIX . "user_to_group` SET `user_group_id` = '" . (int)$user_group_id . "', `customer_group_id` = '" . $this->db->escape(serialize($data['customer_group_ids'])) . "', `date_changed` = NOW()");
				}
				$this->db->query("DELETE FROM `" . DB_PREFIX . "user_to_store` WHERE `user_group_id` = '" . (int)$user_group_id . "'");
				if (isset($data['store_ids'])) {
					$this->db->query("INSERT INTO `" . DB_PREFIX . "user_to_store` SET `user_group_id` = '" . (int)$user_group_id . "', `store_id` = '" . $this->db->escape(serialize($data['store_ids'])) . "', `date_changed` = NOW()");
				}
				$this->db->query("DELETE FROM `" . DB_PREFIX . "user_to_namegroup` WHERE `user_group_id` = '" . (int)$user_group_id . "'");
				if (isset($data['group_ids'])) {
					foreach ($data['group_ids'] as $group) {
						$this->db->query("INSERT INTO `" . DB_PREFIX . "user_to_namegroup` SET `survey_id` = '" . (int)$group . "', `user_group_id` = '" . (int)$user_group_id . "', `date_changed` = NOW()");
					}
				}
			]]></add>
		</operation>
		<operation>
			<search position="before"><![CDATA[
				public function getUserGroup($user_group_id) {
			]]></search>
			<add><![CDATA[
				public function getCustomerGroups($user_group_id) {
					$return_data = array();
					$query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "user_to_group` WHERE `user_group_id` = '" . (int)$user_group_id . "'");
					if ($query->num_rows) {
						$return_data = unserialize($query->row['customer_group_id']);
					}
					return $return_data;
				}
				public function getStores($user_group_id) {
					$return_data = array();
					$query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "user_to_store` WHERE `user_group_id` = '" . (int)$user_group_id . "'");
					if ($query->num_rows) {
						$return_data = unserialize($query->row['store_id']);
					}
					return $return_data;
				}
				public function getGroupIds($user_group_id) {
					$return_data = array();
					$query = $this->db->query("SELECT `survey_id` FROM `" . DB_PREFIX . "user_to_namegroup` WHERE `user_group_id` = '" . (int)$user_group_id . "'");
					if ($query->num_rows) {
						foreach ($query->rows as $row) {
							array_push($return_data, $row['survey_id']);
						}
					}
					return $return_data;
				}
			]]></add>
		</operation>
	</file>

	<file name="admin/view/template/catalog/category_form.tpl">
		<operation>
			<search position="before" offset="1"><![CDATA[
				<td><?php echo $entry_store; ?></td>
			]]></search>
			<add><![CDATA[
				<?php if ($user_group_id == 1) { ?>
					<tr>
						<td><?php echo $entry_user_groups; ?></td>
						<td>
							<div class="scrollbox">
								<?php $class = 'even'; ?>
								<div class="<?php echo $class; ?>">
									<?php foreach ($user_groups as $user_group) { ?>
										<?php $class = ($class == 'even' ? 'odd' : 'even'); ?>
										<div class="<?php echo $class; ?>">
											<?php if (in_array($user_group['user_group_id'], $user_group_ids)) { ?>
												<input type="checkbox" name="user_group_ids[]" value="<?php echo $user_group['user_group_id']; ?>" checked="checked" />
												<?php echo $user_group['name']; ?>
											<?php } else { ?>
												<input type="checkbox" name="user_group_ids[]" value="<?php echo $user_group['user_group_id']; ?>" />
												<?php echo $user_group['name']; ?>
											<?php } ?>
										</div>
									<?php } ?>
								</div>
							</div>
						</td>
					</tr>
				<?php } ?>
			]]></add>
		</operation>
	</file>

	<file name="admin/view/template/catalog/information_form.tpl">
		<operation>
			<search position="before" offset="1"><![CDATA[
				<td><?php echo $entry_store; ?></td>
			]]></search>
			<add><![CDATA[
				<?php if ($user_group_id == 1) { ?>
					<tr>
						<td><?php echo $entry_user_groups; ?></td>
						<td>
							<div class="scrollbox">
								<?php $class = 'even'; ?>
								<div class="<?php echo $class; ?>">
									<?php foreach ($user_groups as $user_group) { ?>
										<?php $class = ($class == 'even' ? 'odd' : 'even'); ?>
										<div class="<?php echo $class; ?>">
											<?php if (in_array($user_group['user_group_id'], $user_group_ids)) { ?>
												<input type="checkbox" name="user_group_ids[]" value="<?php echo $user_group['user_group_id']; ?>" checked="checked" />
												<?php echo $user_group['name']; ?>
											<?php } else { ?>
												<input type="checkbox" name="user_group_ids[]" value="<?php echo $user_group['user_group_id']; ?>" />
												<?php echo $user_group['name']; ?>
											<?php } ?>
										</div>
									<?php } ?>
								</div>
							</div>
						</td>
					</tr>
				<?php } ?>
			]]></add>
		</operation>
	</file>

	<file name="admin/view/template/catalog/product_form.tpl">
		<operation>
			<search position="before" offset="1"><![CDATA[
				<td><?php echo $entry_category; ?></td>
			]]></search>
			<add><![CDATA[
				<?php if ($user_group_id == 1) { ?>
			]]></add>
		</operation>
		<operation>
			<search position="before" offset="1"><![CDATA[
				<td><?php echo $entry_store; ?></td>
			]]></search>
			<add><![CDATA[
					<tr>
						<td><?php echo $entry_category_for_admin; ?></td>
						<td>
							<div class="scrollbox">
								<?php $class = 'odd'; ?>
								<?php foreach ($categories2 as $category2) { ?>
									<?php $class = ($class == 'even' ? 'odd' : 'even'); ?>
									<div class="<?php echo $class; ?>">
										<?php if (in_array($category2['category_id'], $category_for_admin)) { ?>
											<input type="checkbox" name="category_for_admin[]" value="<?php echo $category2['category_id']; ?>" checked="checked" />
											<?php echo $category2['name']; ?>
										<?php } else { ?>
											<input type="checkbox" name="category_for_admin[]" value="<?php echo $category2['category_id']; ?>" />
											<?php echo $category2['name']; ?>
										<?php } ?>
									</div>
								<?php } ?>
							</div>
						</td>
					</tr>
				<?php } else { ?>
					<tr>
						<td><?php echo $entry_category_for_admin; ?></td>
						<td>
							<div class="scrollbox">
								<?php $class = 'odd'; ?>
								<?php foreach ($categories2 as $category2) { ?>
									<?php $class = ($class == 'even' ? 'odd' : 'even'); ?>
									<div class="<?php echo $class; ?>">
										<?php if (in_array($category2['category_id'], $category_for_admin)) { ?>
											<input type="checkbox" name="category_for_admin[]" value="<?php echo $category2['category_id']; ?>" checked="checked" />
											<?php echo $category2['name']; ?>
										<?php } else { ?>
											<input type="checkbox" name="category_for_admin[]" value="<?php echo $category2['category_id']; ?>" />
											<?php echo $category2['name']; ?>
										<?php } ?>
									</div>
								<?php } ?>
							</div>
						</td>
					</tr>
					<tr style="display:none;">
						<td><?php echo $entry_category; ?></td>
						<td>
							<div class="scrollbox">
								<?php $class = 'odd'; ?>
								<?php foreach ($categories as $category) { ?>
									<?php $class = ($class == 'even' ? 'odd' : 'even'); ?>
									<div class="<?php echo $class; ?>">
										<?php if (in_array($category['category_id'], $product_category)) { ?>
											<input type="checkbox" name="product_category[]" value="<?php echo $category['category_id']; ?>" checked="checked" />
											<?php echo $category['name']; ?>
										<?php } else { ?>
											<input type="checkbox" name="product_category[]" value="<?php echo $category['category_id']; ?>" />
											<?php echo $category['name']; ?>
										<?php } ?>
									</div>
								<?php } ?>
							</div>
						</td>
					</tr>
				<?php } ?>
				<?php if ($user_group_id == 1) { ?>
					<tr>
						<td><?php echo $entry_user_groups; ?></td>
						<td>
							<div class="scrollbox">
								<?php $class = 'even'; ?>
								<div class="<?php echo $class; ?>">
									<?php foreach ($user_groups as $user_group) { ?>
										<?php $class = ($class == 'even' ? 'odd' : 'even'); ?>
										<div class="<?php echo $class; ?>">
											<?php if (in_array($user_group['user_group_id'], $user_group_ids)) { ?>
												<input type="checkbox" name="user_group_ids[]" value="<?php echo $user_group['user_group_id']; ?>" checked="checked" />
												<?php echo $user_group['name']; ?>
											<?php } else { ?>
												<input type="checkbox" name="user_group_ids[]" value="<?php echo $user_group['user_group_id']; ?>" />
												<?php echo $user_group['name']; ?>
											<?php } ?>
										</div>
									<?php } ?>
								</div>
							</div>
						</td>
					</tr>
				<?php } ?>
			]]></add>
		</operation>
	</file>

	<file name="admin/view/template/common/filemanager.tpl">
		<operation>
			<search position="after"><![CDATA[
				<div id="container">
			]]></search>
			<add><![CDATA[
				<div style="font-weight:bold;font-size:14px;color:red;">Click the + next to the image folder below to open your folder</div>
			]]></add>
		</operation>
		<operation>
			<search position="replace"><![CDATA[
				<div id="menu">
			]]></search>
			<add><![CDATA[
				<div id="menu">
				<input type="hidden" name="image_folder" value="<?php echo $image_folder; ?>" />
				<?php if ($image_folder || $admin_user) { ?>
			]]></add>
		</operation>
		<operation>
			<search position="replace"><![CDATA[
				<a id="refresh" class="button"
			]]></search>
			<add><![CDATA[
				<?php } ?><a id="refresh" class="button"
			]]></add>
		</operation>
		<operation>
			<search position="replace"><![CDATA[
				url: 'index.php?route=common/filemanager/directory&token=<?php echo $token; ?>'
			]]></search>
			<add><![CDATA[
				url: 'index.php?route=common/filemanager/directory&token=<?php echo $token; ?>&image_folder=' + encodeURIComponent($('input[name=\'image_folder\']').val())
			]]></add>
		</operation>
		<operation>
			<search position="replace"><![CDATA[
				data: 'directory=' + encodeURIComponent($(NODE).attr('directory')),
			]]></search>
			<add><![CDATA[
				data: 'directory=' + encodeURIComponent($(NODE).attr('directory')) + '&image_folder=' + encodeURIComponent($('input[name=\'image_folder\']').val()),
			]]></add>
		</operation>
		<operation>
			<search position="replace"><![CDATA[
				data: 'directory=' + encodeURIComponent($(tree.selected).attr('directory')) + '&name=' + encodeURIComponent($('#dialog input[name=\'name\']').val()),
			]]></search>
			<add><![CDATA[
				data: 'directory=' + encodeURIComponent($(tree.selected).attr('directory')) + '&name=' + encodeURIComponent($('#dialog input[name=\'name\']').val()) + '&image_folder=' + encodeURIComponent($('input[name=\'image_folder\']').val()),
			]]></add>
		</operation>
	</file>

	<file name="admin/view/template/design/banner_form.tpl">
		<operation>
			<search position="before" offset="1"><![CDATA[
				<td><?php echo $entry_status; ?></td>
			]]></search>
			<add><![CDATA[
				<?php if ($user_group_id == 1) { ?>
					<tr>
						<td><?php echo $entry_user_groups; ?></td>
						<td>
							<div class="scrollbox">
								<?php $class = 'even'; ?>
								<div class="<?php echo $class; ?>">
									<?php foreach ($user_groups as $user_group) { ?>
										<?php $class = ($class == 'even' ? 'odd' : 'even'); ?>
										<div class="<?php echo $class; ?>">
											<?php if (in_array($user_group['user_group_id'], $user_group_ids)) { ?>
												<input type="checkbox" name="user_group_ids[]" value="<?php echo $user_group['user_group_id']; ?>" checked="checked" />
												<?php echo $user_group['name']; ?>
											<?php } else { ?>
												<input type="checkbox" name="user_group_ids[]" value="<?php echo $user_group['user_group_id']; ?>" />
												<?php echo $user_group['name']; ?>
											<?php } ?>
										</div>
									<?php } ?>
								</div>
							</div>
						</td>
					</tr>
				<?php } ?>
			]]></add>
		</operation>
	</file>

	<file name="admin/view/template/report/adv_customer_order.tpl">
		<operation>
			<search position="replace"><![CDATA[
				selectAllText:'<?php echo $text_all_groups; ?>', noneSelected:'<?php echo $text_all_groups; ?>', oneOrMoreSelected:'<?php echo $text_selected; ?>'
			]]></search>
			<add><![CDATA[
				selectAllText:'<?php echo $text_all_groups; ?>', noneSelected:'<?php echo $text_no_groups; ?>', oneOrMoreSelected:'<?php echo $text_selected; ?>'
			]]></add>
		</operation>
		<operation>
			<search position="replace"><![CDATA[
				selectAllText:'<?php echo $text_all_stores; ?>', noneSelected:'<?php echo $text_all_stores; ?>', oneOrMoreSelected:'<?php echo $text_selected; ?>'
			]]></search>
			<add><![CDATA[
				selectAllText:'<?php echo $text_all_stores; ?>', noneSelected:'<?php echo $text_no_stores; ?>', oneOrMoreSelected:'<?php echo $text_selected; ?>'
			]]></add>
		</operation>
	</file>

	<file name="admin/view/template/report/adv_sale_order.tpl">
		<operation>
			<search position="replace"><![CDATA[
				selectAllText:'<?php echo $text_all_groups; ?>', noneSelected:'<?php echo $text_all_groups; ?>', oneOrMoreSelected:'<?php echo $text_selected; ?>'
			]]></search>
			<add><![CDATA[
				selectAllText:'<?php echo $text_all_groups; ?>', noneSelected:'<?php echo $text_no_groups; ?>', oneOrMoreSelected:'<?php echo $text_selected; ?>'
			]]></add>
		</operation>
		<operation>
			<search position="replace"><![CDATA[
				selectAllText:'<?php echo $text_all_stores; ?>', noneSelected:'<?php echo $text_all_stores; ?>', oneOrMoreSelected:'<?php echo $text_selected; ?>'
			]]></search>
			<add><![CDATA[
				selectAllText:'<?php echo $text_all_stores; ?>', noneSelected:'<?php echo $text_no_stores; ?>', oneOrMoreSelected:'<?php echo $text_selected; ?>'
			]]></add>
		</operation>
	</file>

	<file name="admin/view/template/sale/contact.tpl">
		<operation>
			<search position="before"><![CDATA[
				<?php if ($to == 'newsletter') { ?>
			]]></search>
			<add><![CDATA[
				<?php if ($user_group_id == 1) { ?>
			]]></add>
		</operation>
		<operation>
			<search position="before"><![CDATA[
				<?php if ($to == 'customer_group') { ?>
			]]></search>
			<add><![CDATA[
				<?php } ?>
			]]></add>
		</operation>
		<operation>
			<search position="before"><![CDATA[
				<?php if ($to == 'affiliate_all') { ?>
			]]></search>
			<add><![CDATA[
				<?php if ($user_group_id == 1) { ?>
			]]></add>
		</operation>
		<operation>
			<search position="before"><![CDATA[
				<?php if ($to == 'product') { ?>
			]]></search>
			<add><![CDATA[
				<?php } ?>
			]]></add>
		</operation>
		<operation>
			<search position="replace"><![CDATA[
				<option value="0"><?php echo $text_default; ?></option>
			]]></search>
			<add><![CDATA[
				<?php if ($user_group_id == 1) { ?>
					<option value="0"><?php echo $text_default; ?></option>
				<?php } ?>
			]]></add>
		</operation>
	</file>

	<file name="admin/view/template/sale/coupon_form.tpl">
		<operation>
			<search position="before" offset="1"><![CDATA[
				<td><?php echo $entry_category; ?></td>
			]]></search>
			<add><![CDATA[
				<?php if ($user_group_id == 1) { ?>
					<tr>
						<td><?php echo $entry_user_groups; ?></td>
						<td>
							<div class="scrollbox">
								<?php $class = 'even'; ?>
								<div class="<?php echo $class; ?>">
									<?php foreach ($user_groups as $user_group) { ?>
										<?php $class = ($class == 'even' ? 'odd' : 'even'); ?>
										<div class="<?php echo $class; ?>">
											<?php if (in_array($user_group['user_group_id'], $user_group_ids)) { ?>
												<input type="checkbox" name="user_group_ids[]" value="<?php echo $user_group['user_group_id']; ?>" checked="checked" />
												<?php echo $user_group['name']; ?>
											<?php } else { ?>
												<input type="checkbox" name="user_group_ids[]" value="<?php echo $user_group['user_group_id']; ?>" />
												<?php echo $user_group['name']; ?>
											<?php } ?>
										</div>
									<?php } ?>
								</div>
							</div>
						</td>
					</tr>
				<?php } ?>
			]]></add>
		</operation>
	</file>

	<file name="admin/view/template/sale/customer_form.tpl">
		<operation>
			<search position="replace" offset="4"><![CDATA[
				<?php if ($assigned_store == 0) { ?>
			]]></search>
			<add><![CDATA[
				<?php if (!empty($default_store)) { ?>
					<?php if ($assigned_store == 0) { ?>
						<option value="<?php echo $default_store['store_id']; ?>" selected="selected"><?php echo $default_store['name']; ?></option>
					<?php } else { ?>
						<option value="<?php echo $default_store['store_id']; ?>"><?php echo $default_store['name']; ?></option>
					<?php } ?>
				<?php } ?>
			]]></add>
		</operation>
	</file>

	<file name="admin/view/template/user/user_form.tpl">
		<operation>
			<search position="before" offset="1"><![CDATA[
				<td><span class="required">*</span> <?php echo $entry_firstname; ?></td>
			]]></search>
			<add><![CDATA[
				<tr>
					<td><?php echo $entry_image_folder; ?></td>
					<td><?php echo $image_folder_prefix; ?><input type="text" name="image_folder" value="<?php echo $image_folder; ?>" size="30" />
				</tr>
			]]></add>
		</operation>
	</file>

	<file name="admin/view/template/user/user_group_form.tpl">
		<operation>
			<search position="after" offset="1" index="2"><![CDATA[
				<a onclick="$(this).parent().find(':checkbox').attr('checked', true);"><?php echo $text_select_all; ?></a> / <a onclick="$(this).parent().find(':checkbox').attr('checked', false);"><?php echo $text_unselect_all; ?></a></td>
			]]></search>
			<add><![CDATA[
				<tr>
					<td><?php echo $entry_customer_group; ?></td>
					<td>
						<div class="scrollbox">
							<?php $class = 'odd'; ?>
							<?php foreach ($customer_groups as $customer_group) { ?>
								<?php $class = ($class == 'even' ? 'odd' : 'even'); ?>
								<div class="<?php echo $class; ?>">
									<?php if (in_array($customer_group['customer_group_id'], $customer_group_ids)) { ?>
										<input type="checkbox" name="customer_group_ids[]" value="<?php echo $customer_group['customer_group_id']; ?>" checked="checked" />
										<?php echo $customer_group['name']; ?>
									<?php } else { ?>
										<input type="checkbox" name="customer_group_ids[]" value="<?php echo $customer_group['customer_group_id']; ?>" />
										<?php echo $customer_group['name']; ?>
									<?php } ?>
								</div>
							<?php } ?>
						</div>
						<a onclick="$(this).parent().find(':checkbox').attr('checked', true);"><?php echo $text_select_all; ?></a> / <a onclick="$(this).parent().find(':checkbox').attr('checked', false);"><?php echo $text_unselect_all; ?></a>
					</td>
				</tr>
				<tr>
					<td><?php echo $entry_groups; ?></td>
					<td>
						<div class="scrollbox">
							<?php $class = 'odd'; ?>
							<?php foreach ($groups as $group) { ?>
								<?php $class = ($class == 'even' ? 'odd' : 'even'); ?>
								<div class="<?php echo $class; ?>">
									<?php if (in_array($group['survey_id'], $group_ids)) { ?>
										<input type="checkbox" name="group_ids[]" value="<?php echo $group['survey_id']; ?>" checked="checked" />
										<?php echo $group['name']; ?>
									<?php } else { ?>
										<input type="checkbox" name="group_ids[]" value="<?php echo $group['survey_id']; ?>" />
										<?php echo $group['name']; ?>
									<?php } ?>
								</div>
							<?php } ?>
						</div>
						<a onclick="$(this).parent().find(':checkbox').attr('checked', true);"><?php echo $text_select_all; ?></a> / <a onclick="$(this).parent().find(':checkbox').attr('checked', false);"><?php echo $text_unselect_all; ?></a>
					</td>
				</tr>
				<tr>
					<td><?php echo $entry_store; ?></td>
					<td>
						<div class="scrollbox">
							<?php $class = 'odd'; ?>
							<?php foreach ($stores as $store) { ?>
								<?php $class = ($class == 'even' ? 'odd' : 'even'); ?>
								<div class="<?php echo $class; ?>">
									<?php if (in_array($store['store_id'], $store_ids)) { ?>
										<input type="checkbox" name="store_ids[]" value="<?php echo $store['store_id']; ?>" checked="checked" />
										<?php echo $store['name']; ?>
									<?php } else { ?>
										<input type="checkbox" name="store_ids[]" value="<?php echo $store['store_id']; ?>" />
										<?php echo $store['name']; ?>
									<?php } ?>
								</div>
							<?php } ?>
						</div>
						<a onclick="$(this).parent().find(':checkbox').attr('checked', true);"><?php echo $text_select_all; ?></a> / <a onclick="$(this).parent().find(':checkbox').attr('checked', false);"><?php echo $text_unselect_all; ?></a>
					</td>
				</tr>
			]]></add>
		</operation>
	</file>

</modification>

