本文整理匯總了PHP中Facture::nextDeadline方法的典型用法代碼示例。如果您正苦於以下問題:PHP Facture::nextDeadline方法的具體用法?PHP Facture::nextDeadline怎麽用?PHP Facture::nextDeadline使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Facture
的用法示例。
在下文中一共展示了Facture::nextDeadline方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: array
$send_mail_print_invoice = false;
$send_mail_direct_debit = false;
$attachments = array();
$Invoice = new Facture();
// Define French locale in order to generate French dates
setlocale(LC_TIME, "fr_FR.UTF8");
// Fetch periodic invoices where the deadline is over
$result = mysql_query('SELECT id_facture ' . 'FROM webfinance_invoices ' . "WHERE period!='none' AND " . 'periodic_next_deadline<=NOW() AND ' . "type_doc = 'facture'") or die(mysql_error());
if (mysql_num_rows($result) == 0) {
exit;
}
while (list($id_invoice) = mysql_fetch_row($result)) {
// Fetch info from invoice
$invoice = $Invoice->getInfos($id_invoice);
// Calculate next deadline
$next_deadline = $Invoice->nextDeadline($invoice->periodic_next_deadline, $invoice->period);
// Duplicate the invoice
$id_new_invoice = $Invoice->duplicate($id_invoice);
// Delete setup fees that only have to be paid once
$query = 'DELETE FROM webfinance_invoice_rows ' . "WHERE (description LIKE '%Frais d\\'accès au service%' " . "OR description LIKE '%Frais d\\'installation%' " . "OR description LIKE '%rais de migration%') " . "AND id_facture={$id_new_invoice}";
mysql_query($query) or die("{$query}:" . mysql_error());
// Add dynamic start date and deadline in invoice details
$query = 'SELECT id_facture_ligne, description ' . 'FROM webfinance_invoice_rows ' . "WHERE id_facture={$id_new_invoice}";
$res = mysql_query($query) or die("{$query}:" . mysql_error());
// Update dates in invoices description
while ($invoice_row = mysql_fetch_array($res)) {
if (!preg_match('/ du \\d{4}-\\d{2}-\\d{2} au \\d{4}-\\d{2}-\\d{2}/', $invoice_row['description'])) {
continue;
}
$invoice_row['description'] = mysql_real_escape_string(preg_replace('/ du (\\d{4}-\\d{2}-\\d{2}) au (\\d{4}-\\d{2}-\\d{2})/', " du {$invoice->periodic_next_deadline} au {$next_deadline}", $invoice_row['description']));
// Update invoice date
示例2: count
$result = mysql_query("SELECT count(*) FROM webfinance_invoices\n WHERE num_facture!=''\n AND year(date_facture)=year('" . $facture->date_facture . "')") or wf_mysqldie();
list($nb) = mysql_fetch_array($result);
mysql_free_result($result);
$nb++;
$nb = sprintf("%04d", $nb);
$num_facture = strftime("%y-{$nb}", $facture->timestamp_date_facture);
}
//date prev
// $date_prev=$facture->timestamp_date_facture+($_POST['type_prev'] * 86400 );
// $date_prev=date("Y-m-d",$date_prev);
$res = mysql_query("SELECT count(*) FROM webfinance_invoices WHERE num_facture='{$num_facture}' AND id_facture<>{$id_facture} ") or wf_mysqldie();
list($dup_num_inv) = mysql_fetch_array($res);
mysql_free_result($res);
// Generate periodic_next_deadline if needed
if ($periodic_next_deadline == '0000-00-00' and $period != 'none') {
$periodic_next_deadline = $Facture->nextDeadline(date('Y-m-d'), $period);
}
$q = sprintf("UPDATE webfinance_invoices SET " . "id_client=%d, " . "type_paiement='%s', " . "is_paye=%d, " . "%s " . "is_envoye=%d, " . "%s " . "ref_contrat='%s', " . "extra_top='%s', " . "extra_bottom='%s', " . "accompte='%s', " . "date_facture='%s', " . "type_doc='%s', " . "commentaire='%s', " . "id_type_presta=%d, " . "is_abandoned=%d, " . "id_compte=%d, " . "is_envoye=%d, " . "tax='%s', " . "exchange_rate='%s', " . "period='%s', " . "periodic_next_deadline='%s', " . "payment_method='%s', " . "delivery='%s' " . "%s " . "WHERE id_facture=%d", $id_client, $type_paiement, $is_paye == "on" ? 1 : 0, empty($date_paiement) ? 'date_paiement=NULL,' : "date_paiement='{$date_paiement}',", $is_envoye == "on" ? 1 : 0, empty($date_sent) ? 'date_sent=NULL,' : "date_sent='{$date_sent}',", $ref_contrat, mysql_real_escape_string($extra_top), mysql_real_escape_string($extra_bottom), WFO::stripMonetaryFormat($accompte), $date_facture, $type_doc, $commentaire, $id_type_presta, $is_abandoned == "on" ? 1 : 0, $id_compte, $is_envoye == "on" ? 1 : 0, $tax, empty($exchange_rate) ? 1 : $exchange_rate, $period, $periodic_next_deadline, $payment_method, $delivery, $dup_num_inv == 0 ? ",num_facture='{$num_facture}' " : "", $id_facture);
mysql_query($q) or die(mysql_error() . "<br/> {$q}");
logmessage(_("Save invoice") . " (#{$num_facture}) fa:" . $_POST['id_facture'] . " client:{$facture->id_client}", $facture->id_client, $_POST['id_facture']);
if (empty($_POST['prix_ht_new'])) {
$_POST['prix_ht_new'] = '0.0';
}
if (is_numeric($_POST['prix_ht_new']) && is_numeric($_POST['qtt_new']) && !empty($_POST['prix_ht_new']) && !empty($_POST['line_new'])) {
// Enregistrement d'une nouvelle ligne de facturation pour une facture.
$q = sprintf("INSERT INTO webfinance_invoice_rows (id_facture,description,prix_ht,qtt,ordre) " . "SELECT %d, '%s', %s, %s, if(max(ordre) is NULL, 1, max(ordre) + 1) " . "FROM webfinance_invoice_rows " . "WHERE id_facture=%d", $_POST['id_facture'], mysql_real_escape_string($_POST['line_new']), $_POST['prix_ht_new'], $_POST['qtt_new'], $_POST['id_facture']);
$result = mysql_query($q) or wf_mysqldie();
mysql_query("UPDATE webfinance_invoices SET date_generated=NULL WHERE id_facture=" . $_POST['id_facture']) or wf_mysqldie();
}
// Enregistrement des lignes existantes
foreach ($_POST as $k => $v) {