public function pjActionUpdate() { $this->checkLogin(); if ($this->isAdmin()) { if (isset($_POST['voucher_update'])) { $data = array(); $data['code'] = $_POST['code']; $data['discount'] = $_POST['discount']; $data['type'] = $_POST['type']; $data['valid'] = $_POST['valid']; switch ($_POST['valid']) { case 'fixed': $data['date_from'] = pjUtil::formatDate($_POST['f_date'], $this->option_arr['o_date_format']); $data['date_to'] = $data['date_from']; $data['time_from'] = $_POST['f_hour_from'] . ":" . $_POST['f_minute_from'] . ":00"; $data['time_to'] = $_POST['f_hour_to'] . ":" . $_POST['f_minute_to'] . ":00"; $data['every'] = array('NULL'); break; case 'period': $data['date_from'] = pjUtil::formatDate($_POST['p_date_from'], $this->option_arr['o_date_format']); $data['date_to'] = pjUtil::formatDate($_POST['p_date_to'], $this->option_arr['o_date_format']); $data['time_from'] = $_POST['p_hour_from'] . ":" . $_POST['p_minute_from'] . ":00"; $data['time_to'] = $_POST['p_hour_to'] . ":" . $_POST['p_minute_to'] . ":00"; $data['every'] = array('NULL'); break; case 'recurring': $data['date_from'] = array('NULL'); $data['date_to'] = array('NULL'); $data['every'] = $_POST['r_every']; $data['time_from'] = $_POST['r_hour_from'] . ":" . $_POST['r_minute_from'] . ":00"; $data['time_to'] = $_POST['r_hour_to'] . ":" . $_POST['r_minute_to'] . ":00"; break; } pjVoucherModel::factory()->where('id', $_POST['id'])->limit(1)->modifyAll($data); pjUtil::redirect(PJ_INSTALL_URL . "index.php?controller=pjAdminVouchers&action=pjActionIndex&err=AV01"); } else { $arr = pjVoucherModel::factory()->find($_GET['id'])->getData(); if (count($arr) === 0) { pjUtil::redirect(PJ_INSTALL_URL . "index.php?controller=pjAdminVouchers&action=pjActionIndex&err=AV08"); } $this->set('arr', $arr); $this->appendJs('jquery.validate.min.js', PJ_THIRD_PARTY_PATH . 'validate/'); $this->appendJs('additional-methods.js', PJ_THIRD_PARTY_PATH . 'validate/'); $this->appendJs('pjAdminVouchers.js'); } } else { $this->set('status', 2); } }
public function getTokens($option_arr, $data, $salt, $locale_id) { $c_country = NULL; $d_country = NULL; if (isset($data['c_country']) && !empty($data['c_country'])) { $pjCountryModel = pjCountryModel::factory(); $country_arr = pjCountryModel::factory()->select('t1.id, t2.content AS country_title')->join('pjMultiLang', "t2.model='pjCountry' AND t2.foreign_id=t1.id AND t2.field='name' AND t2.locale='" . $locale_id . "'", 'left outer')->find($data['c_country'])->getData(); if (!empty($country_arr)) { $c_country = $country_arr['country_title']; } $country_arr = pjCountryModel::factory()->reset()->select('t1.id, t2.content AS country_title')->join('pjMultiLang', "t2.model='pjCountry' AND t2.foreign_id=t1.id AND t2.field='name' AND t2.locale='" . $locale_id . "'", 'left outer')->find($data['d_country_id'])->getData(); if (!empty($country_arr)) { $d_country = $country_arr['country_title']; } } $row = array(); if (isset($data['product_arr'])) { foreach ($data['product_arr'] as $v) { $extra = array(); foreach ($v['extra_arr'] as $e) { $extra[] = stripslashes(sprintf("%u x %s", $e['cnt'], $e['name'])); } $row[] = stripslashes(sprintf("%u x %s", $v['cnt'], $v['name'])) . (count($extra) > 0 ? sprintf(" (%s)", join("; ", $extra)) : NULL); } } $order_data = count($row) > 0 ? join("\n", $row) : NULL; $discount = NULL; if (!empty($data['voucher_code'])) { $voucher_arr = pjVoucherModel::factory()->where('t1.code', $data['voucher_code'])->limit(1)->findAll()->getData(); if (!empty($voucher_arr)) { $voucher_arr = $voucher_arr[0]; switch ($voucher_arr['type']) { case "amount": $discount = pjUtil::formatCurrencySign($voucher_arr['discount'], $option_arr['o_currency']); break; case "percent": $discount = $voucher_arr['discount'] . '%'; break; } } } $subtotal = pjUtil::formatCurrencySign($data['subtotal'], $option_arr['o_currency']); $price_delivery = pjUtil::formatCurrencySign($data['price_delivery'], $option_arr['o_currency']); $total = pjUtil::formatCurrencySign($data['total'], $option_arr['o_currency']); $cancelURL = PJ_INSTALL_URL . 'index.php?controller=pjFront&action=pjActionCancel&id=' . @$data['id'] . '&hash=' . sha1(@$data['id'] . @$data['created'] . $salt); $search = array('{Country}', '{City}', '{State}', '{Notes}', '{Zip}', '{Address1}', '{Address2}', '{Name}', '{Email}', '{Phone}', '{dCountry}', '{dCity}', '{dState}', '{dZip}', '{dAddress1}', '{dAddress2}', '{CCType}', '{CCNum}', '{CCExp}', '{CCSec}', '{PaymentMethod}', '{DateTime}', '{Subtotal}', '{Delivery}', '{Discount}', '{Total}', '{dNotes}', '{Location}', '{OrderID}', '{CancelURL}', '{OrderDetails}'); $replace = array($c_country, @$data['c_city'], @$data['c_state'], @$data['c_notes'], @$data['c_zip'], @$data['c_address_1'], @$data['c_address_2'], @$data['c_name'], @$data['c_email'], @$data['c_phone'], $d_country, @$data['d_city'], $data['d_state'], @$data['d_zip'], @$data['d_address_1'], @$data['d_address_2'], @$data['cc_type'], @$data['cc_num'], @$data['payment_method'] == 'creditcard' ? @$data['cc_exp'] : NULL, @$data['cc_code'], @$data['payment_method'], date($option_arr['o_datetime_format'], strtotime(@$data['type'] == 'pickup' ? @$data['p_dt'] : @$data['d_dt'])), $subtotal, $price_delivery, @$discount, $total, @$data['d_notes'], @$data['location'], @$data['uuid'], $cancelURL, $order_data); return compact('search', 'replace'); }