本文整理汇总了PHP中SJB_UserManager::makeFeaturedBySID方法的典型用法代码示例。如果您正苦于以下问题:PHP SJB_UserManager::makeFeaturedBySID方法的具体用法?PHP SJB_UserManager::makeFeaturedBySID怎么用?PHP SJB_UserManager::makeFeaturedBySID使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SJB_UserManager
的用法示例。
在下文中一共展示了SJB_UserManager::makeFeaturedBySID方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: createContract
public function createContract($userSID, $invoiceID, $reactivation, $status = 'active')
{
$listingNumber = !empty($this->product['qty']) ? $this->product['qty'] : null;
if ($this->recurringID) {
$contract = new SJB_Contract(array('product_sid' => $this->product['sid'], 'recurring_id' => $this->recurringID, 'gateway_id' => $this->gatewayID, 'invoice_id' => $invoiceID, 'numberOfListings' => $listingNumber));
$contractSID = SJB_ContractManager::getContractSIDByRecurringId($this->recurringID);
SJB_ContractManager::deleteAllContractsByRecurringId($this->recurringID);
} else {
$contract = new SJB_Contract(array('product_sid' => $this->product['sid'], 'gateway_id' => $this->gatewayID, 'invoice_id' => $invoiceID, 'numberOfListings' => $listingNumber));
if ($invoiceID) {
SJB_ContractManager::deletePendingContractByInvoiceID($invoiceID, $userSID, $this->product['sid']);
}
}
$contract->setUserSID($userSID);
$contract->setPrice($this->product['amount']);
$contract->setStatus($status);
if ($contract->saveInDB()) {
SJB_ShoppingCart::deleteItemFromCartBySID($this->product['shoppingCartRecord'], $userSID);
$bannerInfo = $this->product['banner_info'];
if ($this->product['product_type'] == 'banners' && !empty($bannerInfo)) {
$bannersObj = new SJB_Banners();
if (isset($contractSID)) {
$bannerID = $bannersObj->getBannerIDByContract($contractSID);
if ($bannerID) {
$bannersObj->updateBannerContract($contract->getID(), $bannerID);
}
} else {
$bannersObj->addBanner($bannerInfo['title'], $bannerInfo['link'], $bannerInfo['bannerFilePath'], $bannerInfo['sx'], $bannerInfo['sy'], $bannerInfo['type'], 0, $bannerInfo['banner_group_sid'], $bannerInfo, $userSID, $contract->getID());
$bannerGroup = $bannersObj->getBannerGroupBySID($bannerInfo['banner_group_sid']);
SJB_AdminNotifications::sendAdminBannerAddedLetter($userSID, $bannerGroup);
}
}
if ($contract->isFeaturedProfile()) {
SJB_UserManager::makeFeaturedBySID($userSID);
}
SJB_Statistics::addStatistics('payment', 'product', $this->product['sid'], false, 0, 0, $userSID, $this->product['amount']);
if (SJB_UserNotificationsManager::isUserNotifiedOnSubscriptionActivation($userSID)) {
SJB_Notifications::sendSubscriptionActivationLetter($userSID, $this->product, $reactivation);
}
}
}
示例2: handleRecurringNotification
/**
* Recurring notification handlign function
* @param array|null $callback_data Notification data
*/
function handleRecurringNotification($callback_data)
{
if (SJB_Array::get($callback_data, 'txn_type') == 'subscr_cancel' || SJB_Array::get($callback_data, 'txn_type') == 'subscr_eot') {
SJB_ContractManager::removeSubscriptionId(SJB_Array::get($callback_data, 'subscr_id'));
return;
}
if (SJB_Array::get($callback_data, 'txn_type') != 'subscr_payment') {
return;
}
$invoice_sid = isset($callback_data['item_number']) ? $callback_data['item_number'] : null;
if (is_null($invoice_sid)) {
return;
}
$invoice = SJB_InvoiceManager::getObjectBySID($invoice_sid);
if (is_null($invoice)) {
return null;
}
$reactivation = false;
$status = $invoice->getStatus();
if ($invoice->getStatus() == SJB_Invoice::INVOICE_STATUS_PAID) {
// Пришёл рекьюринг платёж
$invoice->setSID(null);
$invoice->setDate(null);
$invoice->setStatus(SJB_Invoice::INVOICE_STATUS_UNPAID);
$reactivation = true;
}
$invoice->setCallbackData($callback_data);
if ($this->isPaymentVerified($invoice) && in_array($callback_data['payment_status'], array('Completed', 'Processed'))) {
$items = $invoice->getPropertyValue('items');
$user_sid = $invoice->getUserSID();
$subscriptionSID = $callback_data['custom'];
if (!empty($items['products'])) {
$recurringProductsInfo = array();
foreach ($items['products'] as $key => $product) {
if ($product != -1) {
$productInfo = $invoice->getItemValue($key);
if ($status == SJB_Invoice::INVOICE_STATUS_PAID && $subscriptionSID == $product) {
$listingNumber = $productInfo['qty'];
$contract = new SJB_Contract(array('product_sid' => $product, 'recurring_id' => $callback_data['subscr_id'], 'gateway_id' => 'paypal_standard', 'numberOfListings' => $listingNumber));
$contract->setUserSID($user_sid);
$contractSID = SJB_ContractManager::getContractSIDByRecurringId($callback_data['subscr_id']);
SJB_ContractManager::deleteAllContractsByRecurringId($callback_data['subscr_id']);
$contract->setPrice($productInfo['amount']);
if ($contract->saveInDB()) {
SJB_ShoppingCart::deleteItemFromCartBySID($productInfo['shoppingCartRecord'], $user_sid);
$bannerInfo = $productInfo['banner_info'];
if ($productInfo['product_type'] == 'banners' && !empty($bannerInfo)) {
$bannersObj = new SJB_Banners();
if (isset($contractSID)) {
$bannerID = $bannersObj->getBannerIDByContract($contractSID);
if ($bannerID) {
$bannersObj->updateBannerContract($contract->getID(), $bannerID);
}
} else {
$bannersObj->addBanner($bannerInfo['title'], $bannerInfo['link'], $bannerInfo['bannerFilePath'], $bannerInfo['sx'], $bannerInfo['sy'], $bannerInfo['type'], 0, $bannerInfo['banner_group_sid'], $bannerInfo, $user_sid, $contract->getID());
$bannerGroup = $bannersObj->getBannerGroupBySID($bannerInfo['banner_group_sid']);
SJB_AdminNotifications::sendAdminBannerAddedLetter($user_sid, $bannerGroup);
}
}
if ($contract->isFeaturedProfile()) {
SJB_UserManager::makeFeaturedBySID($user_sid);
}
SJB_Statistics::addStatistics('payment', 'product', $product, false, 0, 0, $user_sid, $productInfo['amount']);
if (SJB_UserNotificationsManager::isUserNotifiedOnSubscriptionActivation($user_sid)) {
SJB_Notifications::sendSubscriptionActivationLetter($user_sid, $productInfo, $reactivation);
}
}
$recurringProductsInfo[$key] = $productInfo;
} elseif ($status != SJB_Invoice::INVOICE_STATUS_PAID) {
$listingNumber = $productInfo['qty'];
if ($subscriptionSID == $product) {
$contract = new SJB_Contract(array('product_sid' => $product, 'recurring_id' => $callback_data['subscr_id'], 'gateway_id' => 'paypal_standard', 'numberOfListings' => $listingNumber));
} else {
$contract = new SJB_Contract(array('product_sid' => $product, 'gateway_id' => 'paypal_standard', 'numberOfListings' => $listingNumber));
}
$contract->setUserSID($user_sid);
$contract->setPrice($productInfo['amount']);
if ($contract->saveInDB()) {
SJB_ShoppingCart::deleteItemFromCartBySID($productInfo['shoppingCartRecord'], $user_sid);
$bannerInfo = $productInfo['banner_info'];
if ($productInfo['product_type'] == 'banners' && !empty($bannerInfo) && $contractSID) {
$bannersObj = new SJB_Banners();
$bannersObj->addBanner($bannerInfo['title'], $bannerInfo['link'], $bannerInfo['bannerFilePath'], $bannerInfo['sx'], $bannerInfo['sy'], $bannerInfo['type'], 0, $bannerInfo['banner_group_sid'], $bannerInfo, $user_sid, $contract->getID());
$bannerGroup = $bannersObj->getBannerGroupBySID($bannerInfo['banner_group_sid']);
SJB_AdminNotifications::sendAdminBannerAddedLetter($user_sid, $bannerGroup);
}
if ($contract->isFeaturedProfile()) {
SJB_UserManager::makeFeaturedBySID($user_sid);
}
SJB_Statistics::addStatistics('payment', 'product', $product, false, 0, 0, $user_sid, $productInfo['amount']);
if (SJB_UserNotificationsManager::isUserNotifiedOnSubscriptionActivation($user_sid)) {
SJB_Notifications::sendSubscriptionActivationLetter($user_sid, $productInfo);
}
}
}
}
//.........这里部分代码省略.........
示例3: execute
public function execute()
{
$tp = SJB_System::getTemplateProcessor();
$invoice_sid = SJB_Request::getVar('invoice_sid', null, false, 'int');
$invoice = SJB_InvoiceManager::getObjectBySID($invoice_sid);
$user = null;
$errors = null;
$userHasContract = false;
if (!is_null($invoice)) {
$status = $invoice->getStatus();
if ($status == SJB_Invoice::INVOICE_STATUS_VERIFIED) {
$userSID = $invoice->getPropertyValue('user_sid');
$items = $invoice->getPropertyValue('items');
$products = $items['products'];
$user = SJB_UserManager::getObjectBySID($userSID);
$userHasContract = $user->hasContract();
$paymentStatus = false;
foreach ($products as $key => $productSID) {
if ($productSID != -1) {
$product_info = $invoice->getItemValue($key);
$products[$key] = $product_info;
if (!empty($product_info['listing_type_sid'])) {
$listingTypeID = SJB_ListingTypeDBManager::getListingTypeIDBySID($product_info['listing_type_sid']);
$listingTypeName = SJB_ListingTypeManager::getListingTypeNameBySID($product_info['listing_type_sid']);
if (!in_array($listingTypeID, array('Job', 'Resume'))) {
$listingTypeName .= ' Listing';
}
$listingTypes[] = array('ID' => $listingTypeID, 'name' => $listingTypeName);
}
$listingNumber = $product_info['qty'];
$contract = new SJB_Contract(array('product_sid' => $productSID, 'numberOfListings' => $listingNumber, 'is_recurring' => $invoice->isRecurring()));
$contract->setUserSID($userSID);
$contract->setPrice($items['amount'][$key]);
if ($contract->saveInDB()) {
SJB_ListingManager::activateListingsAfterPaid($userSID, $productSID, $contract->getID(), $listingNumber);
SJB_ShoppingCart::deleteItemFromCartBySID($product_info['shoppingCartRecord'], $userSID);
$bannerInfo = $product_info['banner_info'];
$paymentStatus = true;
if ($product_info['product_type'] == 'banners' && !empty($bannerInfo)) {
$bannersObj = new SJB_Banners();
$bannersObj->addBanner($bannerInfo['title'], $bannerInfo['link'], $bannerInfo['bannerFilePath'], $bannerInfo['sx'], $bannerInfo['sy'], $bannerInfo['type'], 0, $bannerInfo['banner_group_sid'], $bannerInfo, $userSID, $contract->getID());
$bannerGroup = $bannersObj->getBannerGroupBySID($bannerInfo['banner_group_sid']);
SJB_AdminNotifications::sendAdminBannerAddedLetter($userSID, $bannerGroup);
}
if ($contract->isFeaturedProfile()) {
SJB_UserManager::makeFeaturedBySID($userSID);
}
if (SJB_UserNotificationsManager::isUserNotifiedOnSubscriptionActivation($userSID)) {
SJB_Notifications::sendSubscriptionActivationLetter($userSID, $product_info);
}
}
} else {
if (isset($items['custom_info'][$key]['type'])) {
$products[$key] = $this->updateListing($items['custom_info'][$key]['type'], $key, $items, $userSID);
} else {
$products[$key] = array('name' => $items['custom_item'][$key]);
}
$paymentStatus = true;
}
}
if ($paymentStatus) {
$invoice->setStatus(SJB_Invoice::INVOICE_STATUS_PAID);
SJB_InvoiceManager::saveInvoice($invoice);
SJB_PromotionsManager::markPromotionAsPaidByInvoiceSID($invoice->getSID());
}
if (isset($listingTypes)) {
$tp->assign('listingTypes', $listingTypes);
}
$tp->assign('products', $products);
} else {
$errors['INVOICE_IS_NOT_VERIFIED'] = 1;
}
} else {
$errors['INVALID_INVOICE_ID'] = 1;
}
if (!$errors) {
$subTotal = $invoice->getPropertyValue('sub_total');
if (empty($subTotal)) {
SJB_Statistics::addStatisticsFromInvoice($invoice);
}
$isUserJustRegistered = SJB_UserManager::isCurrentUserJustRegistered();
if (isset($items['products']) && count($items['products']) == 1 && $isUserJustRegistered && !$userHasContract) {
$userGroupInfo = SJB_UserGroupManager::getUserGroupInfoBySID($user->getUserGroupSID());
$pageId = !empty($userGroupInfo['after_registration_redirect_to']) ? $userGroupInfo['after_registration_redirect_to'] : '';
$redirectUrl = SJB_UserGroupManager::getRedirectUrlByPageID($pageId);
SJB_HelperFunctions::redirect($redirectUrl);
}
}
$tp->assign('errors', $errors);
$tp->display('create_contract.tpl');
}
示例4: execute
public function execute()
{
$tp = SJB_System::getTemplateProcessor();
$template = SJB_Request::getVar('template', 'manage_invoices.tpl');
$searchTemplate = SJB_Request::getVar('search_template', 'invoice_search_form.tpl');
$action = SJB_Request::getVar('action_name');
if (!empty($action)) {
$invoicesSIDs = SJB_Request::getVar('invoices', array());
$_REQUEST['restore'] = 1;
switch ($action) {
case 'paid':
foreach (array_keys($invoicesSIDs) as $invoiceSID) {
$invoice = SJB_InvoiceManager::getObjectBySID($invoiceSID);
$userSID = $invoice->getPropertyValue('user_sid');
if (SJB_UserManager::isUserExistsByUserSid($userSID)) {
$items = $invoice->getPropertyValue('items');
$productSIDs = $items['products'];
foreach ($productSIDs as $key => $productSID) {
if ($productSID != -1) {
if (SJB_ProductsManager::isProductExists($productSID)) {
$productInfo = $invoice->getItemValue($key);
$listingNumber = $productInfo['qty'];
$contract = new SJB_Contract(array('product_sid' => $productSID, 'numberOfListings' => $listingNumber, 'is_recurring' => $invoice->isRecurring()));
$contract->setUserSID($userSID);
$contract->setPrice($items['amount'][$key]);
if ($contract->saveInDB()) {
SJB_ListingManager::activateListingsAfterPaid($userSID, $productSID, $contract->getID(), $listingNumber);
SJB_ShoppingCart::deleteItemFromCartBySID($productInfo['shoppingCartRecord'], $userSID);
$bannerInfo = $productInfo['banner_info'];
if ($productInfo['product_type'] == 'banners' && !empty($bannerInfo)) {
$bannersObj = new SJB_Banners();
$bannersObj->addBanner($bannerInfo['title'], $bannerInfo['link'], $bannerInfo['bannerFilePath'], $bannerInfo['sx'], $bannerInfo['sy'], $bannerInfo['type'], 0, $bannerInfo['banner_group_sid'], $bannerInfo, $userSID, $contract->getID());
$bannerGroup = $bannersObj->getBannerGroupBySID($bannerInfo['banner_group_sid']);
SJB_AdminNotifications::sendAdminBannerAddedLetter($userSID, $bannerGroup);
}
if ($contract->isFeaturedProfile()) {
SJB_UserManager::makeFeaturedBySID($userSID);
}
if (SJB_UserNotificationsManager::isUserNotifiedOnSubscriptionActivation($userSID)) {
SJB_Notifications::sendSubscriptionActivationLetter($userSID, $productInfo);
}
}
}
} else {
$type = SJB_Array::getPath($items, 'custom_info/' . $key . '/type');
switch ($type) {
case 'featuredListing':
$listingId = SJB_Array::getPath($items, 'custom_info/' . $key . '/listing_id');
SJB_ListingManager::makeFeaturedBySID($listingId);
break;
case 'priorityListing':
$listingId = SJB_Array::getPath($items, 'custom_info/' . $key . '/listing_id');
SJB_ListingManager::makePriorityBySID($listingId);
break;
case 'activateListing':
$listingsIds = explode(",", SJB_Array::getPath($items, 'custom_info/' . $key . '/listings_ids'));
foreach ($listingsIds as $listingId) {
SJB_ListingManager::activateListingBySID($listingId);
}
break;
}
}
}
SJB_Statistics::addStatisticsFromInvoice($invoice);
}
$total = $invoice->getPropertyValue('total');
if ($total > 0) {
$gatewayID = $invoice->getPropertyValue('payment_method');
$gatewayID = isset($gatewayID) ? $gatewayID : 'cash_payment';
$transactionId = md5($invoiceSID . $gatewayID);
$transactionInfo = array('transaction_id' => $transactionId, 'invoice_sid' => $invoiceSID, 'amount' => $total, 'payment_method' => $gatewayID, 'user_sid' => $invoice->getPropertyValue('user_sid'));
$transaction = new SJB_Transaction($transactionInfo);
SJB_TransactionManager::saveTransaction($transaction);
}
SJB_InvoiceManager::markPaidInvoiceBySID($invoiceSID);
SJB_PromotionsManager::markPromotionAsPaidByInvoiceSID($invoiceSID);
}
SJB_HelperFunctions::redirect(SJB_System::getSystemSettings('SITE_URL') . "/manage-invoices/");
break;
case 'unpaid':
foreach (array_keys($invoicesSIDs) as $invoiceSID) {
SJB_InvoiceManager::markUnPaidInvoiceBySID($invoiceSID);
}
SJB_HelperFunctions::redirect(SJB_System::getSystemSettings('SITE_URL') . '/manage-invoices/');
break;
case 'delete':
foreach (array_keys($invoicesSIDs) as $invoiceSID) {
SJB_InvoiceManager::deleteInvoiceBySID($invoiceSID);
}
SJB_HelperFunctions::redirect(SJB_System::getSystemSettings('SITE_URL') . '/manage-invoices/');
break;
default:
unset($_REQUEST['restore']);
break;
}
}
/***************************************************************/
$_REQUEST['action'] = 'search';
$invoice = new SJB_Invoice(array());
$invoice->addProperty(array('id' => 'username', 'type' => 'string', 'value' => '', 'is_system' => true));
//.........这里部分代码省略.........
示例5: execute
public function execute()
{
$tp = SJB_System::getTemplateProcessor();
$template = SJB_Request::getVar('template', 'users.tpl');
$searchTemplate = SJB_Request::getVar('search_template', 'user_search_form.tpl');
$passedParametersViaUri = SJB_UrlParamProvider::getParams();
$userGroupID = $passedParametersViaUri ? array_shift($passedParametersViaUri) : false;
$userGroupSID = $userGroupID ? SJB_UserGroupManager::getUserGroupSIDByID($userGroupID) : null;
$errors = array();
/********** A C T I O N S W I T H U S E R S **********/
$action = SJB_Request::getVar('action_name');
if (!empty($action)) {
$users_sids = SJB_Request::getVar('users', array());
$_REQUEST['restore'] = 1;
switch ($action) {
case 'approve':
foreach ($users_sids as $user_sid => $value) {
$username = SJB_UserManager::getUserNameByUserSID($user_sid);
SJB_UserManager::setApprovalStatusByUserName($username, 'Approved');
SJB_UserManager::activateUserByUserName($username);
SJB_UserDBManager::deleteActivationKeyByUsername($username);
if (!SJB_SocialPlugin::getProfileSocialID($user_sid)) {
SJB_Notifications::sendUserWelcomeLetter($user_sid);
} else {
SJB_Notifications::sendUserApprovedLetter($user_sid);
}
}
SJB_HelperFunctions::redirect(SJB_System::getSystemSettings('SITE_URL') . SJB_Navigator::getURI());
break;
case 'reject':
$rejection_reason = SJB_Request::getVar('rejection_reason', '');
foreach ($users_sids as $user_sid => $value) {
$username = SJB_UserManager::getUserNameByUserSID($user_sid);
SJB_UserManager::setApprovalStatusByUserName($username, 'Rejected', $rejection_reason);
SJB_UserManager::deactivateUserByUserName($username);
SJB_Notifications::sendUserRejectedLetter($user_sid);
}
SJB_HelperFunctions::redirect(SJB_System::getSystemSettings('SITE_URL') . SJB_Navigator::getURI());
break;
case 'activate':
foreach ($users_sids as $user_sid => $value) {
$username = SJB_UserManager::getUserNameByUserSID($user_sid);
$userinfo = SJB_UserManager::getUserInfoByUserName($username);
SJB_UserManager::activateUserByUserName($username);
if ($userinfo['approval'] == 'Approved') {
SJB_UserDBManager::deleteActivationKeyByUsername($username);
SJB_Notifications::sendUserApprovedLetter($user_sid);
}
}
SJB_HelperFunctions::redirect(SJB_System::getSystemSettings('SITE_URL') . SJB_Navigator::getURI());
break;
case 'deactivate':
foreach ($users_sids as $user_sid => $value) {
$username = SJB_UserManager::getUserNameByUserSID($user_sid);
SJB_UserManager::deactivateUserByUserName($username);
}
SJB_HelperFunctions::redirect(SJB_System::getSystemSettings('SITE_URL') . SJB_Navigator::getURI());
break;
case 'delete':
foreach (array_keys($users_sids) as $user_sid) {
try {
SJB_UserManager::deleteUserById($user_sid);
} catch (Exception $e) {
$errors[] = $e->getMessage();
}
}
SJB_HelperFunctions::redirect(SJB_System::getSystemSettings('SITE_URL') . SJB_Navigator::getURI());
break;
case 'send_activation_letter':
foreach ($users_sids as $user_sid => $value) {
SJB_Notifications::sendUserActivationLetter($user_sid);
}
SJB_HelperFunctions::redirect(SJB_System::getSystemSettings('SITE_URL') . SJB_Navigator::getURI());
break;
case 'change_product':
$productToChange = SJB_Request::getVar('product_to_change');
if (empty($productToChange)) {
$productToChange = 0;
}
foreach ($users_sids as $user_sid => $value) {
$user = SJB_UserManager::getObjectBySID($user_sid);
// UNSUBSCRIBE selected
if ($productToChange == 0) {
SJB_ContractManager::deleteAllContractsByUserSID($user_sid);
} else {
$productInfo = SJB_ProductsManager::getProductInfoBySID($productToChange);
$listingNumber = SJB_Request::getVar('number_of_listings', null);
if (is_null($listingNumber) && !empty($productInfo['number_of_listings'])) {
$listingNumber = $productInfo['number_of_listings'];
}
$contract = new SJB_Contract(array('product_sid' => $productToChange, 'numberOfListings' => $listingNumber, 'is_recurring' => 0));
$contract->setUserSID($user_sid);
$contract->saveInDB();
if ($contract->isFeaturedProfile()) {
SJB_UserManager::makeFeaturedBySID($user_sid);
}
}
}
SJB_HelperFunctions::redirect(SJB_System::getSystemSettings('SITE_URL') . SJB_Navigator::getURI());
break;
//.........这里部分代码省略.........
示例6: createSubscription
function createSubscription($payment_data)
{
$validation_result = $this->validatePayment($payment_data);
if ($validation_result !== true) {
return $validation_result;
}
$properties = $this->details->getProperties();
$api_login_id = $properties['authnet_api_login_id']->getValue();
$transaction_key = $properties['authnet_api_transaction_key']->getValue();
$use_test_account = $properties['authnet_use_test_account']->getValue();
$invoice = SJB_InvoiceManager::getObjectBySID($payment_data['item_number']);
if (empty($invoice)) {
return;
}
$items = $invoice->getPropertyValue('items');
$taxInfo = $invoice->getPropertyValue('tax_info');
if (!empty($items['products'])) {
foreach ($items['products'] as $key => $product) {
if ($product != -1) {
$product_info = $invoice->getItemValue($key);
$payment_data['item_number'] = $invoice->getSID();
$payment_data['item_name'] = 'Payment for product ' . $product_info['name'];
$payment_data['x_description'] = 'Payment for product ' . $product_info['name'];
$payment_data['x_amount'] = $product_info['amount'];
if ($taxInfo && !$taxInfo['price_includes_tax']) {
$payment_data['x_amount'] += SJB_TaxesManager::getTaxAmount($payment_data['x_amount'], $taxInfo['tax_rate'], $taxInfo['price_includes_tax']);
}
$aimProcessor = new AuthnetAIMProcessor($api_login_id, $transaction_key, $use_test_account);
$aimProcessor->setTransactionType('AUTH_CAPTURE');
$aimProcessor->setParameter('x_login', $api_login_id);
$aimProcessor->setParameter('x_tran_key', $transaction_key);
$aimProcessor->setParameter('x_card_num', $payment_data['x_card_num']);
$aimProcessor->setParameter('x_amount', $payment_data['x_amount']);
$aimProcessor->setParameter('x_exp_date', $payment_data['x_exp_date']);
$aimProcessor->process();
if (!$aimProcessor->isApproved()) {
return array($aimProcessor->getResponseMessage());
}
$recurringID = null;
if (!empty($product_info['recurring'])) {
$product = new SJB_Product($product_info, $product_info['product_type']);
$expiration_period = $product->getExpirationPeriod();
$arbProcessor = new AuthnetARBProcessor($api_login_id, $transaction_key, $use_test_account);
$arbProcessor->setParameter('refID', $payment_data['item_number']);
$arbProcessor->setParameter('subscrName', $payment_data['x_description']);
$arbProcessor->setParameter('interval_length', $expiration_period);
$arbProcessor->setParameter('interval_unit', 'days');
$arbProcessor->setParameter('startDate', date("Y-m-d", strtotime("+ {$expiration_period} days")));
$arbProcessor->setParameter('totalOccurrences', 9999);
$arbProcessor->setParameter('trialOccurrences', 0);
$arbProcessor->setParameter('amount', $payment_data['x_amount']);
$arbProcessor->setParameter('trialAmount', 0.0);
$arbProcessor->setParameter('cardNumber', $payment_data['x_card_num']);
$arbProcessor->setParameter('expirationDate', $payment_data['x_exp_date']);
$arbProcessor->setParameter('orderInvoiceNumber', $payment_data['item_number']);
$arbProcessor->setParameter('orderDescription', $payment_data['x_description']);
$arbProcessor->setParameter('firstName', $payment_data['x_first_name']);
$arbProcessor->setParameter('lastName', $payment_data['x_last_name']);
$arbProcessor->setParameter('company', $payment_data['x_company']);
$arbProcessor->setParameter('address', $payment_data['x_address']);
$arbProcessor->setParameter('city', $payment_data['x_city']);
$arbProcessor->setParameter('state', $payment_data['x_state']);
$arbProcessor->setParameter('zip', $payment_data['x_zip']);
$arbProcessor->createAccount();
if (!$arbProcessor->isSuccessful()) {
return array($arbProcessor->getResponse());
}
$recurringID = $arbProcessor->getSubscriberID();
}
$user_sid = $invoice->getUserSID();
$listingNumber = $product_info['qty'];
$contract = new SJB_Contract(array('product_sid' => $product, 'recurring_id' => $recurringID, 'gateway_id' => 'authnet_sim', 'numberOfListings' => $listingNumber));
$contract->setUserSID($user_sid);
$contract->setPrice($product_info['amount']);
if ($contract->saveInDB()) {
SJB_ShoppingCart::deleteItemFromCartBySID($product_info['shoppingCartRecord'], $user_sid);
$bannerInfo = $product_info['banner_info'];
if ($product_info['product_type'] == 'banners' && !empty($bannerInfo)) {
$bannersObj = new SJB_Banners();
$bannersObj->addBanner($bannerInfo['title'], $bannerInfo['link'], $bannerInfo['bannerFilePath'], $bannerInfo['sx'], $bannerInfo['sy'], $bannerInfo['type'], 0, $bannerInfo['banner_group_sid'], $bannerInfo, $user_sid, $contract->getID());
$bannerGroup = $bannersObj->getBannerGroupBySID($bannerInfo['banner_group_sid']);
SJB_AdminNotifications::sendAdminBannerAddedLetter($user_sid, $bannerGroup);
}
if ($contract->isFeaturedProfile()) {
SJB_UserManager::makeFeaturedBySID($user_sid);
}
if (SJB_UserNotificationsManager::isUserNotifiedOnSubscriptionActivation($user_sid)) {
SJB_Notifications::sendSubscriptionActivationLetter($user_sid, $product_info);
}
}
}
}
$invoice->setCallbackData($payment_data);
$invoice->setStatus(SJB_Invoice::INVOICE_STATUS_PAID);
SJB_InvoiceManager::saveInvoice($invoice);
SJB_PromotionsManager::markPromotionAsPaidByInvoiceSID($invoice->getSID());
}
return true;
}