function repeatInvoice($option, $invoice_number, $cart, $userid, $first = 0) { $user = JFactory::getUser(); // Always rewrite to session userid if (!empty($user->id)) { $userid = $user->id; } elseif (AECToolbox::quickVerifyUserID($userid) === true) { // This user is not expired, so he could log in... return getView('access_denied'); } else { $userid = aecInvoiceHelper::UserIDfromInvoiceNumber($invoice_number); } $invoiceid = null; if (empty($cart)) { $invoiceid = aecInvoiceHelper::InvoiceIDfromNumber($invoice_number, $userid); } // Only allow a user to access existing and own invoices if ($invoiceid) { global $aecConfig; if (!isset($_POST['invoice'])) { $_POST['option'] = $option; $_POST['task'] = 'repeatPayment'; $_POST['invoice'] = $invoice_number; $_POST['userid'] = $userid; } $iFactory = new InvoiceFactory($userid); $iFactory->touchInvoice($invoice_number); $iFactory->loadProcessorObject(); $status = $iFactory->usageStatus(); if ($status || !$status && $aecConfig->cfg['allow_invoice_unpublished_item']) { if (!$iFactory->checkAuth($option)) { return getView('access_denied'); } } else { return getView('access_denied'); } return $iFactory->save(null); } elseif ($cart) { $iFactory = new InvoiceFactory($userid); $iFactory->usage = 'c.' . $cart; if (!empty($invoice_number)) { $iFactory->invoice_number = $invoice_number; } $iFactory->confirmcart(null, true); } else { return getView('access_denied'); } }