Ejemplo n.º 1
0
// ###################### Start status #######################
if ($_POST['do'] == 'status') {
    $vbulletin->input->clean_array_gpc('p', array('subscriptionlogid' => TYPE_INT, 'status' => TYPE_INT, 'regdate' => TYPE_ARRAY_INT, 'expirydate' => TYPE_ARRAY_INT, 'username' => TYPE_NOHTML));
    require_once DIR . '/includes/functions_misc.php';
    $regdate = vbmktime($vbulletin->GPC['regdate']['hour'], $vbulletin->GPC['regdate']['minute'], 0, $vbulletin->GPC['regdate']['month'], $vbulletin->GPC['regdate']['day'], $vbulletin->GPC['regdate']['year']);
    $expirydate = vbmktime($vbulletin->GPC['expirydate']['hour'], $vbulletin->GPC['expirydate']['minute'], 0, $vbulletin->GPC['expirydate']['month'], $vbulletin->GPC['expirydate']['day'], $vbulletin->GPC['expirydate']['year']);
    if ($expirydate < 0 or $expirydate <= $regdate) {
        print_stop_message('invalid_subscription_length');
    }
    if ($vbulletin->GPC['userid']) {
        // already existing entry
        if (!$vbulletin->GPC['status']) {
            $db->query_write("\n\t\t\t\tUPDATE " . TABLE_PREFIX . "subscriptionlog\n\t\t\t\tSET regdate = {$regdate}, expirydate = {$expirydate}\n\t\t\t\tWHERE userid = " . $vbulletin->GPC['userid'] . "\n\t\t\t\t\tAND subscriptionid = " . $vbulletin->GPC['subscriptionid'] . "\n\t\t\t");
            $subobj->delete_user_subscription($vbulletin->GPC['subscriptionid'], $vbulletin->GPC['userid']);
        } else {
            $subobj->build_user_subscription($vbulletin->GPC['subscriptionid'], -1, $vbulletin->GPC['userid'], $regdate, $expirydate, false);
        }
    } else {
        $userinfo = $db->query_first("\n\t\t\tSELECT userid\n\t\t\tFROM " . TABLE_PREFIX . "user\n\t\t\tWHERE username = '******'username']) . "'\n\t\t");
        if (!$userinfo['userid']) {
            print_stop_message('no_users_matched_your_query');
        }
        $subobj->build_user_subscription($vbulletin->GPC['subscriptionid'], -1, $userinfo['userid'], $regdate, $expirydate, false);
    }
    define('CP_REDIRECT', "subscriptions.php?do=find&status=1&subscriptionid=" . $vbulletin->GPC['subscriptionid']);
    print_stop_message('saved_subscription_x_successfully', htmlspecialchars_uni($vbphrase['sub' . $vbulletin->GPC['subscriptionid'] . '_title']));
}
// ###################### Start status #######################
if ($_REQUEST['do'] == 'adjust') {
    $vbulletin->input->clean_array_gpc('r', array('subscriptionlogid' => TYPE_INT));
    print_form_header('subscriptions', 'status');
Ejemplo n.º 2
0
     foreach ($emails as $toemail) {
         if (trim($toemail)) {
             vbmail($toemail, $subject, $message, true);
         }
     }
 }
 if (empty($transaction)) {
     // transaction hasn't been processed before
     /*insert query*/
     $trans = array('transactionid' => $apiobj->transaction_id, 'paymentinfoid' => $apiobj->paymentinfo['paymentinfoid'], 'amount' => $apiobj->paymentinfo['amount'], 'currency' => $apiobj->paymentinfo['currency'], 'state' => $apiobj->type, 'dateline' => TIMENOW, 'paymentapiid' => $api['paymentapiid']);
     if (!$apiobj->type) {
         $trans['request'] = serialize(array('vb_error_code' => $apiobj->error_code, 'GET' => serialize($_GET), 'POST' => serialize($_POST)));
     }
     $db->query_write(fetch_query_sql($trans, 'paymenttransaction'));
     if ($apiobj->type == 1) {
         $subobj->build_user_subscription($apiobj->paymentinfo['subscriptionid'], $apiobj->paymentinfo['subscriptionsubid'], $apiobj->paymentinfo['userid']);
         if ($apiobj->display_feedback) {
             $vbulletin->url = $vbulletin->options['bburl'] . '/payments.php';
             eval(print_standard_redirect('payment_complete', true, true));
         }
     } else {
         if ($apiobj->type == 2) {
             $subobj->delete_user_subscription($apiobj->paymentinfo['subscriptionid'], $apiobj->paymentinfo['userid'], $apiobj->paymentinfo['subscriptionsubid']);
         }
     }
 } else {
     if ($apiobj->type == 2) {
         // transaction is a reversal / refund
         $subobj->delete_user_subscription($apiobj->paymentinfo['subscriptionid'], $apiobj->paymentinfo['userid'], $apiobj->paymentinfo['subscriptionsubid']);
     } else {
         // its most likely a re-post of a payment, if we've already dealt with it serve up a redirect