auth->check_module_permissions('dashboard'); // Loading classes $app->uses('tpl,tform,tform_actions'); $app->load('tform_actions'); //$invoice_settings = $app->db->queryOneRecord("SELECT * FROM invoice_settings WHERE invoice_settings_id = 1"); $app->tform->dateformat = $app->lng('conf_format_dateshort'); class page_action extends tform_actions { function onShowEnd() { global $app, $conf; if($this->dataRecord['client_id'] != $_SESSION['s']['user']['client_id']) $app->error($app->tform->wordbook["error_record_not_owned_by_you_txt"].' ','javascript:loadContent(\'dashboard/dashboard.php\');'); $invoice_settings = $app->db->queryOneRecord("SELECT * FROM invoice_settings WHERE invoice_settings_id = 1"); $app->tpl->setVar('date_format_txt',$app->lng('conf_format_dateshort_human_readable')); $app->tpl->setVar('currency_txt',$invoice_settings['currency']); $app->tpl->setVar('name',$this->dataRecord['name']); $app->tpl->setVar('quantity',$this->dataRecord['quantity']); $app->tpl->setVar('price',$app->functions->currency_format($this->dataRecord['price'], 'client')); $app->tpl->setVar('setup_fee',$app->functions->currency_format($this->dataRecord['setup_fee'], 'client')); $app->tpl->setVar('vat',$app->functions->currency_format($this->dataRecord['vat'], 'client')); $app->tpl->setVar('recur_months',$this->dataRecord['recur_months']); $app->tpl->setVar('type',$this->dataRecord['type']); $app->tpl->setVar('submit_confirmation',$app->lng('submit_confirmation')); $tmp = explode('-',$this->dataRecord['next_payment_date']); $app->tpl->setVar('next_payment_date',date($app->lng('conf_format_dateshort'),mktime(0, 0, 0, $tmp[1], $tmp[2], $tmp[0]))); $tmp = explode('-',$this->dataRecord['start_date']); $app->tpl->setVar('start_date',date($app->lng('conf_format_dateshort'),mktime(0, 0, 0, $tmp[1], $tmp[2], $tmp[0]))); if($this->dataRecord['end_date'] != '' && $this->dataRecord['end_date'] != '0000-00-00'){ $tmp = explode('-',$this->dataRecord['end_date']); $app->tpl->setVar('termination_date',date($app->lng('conf_format_dateshort'),mktime(0, 0, 0, $tmp[1], $tmp[2], $tmp[0]))); $app->tpl->setVar('terminated',1); } else { // Compute possible cancellation dates $start_date_tmp = explode('-',$this->dataRecord['start_date']); $start_date_timestamp = mktime(0, 0, 0, $start_date_tmp[1], $start_date_tmp[2], $start_date_tmp[0]); $cancellation_period = $this->dataRecord['cancellation_period'] * 86400; $current_date_tmp = explode('-',date('Y-m-d')); $current_date_timestamp = mktime(0, 0, 0, $current_date_tmp[1], $current_date_tmp[2], $current_date_tmp[0]); $end_date_tmp = explode('-',$this->dataRecord['end_date']); $end_date_formatted = date($app->lng('conf_format_dateshort'),mktime(0, 0, 0, $end_date_tmp[1], $end_date_tmp[2], $end_date_tmp[0])); $recur_period = $this->dataRecord['recur_months'] * 30.4375 * 86400; //(3*365+366)/48=30.4375 $no_of_periods_passed = floor(($current_date_timestamp - $start_date_timestamp)/$recur_period); if($current_date_timestamp < ($start_date_timestamp + (($no_of_periods_passed + 1) * $recur_period) - $cancellation_period)){ $next_possible_cancellation_period = $no_of_periods_passed + 1; } else { $next_possible_cancellation_period = $no_of_periods_passed + 2; } if($this->dataRecord['end_date'] == '0000-00-00'){ $cancellation_dates = ''; for($i=0;$i<12;$i++){ $cncl_date = date($app->lng('conf_format_dateshort'), $start_date_timestamp + ($next_possible_cancellation_period + $i) * $recur_period); $cancellation_dates .= ''; } } else { $cancellation_dates = ''; } /* $no_of_periods_passed = ($current_date_timestamp - $start_date_timestamp)/$cancellation_period; if(floor($no_of_periods_passed) == $no_of_periods_passed){ $next_possible_cancellation_period = floor($no_of_periods_passed) + 1; } else { $next_possible_cancellation_period = floor($no_of_periods_passed) + 2; } if($this->dataRecord['end_date'] == '0000-00-00'){ $cancellation_dates = ''; for($i=0;$i<12;$i++){ $cncl_date = date($app->lng('conf_format_dateshort'), $start_date_timestamp + ($next_possible_cancellation_period + $i) * $cancellation_period); $cancellation_dates .= ''; } } else { $cancellation_dates = ''; } */ $app->tpl->setVar('end_date',$cancellation_dates); } // Datepicker $date_format = $app->lng('conf_format_dateshort'); $trans = array("d" => "dd", "m" => "mm", "Y" => "yy"); $date_format = strtr($date_format, $trans); $app->tpl->setVar("date_format", $date_format); $app->tpl->setVar("daynamesmin_su", $app->lng('daynamesmin_su')); $app->tpl->setVar("daynamesmin_mo", $app->lng('daynamesmin_mo')); $app->tpl->setVar("daynamesmin_tu", $app->lng('daynamesmin_tu')); $app->tpl->setVar("daynamesmin_we", $app->lng('daynamesmin_we')); $app->tpl->setVar("daynamesmin_th", $app->lng('daynamesmin_th')); $app->tpl->setVar("daynamesmin_fr", $app->lng('daynamesmin_fr')); $app->tpl->setVar("daynamesmin_sa", $app->lng('daynamesmin_sa')); $app->tpl->setVar("daynames_sunday", $app->lng('daynames_sunday')); $app->tpl->setVar("daynames_monday", $app->lng('daynames_monday')); $app->tpl->setVar("daynames_tuesday", $app->lng('daynames_tuesday')); $app->tpl->setVar("daynames_wednesday", $app->lng('daynames_wednesday')); $app->tpl->setVar("daynames_thursday", $app->lng('daynames_thursday')); $app->tpl->setVar("daynames_friday", $app->lng('daynames_friday')); $app->tpl->setVar("daynames_saturday", $app->lng('daynames_saturday')); $app->tpl->setVar("monthnamesshort_jan", $app->lng('monthnamesshort_jan')); $app->tpl->setVar("monthnamesshort_feb", $app->lng('monthnamesshort_feb')); $app->tpl->setVar("monthnamesshort_mar", $app->lng('monthnamesshort_mar')); $app->tpl->setVar("monthnamesshort_apr", $app->lng('monthnamesshort_apr')); $app->tpl->setVar("monthnamesshort_may", $app->lng('monthnamesshort_may')); $app->tpl->setVar("monthnamesshort_jun", $app->lng('monthnamesshort_jun')); $app->tpl->setVar("monthnamesshort_jul", $app->lng('monthnamesshort_jul')); $app->tpl->setVar("monthnamesshort_aug", $app->lng('monthnamesshort_aug')); $app->tpl->setVar("monthnamesshort_sep", $app->lng('monthnamesshort_sep')); $app->tpl->setVar("monthnamesshort_oct", $app->lng('monthnamesshort_oct')); $app->tpl->setVar("monthnamesshort_nov", $app->lng('monthnamesshort_nov')); $app->tpl->setVar("monthnamesshort_dec", $app->lng('monthnamesshort_dec')); $app->tpl->setVar("datepicker_nextText", $app->lng('datepicker_nextText')); $app->tpl->setVar("datepicker_prevText", $app->lng('datepicker_prevText')); $addons = $app->db->queryAllRecords("SELECT * FROM invoice_item_template WHERE offer_in_shop = 'y' AND is_addon = 'y' AND (addon_of = '".$this->dataRecord['invoice_item_template_id']."' OR addon_of LIKE '".$this->dataRecord['invoice_item_template_id'].",%' OR addon_of LIKE '%,".$this->dataRecord['invoice_item_template_id']."' OR addon_of LIKE '%,".$this->dataRecord['invoice_item_template_id'].",%')"); $addons_select = ''; if(is_array($addons) && !empty($addons)){ $i = 0; foreach($addons as $addon){ $addons_select .= '
'; $i++; } } $app->tpl->setVar("addons", $addons_select); $updowngrades_select = ''; $possible_updowngrades = $app->db->queryOneRecord("SELECT updowngradable_to FROM invoice_item_template WHERE invoice_item_template_id = ".$this->dataRecord['invoice_item_template_id']." AND updowngradable_to != ''"); if(is_array($possible_updowngrades) && !empty($possible_updowngrades)){ $possible_updowngrades = explode(',', $possible_updowngrades['updowngradable_to']); $i = 0; foreach($possible_updowngrades as $possible_updowngrade){ $updowngrade = $app->db->queryOneRecord("SELECT * FROM invoice_item_template WHERE offer_in_shop = 'y' AND is_standalone = 'y' AND invoice_item_template_id = ".$possible_updowngrade); $updowngrades_select .= '
'; $i++; } $app->tpl->setVar("updowngrades", $updowngrades_select); } // Template parsen $app->tpl->pparse(); } function onUpdate() { global $app; // make sure users click on the submit button instead of changing tabs if($_POST['clickedsubmitbutton'] != 'yes'){ unset($this->dataRecord); parent::onUpdate(); return; } $lng_file = 'lib/lang/'.$_SESSION['s']['language'].'_dashboard_product.lng'; if(is_file($lng_file)) include($lng_file); if(isset($_POST['end_date']) && $_POST['end_date'] != ''){ // send email with old and new customer values to the company that belongs to the customer $email = $app->db->queryOneRecord("SELECT invoice_company.email, invoice_company.bcc_email FROM invoice_company, invoice_client_settings WHERE invoice_client_settings.client_id = ".$_SESSION['s']['user']['client_id']." AND invoice_client_settings.invoice_company_id = invoice_company.invoice_company_id"); $client = $app->db->queryOneRecord("SELECT * FROM client WHERE client_id = ".$_SESSION['s']['user']['client_id']); $product = $app->db->queryOneRecord("SELECT * FROM invoice_recurring_item WHERE invoice_recurring_item_id = ".$this->id); $invoice_settings = $app->db->queryOneRecord("SELECT * FROM invoice_settings WHERE invoice_settings_id = 1"); if(is_array($email) && !empty($email)){ $email_subject = $app->tform->wordbook['subject_product_cancellation_txt'].': '.$product['name']; $tmp = explode('-',$product['next_payment_date']); $product['next_payment_date'] = date($app->lng('conf_format_dateshort'),mktime(0, 0, 0, $tmp[1], $tmp[2], $tmp[0])); $tmp = explode('-',$product['start_date']); $product['start_date'] = date($app->lng('conf_format_dateshort'),mktime(0, 0, 0, $tmp[1], $tmp[2], $tmp[0])); if(function_exists('date_parse_from_format')) { $tmp = date_parse_from_format($app->lng('conf_format_dateshort'),$_POST['end_date']); $tmp = mktime(0, 0, 0, $tmp['month'], $tmp['day'], $tmp['year']); } else { $tmp = strtotime($_POST['end_date']); if($tmp === false) $tmp = 0; } $product['end_date'] = date($app->lng('conf_format_dateshort'),$tmp); $email_msg = $app->tform->wordbook['body_product_cancellation_date_txt'].': '.date($app->lng('conf_format_dateshort').' '.$app->lng('conf_format_timelong')).' '.$app->tform->wordbook['body_product_cancellation_the_customer_txt'].' '.$app->tform->wordbook['company_name_txt'].': '.$client['company_name'].' '.$app->tform->wordbook['contact_name_txt'].': '.$client['contact_name'].' '.$app->tform->wordbook['customer_no_txt'].': '.$client['customer_no'].' '.$app->tform->wordbook['street_txt'].': '.$client['street'].' '.$app->tform->wordbook['zip_txt'].': '.$client['zip'].' '.$app->tform->wordbook['city_txt'].': '.$client['city'].' '.$app->tform->wordbook['state_txt'].': '.$client['state'].' '.$app->tform->wordbook['country_txt'].': '.$client['country'].' '.$app->tform->wordbook['telephone_txt'].': '.$client['telephone'].' '.$app->tform->wordbook['mobile_txt'].': '.$client['mobile'].' '.$app->tform->wordbook['fax_txt'].': '.$client['fax'].' '.$app->tform->wordbook['email_txt'].': '.$client['email'].' '.$app->tform->wordbook['internet_txt'].': '.$client['internet'].' '.$app->tform->wordbook['icq_txt'].': '.$client['icq'].' '.$app->tform->wordbook['vat_id_txt'].': '.$client['vat_id'].' '.$app->tform->wordbook['company_id_txt'].': '.$client['company_id'].' '.$app->tform->wordbook['bank_account_owner_txt'].': '.$client['bank_account_owner'].' '.$app->tform->wordbook['bank_account_number_txt'].': '.$client['bank_account_number'].' '.$app->tform->wordbook['bank_code_txt'].': '.$client['bank_code'].' '.$app->tform->wordbook['bank_name_txt'].': '.$client['bank_name'].' '.$app->tform->wordbook['bank_account_iban_txt'].': '.$client['bank_account_iban'].' '.$app->tform->wordbook['bank_account_swift_txt'].': '.$client['bank_account_swift'].' '.$app->tform->wordbook['paypal_email_txt'].': '.$client['paypal_email'].' '.$app->tform->wordbook['body_product_cancellation_has_cancelled_the_following_product_txt'].': '.$app->tform->wordbook['name_txt'].': '.$product['name'].' '.$app->tform->wordbook['quantity_txt'].': '.$product['quantity'].' '.$app->tform->wordbook['price_txt'].': '.$app->functions->currency_format($product['price'], 'client').' '.$invoice_settings['currency'].' '.$app->tform->wordbook['setup_fee_txt'].': '.$app->functions->currency_format($product['setup_fee'], 'client').' '.$invoice_settings['currency'].' '.$app->tform->wordbook['vat_txt'].': '.$app->functions->currency_format($product['vat'], 'client').' % '.$app->tform->wordbook['recur_months_txt'].': '.$product['recur_months'].' '.$app->tform->wordbook['months_txt'].' '.$app->tform->wordbook['next_payment_date_txt'].': '.$product['next_payment_date'].' '.$app->tform->wordbook['start_date_txt'].': '.$product['start_date'].' '.$app->tform->wordbook['end_date_txt'].': '.$product['end_date']; $app->functions->mail(trim($email['email']), $email_subject, $email_msg, $client['email'], '', 'application/pdf', '', '', trim($email['bcc_email']), trim($client['contact_name'])); } /* * If there is a client-template, process it */ $app->uses('client_templates'); $app->client_templates->apply_client_templates($this->id); } if(is_array($_POST['addons']) && !empty($_POST['addons'])){ // send email with old and new customer values to the company that belongs to the customer $email = $app->db->queryOneRecord("SELECT invoice_company.email, invoice_company.bcc_email FROM invoice_company, invoice_client_settings WHERE invoice_client_settings.client_id = ".$_SESSION['s']['user']['client_id']." AND invoice_client_settings.invoice_company_id = invoice_company.invoice_company_id"); $client = $app->db->queryOneRecord("SELECT * FROM client WHERE client_id = ".$_SESSION['s']['user']['client_id']); $product = $app->db->queryOneRecord("SELECT * FROM invoice_recurring_item WHERE invoice_recurring_item_id = ".$this->id); $invoice_settings = $app->db->queryOneRecord("SELECT * FROM invoice_settings WHERE invoice_settings_id = 1"); if(is_array($email) && !empty($email)){ $email_subject = $app->tform->wordbook['subject_addons_order_txt'].': '.$product['name']; $tmp = explode('-',$product['next_payment_date']); $product['next_payment_date'] = date($app->lng('conf_format_dateshort'),mktime(0, 0, 0, $tmp[1], $tmp[2], $tmp[0])); $tmp = explode('-',$product['start_date']); $product['start_date'] = date($app->lng('conf_format_dateshort'),mktime(0, 0, 0, $tmp[1], $tmp[2], $tmp[0])); $tmp = explode('-',$product['end_date']); $product['end_date'] = date($app->lng('conf_format_dateshort'),mktime(0, 0, 0, $tmp[1], $tmp[2], $tmp[0])); $email_msg = $app->tform->wordbook['body_addons_order_txt'].' '.$app->tform->wordbook['body_addons_order_the_customer_txt'].' '.$app->tform->wordbook['company_name_txt'].': '.$client['company_name'].' '.$app->tform->wordbook['contact_name_txt'].': '.$client['contact_name'].' '.$app->tform->wordbook['customer_no_txt'].': '.$client['customer_no'].' '.$app->tform->wordbook['street_txt'].': '.$client['street'].' '.$app->tform->wordbook['zip_txt'].': '.$client['zip'].' '.$app->tform->wordbook['city_txt'].': '.$client['city'].' '.$app->tform->wordbook['state_txt'].': '.$client['state'].' '.$app->tform->wordbook['country_txt'].': '.$client['country'].' '.$app->tform->wordbook['telephone_txt'].': '.$client['telephone'].' '.$app->tform->wordbook['mobile_txt'].': '.$client['mobile'].' '.$app->tform->wordbook['fax_txt'].': '.$client['fax'].' '.$app->tform->wordbook['email_txt'].': '.$client['email'].' '.$app->tform->wordbook['internet_txt'].': '.$client['internet'].' '.$app->tform->wordbook['icq_txt'].': '.$client['icq'].' '.$app->tform->wordbook['vat_id_txt'].': '.$client['vat_id'].' '.$app->tform->wordbook['company_id_txt'].': '.$client['company_id'].' '.$app->tform->wordbook['bank_account_owner_txt'].': '.$client['bank_account_owner'].' '.$app->tform->wordbook['bank_account_number_txt'].': '.$client['bank_account_number'].' '.$app->tform->wordbook['bank_code_txt'].': '.$client['bank_code'].' '.$app->tform->wordbook['bank_name_txt'].': '.$client['bank_name'].' '.$app->tform->wordbook['bank_account_iban_txt'].': '.$client['bank_account_iban'].' '.$app->tform->wordbook['bank_account_swift_txt'].': '.$client['bank_account_swift'].' '.$app->tform->wordbook['paypal_email_txt'].': '.$client['paypal_email'].' '.$app->tform->wordbook['body_addons_order_has_ordered_addons_to_the_following_product_txt'].' '.$app->tform->wordbook['name_txt'].': '.$product['name'].' '.$app->tform->wordbook['quantity_txt'].': '.$product['quantity'].' '.$app->tform->wordbook['price_txt'].': '.$app->functions->currency_format($product['price'], 'client').' '.$invoice_settings['currency'].' '.$app->tform->wordbook['setup_fee_txt'].': '.$app->functions->currency_format($product['setup_fee'], 'client').' '.$invoice_settings['currency'].' '.$app->tform->wordbook['vat_txt'].': '.$app->functions->currency_format($product['vat'], 'client').' % '.$app->tform->wordbook['recur_months_txt'].': '.$product['recur_months'].' '.$app->tform->wordbook['months_txt'].' '.$app->tform->wordbook['next_payment_date_txt'].': '.$product['next_payment_date'].' '.$app->tform->wordbook['start_date_txt'].': '.$product['start_date'].' '.$app->tform->wordbook['body_addons_order_these_are_the_ordered_addons_txt'].' '; foreach($_POST['addons'] as $addon_id){ $addon = $app->db->queryOneRecord("SELECT * FROM invoice_item_template WHERE invoice_item_template_id = ".$addon_id." AND offer_in_shop = 'y' AND is_addon = 'y'"); if(is_array($addon) && !empty($addon)){ $email_msg .= $app->tform->wordbook['name_txt'].': '.$addon['name'].' '.$app->tform->wordbook['price_txt'].': '.$app->functions->currency_format($addon['price'], 'client').' '.$invoice_settings['currency'].' '.$app->tform->wordbook['setup_fee_txt'].': '.$app->functions->currency_format($addon['setup_fee'], 'client').' '.$invoice_settings['currency'].' '.$app->tform->wordbook['vat_txt'].': '.$app->functions->currency_format($addon['vat'], 'client').' % '.$app->tform->wordbook['recur_months_txt'].': '.$addon['recur_months'].' '.$app->tform->wordbook['months_txt'].' '; } } $app->functions->mail(trim($email['email']), $email_subject, $email_msg, $client['email'], '', 'application/pdf', '', '', trim($email['bcc_email']), trim($client['contact_name'])); } /* * If there is a client-template, process it */ $app->uses('client_templates'); $app->client_templates->apply_client_templates($this->id); } if(is_array($_POST['updowngrades']) && !empty($_POST['updowngrades'])){ // send email with old and new customer values to the company that belongs to the customer $email = $app->db->queryOneRecord("SELECT invoice_company.email, invoice_company.bcc_email FROM invoice_company, invoice_client_settings WHERE invoice_client_settings.client_id = ".$_SESSION['s']['user']['client_id']." AND invoice_client_settings.invoice_company_id = invoice_company.invoice_company_id"); $client = $app->db->queryOneRecord("SELECT * FROM client WHERE client_id = ".$_SESSION['s']['user']['client_id']); $product = $app->db->queryOneRecord("SELECT * FROM invoice_recurring_item WHERE invoice_recurring_item_id = ".$this->id); $invoice_settings = $app->db->queryOneRecord("SELECT * FROM invoice_settings WHERE invoice_settings_id = 1"); if(is_array($email) && !empty($email)){ $email_subject = $app->tform->wordbook['subject_updowngrades_order_txt'].': '.$product['name']; $tmp = explode('-',$product['next_payment_date']); $product['next_payment_date'] = date($app->lng('conf_format_dateshort'),mktime(0, 0, 0, $tmp[1], $tmp[2], $tmp[0])); $tmp = explode('-',$product['start_date']); $product['start_date'] = date($app->lng('conf_format_dateshort'),mktime(0, 0, 0, $tmp[1], $tmp[2], $tmp[0])); $tmp = explode('-',$product['end_date']); $product['end_date'] = date($app->lng('conf_format_dateshort'),mktime(0, 0, 0, $tmp[1], $tmp[2], $tmp[0])); $email_msg = $app->tform->wordbook['body_updowngrades_order_txt'].' '.$app->tform->wordbook['body_updowngrades_order_the_customer_txt'].' '.$app->tform->wordbook['company_name_txt'].': '.$client['company_name'].' '.$app->tform->wordbook['contact_name_txt'].': '.$client['contact_name'].' '.$app->tform->wordbook['customer_no_txt'].': '.$client['customer_no'].' '.$app->tform->wordbook['street_txt'].': '.$client['street'].' '.$app->tform->wordbook['zip_txt'].': '.$client['zip'].' '.$app->tform->wordbook['city_txt'].': '.$client['city'].' '.$app->tform->wordbook['state_txt'].': '.$client['state'].' '.$app->tform->wordbook['country_txt'].': '.$client['country'].' '.$app->tform->wordbook['telephone_txt'].': '.$client['telephone'].' '.$app->tform->wordbook['mobile_txt'].': '.$client['mobile'].' '.$app->tform->wordbook['fax_txt'].': '.$client['fax'].' '.$app->tform->wordbook['email_txt'].': '.$client['email'].' '.$app->tform->wordbook['internet_txt'].': '.$client['internet'].' '.$app->tform->wordbook['icq_txt'].': '.$client['icq'].' '.$app->tform->wordbook['vat_id_txt'].': '.$client['vat_id'].' '.$app->tform->wordbook['company_id_txt'].': '.$client['company_id'].' '.$app->tform->wordbook['bank_account_owner_txt'].': '.$client['bank_account_owner'].' '.$app->tform->wordbook['bank_account_number_txt'].': '.$client['bank_account_number'].' '.$app->tform->wordbook['bank_code_txt'].': '.$client['bank_code'].' '.$app->tform->wordbook['bank_name_txt'].': '.$client['bank_name'].' '.$app->tform->wordbook['bank_account_iban_txt'].': '.$client['bank_account_iban'].' '.$app->tform->wordbook['bank_account_swift_txt'].': '.$client['bank_account_swift'].' '.$app->tform->wordbook['paypal_email_txt'].': '.$client['paypal_email'].' '.$app->tform->wordbook['body_updowngrades_order_has_ordered_an_updowngrade_for_the_following_product_txt'].' '.$app->tform->wordbook['name_txt'].': '.$product['name'].' '.$app->tform->wordbook['quantity_txt'].': '.$product['quantity'].' '.$app->tform->wordbook['price_txt'].': '.$app->functions->currency_format($product['price'], 'client').' '.$invoice_settings['currency'].' '.$app->tform->wordbook['setup_fee_txt'].': '.$app->functions->currency_format($product['setup_fee'], 'client').' '.$invoice_settings['currency'].' '.$app->tform->wordbook['vat_txt'].': '.$app->functions->currency_format($product['vat'], 'client').' % '.$app->tform->wordbook['recur_months_txt'].': '.$product['recur_months'].' '.$app->tform->wordbook['months_txt'].' '.$app->tform->wordbook['next_payment_date_txt'].': '.$product['next_payment_date'].' '.$app->tform->wordbook['start_date_txt'].': '.$product['start_date'].' '.$app->tform->wordbook['body_updowngrades_order_this_is_the_ordered_updowngrade_txt'].' '; foreach($_POST['updowngrades'] as $updowngrade_id){ $updowngrade = $app->db->queryOneRecord("SELECT * FROM invoice_item_template WHERE invoice_item_template_id = ".$updowngrade_id." AND offer_in_shop = 'y' AND is_standalone = 'y'"); if(is_array($updowngrade) && !empty($updowngrade)){ $email_msg .= $app->tform->wordbook['name_txt'].': '.$updowngrade['name'].' '.$app->tform->wordbook['price_txt'].': '.$app->functions->currency_format($updowngrade['price'], 'client').' '.$invoice_settings['currency'].' '.$app->tform->wordbook['setup_fee_txt'].': '.$app->functions->currency_format($updowngrade['setup_fee'], 'client').' '.$invoice_settings['currency'].' '.$app->tform->wordbook['vat_txt'].': '.$app->functions->currency_format($updowngrade['vat'], 'client').' % '.$app->tform->wordbook['recur_months_txt'].': '.$updowngrade['recur_months'].' '.$app->tform->wordbook['months_txt'].' '; } } $app->functions->mail(trim($email['email']), $email_subject, $email_msg, $client['email'], '', 'application/pdf', '', '', trim($email['bcc_email']), trim($client['contact_name'])); } /* * If there is a client-template, process it */ $app->uses('client_templates'); $app->client_templates->apply_client_templates($this->id); } parent::onUpdate(); } } $page = new page_action; $page->onLoad(); ?>