<!-- ALTER TABLE `product` ADD `maximum` INT( 11 ) NOT NULL DEFAULT '0' AFTER `minimum` -->

<modification>
	<id>Maximum Order Quantity</id>
	<version>1.0</version>
	<vqmver>1.2.3</vqmver>
	<author>grgr</author>
	
	<file name="admin/controller/catalog/product.php">
        <operation>
            <search position="after"><![CDATA[
		$this->data['entry_minimum'] = $this->language->get('entry_minimum');
            ]]></search>
            <add><![CDATA[
		$this->data['entry_maximum'] = $this->language->get('entry_maximum');
            ]]></add>
        </operation>
		
		<operation>
            <search position="before"><![CDATA[
		if (isset($this->request->post['minimum'])) {
            ]]></search>
            <add><![CDATA[
		if (isset($this->request->post['maximum'])) {
      		$this->data['maximum'] = $this->request->post['maximum'];
    	} elseif (isset($product_info)) {
      		$this->data['maximum'] = $product_info['maximum'];
    	} else {
			$this->data['maximum'] = 0;
		}
            ]]></add>
        </operation>
	</file>

	<file name="admin/language/english/catalog/product.php">
        <operation>
            <search position="after"><![CDATA[
		$_['entry_minimum']          = 'Minimum Quantity:<br/><span class="help">Force a minimum ordered amount</span>';
            ]]></search>
            <add><![CDATA[
		$_['entry_maximum']          = 'Maximum Quantity:<br/><span class="help">Force a maximum order amount</span>';
            ]]></add>
        </operation>
	</file>

	<file name="admin/model/catalog/product.php">	
        <operation>
            <search position="replace"><![CDATA[
minimum = '" . (int)$data['minimum'] . "', 
            ]]></search>
            <add><![CDATA[
minimum = '" . (int)$data['minimum'] . "', maximum = '" . (int)$data['maximum'] . "', 
            ]]></add>
        </operation>
	</file>
	
	<file name="admin/view/template/catalog/product_form.tpl">
        <operation>
            <search position="after" index="10"><![CDATA[
		</tr>
            ]]></search>
            <add><![CDATA[
            <tr>
              <td><?php echo $entry_maximum; ?></td>
              <td><input type="text" name="maximum" value="<?php echo $maximum; ?>" size="2" /></td>
            </tr>
            ]]></add>
        </operation>
	</file>

	
	<file name="catalog/controller/product/product.php">
        <operation>
            <search position="after"><![CDATA[
			$this->data['text_minimum'] = sprintf($this->language->get('text_minimum'), $product_info['minimum']);
            ]]></search>
            <add><![CDATA[
			$this->data['text_maximum'] = sprintf($this->language->get('text_maximum'), $product_info['maximum']);
            ]]></add>
        </operation>
        <operation>
            <search position="before"><![CDATA[
            $this->data['review_status'] = $this->config->get('config_review');
            ]]></search>
            <add><![CDATA[
			if ($product_info['maximum']) {
				$this->data['maximum'] = $product_info['maximum'];
			} else {
				$this->data['maximum'] = 0;
			}
			
            ]]></add>
        </operation>
		</file>
		
	<file name="catalog/model/catalog/product.php">
        <operation>
            <search position="after"><![CDATA[
				'minimum'          => $query->row['minimum'],
            ]]></search>
            <add><![CDATA[
				'maximum'          => $query->row['maximum'],
            ]]></add>
        </operation>
		</file>
	
	<file name="catalog/language/english/product/product.php">
        <operation>
            <search position="after"><![CDATA[
$_['text_minimum']        = '(This product has a minimum quantity of %s)';
            ]]></search>
            <add><![CDATA[
$_['text_maximum']        = '(This product has a maximum quantity of %s)';
            ]]></add>
        </operation>
	</file>
	
	<file name="system/library/cart.php">
        <operation>
            <search position="after"><![CDATA[
        			'minimum'      => $product_query->row['minimum'],
            ]]></search>
            <add><![CDATA[
        			'maximum'      => $product_query->row['maximum'],
            ]]></add>
        </operation>

        <operation>
            <search position="replace"><![CDATA[
            if ($product['quantity'] < $product['minimum']) {
            ]]></search>
            <add><![CDATA[
            if ($product['quantity'] < $product['minimum'] || $product['quantity'] > $product['maximum'] && $product['maximum'] != 0) {
            ]]></add>
        </operation>	
    </file>

	<file name="catalog/view/theme/default/template/product/product.tpl">
        <operation>
            <search position="before"><![CDATA[
        <?php if ($minimum > 1) { ?>
            ]]></search>
            <add><![CDATA[
        <?php if ($maximum != 0) { ?>
        <div class="minimum"><?php echo $text_maximum; ?></div>
        <?php } ?>
            ]]></add>
        </operation>
	</file>
	
</modification>