Ejemplo n.º 1
0
 private function paidSubs()
 {
     // This mirrors the check done in payments.php that shows the 'nosubscriptions' error message for no paid subs
     global $vbulletin;
     if (!$vbulletin->options['subscriptionmethods']) {
         return false;
     }
     require_once DIR . '/includes/class_paid_subscription.php';
     $subobj = new vB_PaidSubscription($vbulletin);
     $subobj->cache_user_subscriptions();
     if (empty($subobj->subscriptioncache)) {
         return false;
     }
     if (!$vbulletin->db->query_first("\n\t\t\tSELECT *\n\t\t\tFROM " . TABLE_PREFIX . "paymentapi\n\t\t\tWHERE active = 1\n\t\t")) {
         return false;
     }
     return true;
 }
Ejemplo n.º 2
0
|| # ---------------- VBULLETIN IS NOT FREE SOFTWARE ---------------- # ||
|| # http://www.vbulletin.com | http://www.vbulletin.com/license.html # ||
|| #################################################################### ||
\*======================================================================*/
// ######################## SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE & ~8192);
if (!is_object($vbulletin->db)) {
    exit;
}
// ########################## REQUIRE BACK-END ############################
require_once DIR . '/includes/class_paid_subscription.php';
// ########################################################################
// ######################### START MAIN SCRIPT ############################
// ########################################################################
$api = $vbulletin->db->query_first("SELECT * FROM " . TABLE_PREFIX . "paymentapi WHERE classname = 'ccbill'");
$subobj = new vB_PaidSubscription($vbulletin);
$settings = $subobj->construct_payment_settings($api['settings']);
if (!$api['active'] or !$settings['clientAccnum'] or !$settings['clientAccnum'] or !$settings['username'] or !$settings['password']) {
    exit;
}
$args = array('startTime' => date('YmdHis', TIMENOW - 86400), 'endTime' => date('YmdHis', TIMENOW), 'transactionTypes' => 'REFUND,VOID,CHARGEBACK', 'clientAccnum' => $settings['clientAccnum'], 'clientSubacc' => $settings['clientSubacc'], 'username' => $settings['username'], 'password' => $settings['password']);
$params = '';
$result = '';
if (function_exists('curl_init') and $ch = curl_init()) {
    $params = '';
    foreach ($args as $key => $value) {
        $params .= "{$key}={$value}&";
    }
    curl_setopt($ch, CURLOPT_URL, 'https://datalink.ccbill.com/data/main.cgi');
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
Ejemplo n.º 3
0
$actiontemplates = array('none' => array('subscription', 'subscription_activebit', 'subscription_availablebit'), 'order' => array('subscription_payment', 'subscription_paymentbit', 'subscription_payment_2checkout', 'subscription_payment_paypal', 'subscription_payment_nochex', 'subscription_payment_worldpay', 'subscription_payment_authorizenet'));
// ######################### REQUIRE BACK-END ############################
require_once './global.php';
require_once DIR . '/includes/class_paid_subscription.php';
// #######################################################################
// ######################## START MAIN SCRIPT ############################
// #######################################################################
if ($vbulletin->userinfo['userid'] == 0) {
    print_no_permission();
}
// start the navbar
$navbits = array('usercp.php' . $vbulletin->session->vars['sessionurl_q'] => $vbphrase['user_control_panel']);
if (empty($_REQUEST['do'])) {
    $_REQUEST['do'] = 'list';
}
$subobj = new vB_PaidSubscription($vbulletin);
$subscribed = array();
// fetch all active subscriptions the user is subscribed too
$susers = $db->query_read_slave("\n\tSELECT *\n\tFROM " . TABLE_PREFIX . "subscriptionlog\n\tWHERE status = 1\n\tAND userid = " . $vbulletin->userinfo['userid']);
while ($suser = $db->fetch_array($susers)) {
    $subscribed["{$suser['subscriptionid']}"] = $suser;
}
// cache all the subscriptions
$subobj->cache_user_subscriptions();
$apicache = array();
$paymentapi = array();
// get the settings for all the API stuff
$paymentapis = $db->query_read_slave("\n\tSELECT *\n\tFROM " . TABLE_PREFIX . "paymentapi\n\tWHERE active = 1\n");
while ($paymentapi = $db->fetch_array($paymentapis)) {
    $apicache["{$paymentapi['classname']}"] = $paymentapi;
}
Ejemplo n.º 4
0
     $user = array_merge($user, convert_bits_to_array($user['adminoptions'], $vbulletin->bf_misc_adminoptions));
     if ($user['coppauser'] == 1) {
         echo "<p align=\"center\"><b>{$vbphrase['this_is_a_coppa_user_do_not_change_to_registered']}</b></p>\n";
     }
     if ($user['usergroupid'] == 3) {
         print_form_header('../register', 'emailcode', 0, 0);
         construct_hidden_code('email', $user['email']);
         print_submit_row($vbphrase['email_activation_codes'], 0);
     }
     // make array for quick links menu
     $quicklinks = array("user.php?" . $vbulletin->session->vars['sessionurl'] . "do=editaccess&u=" . $vbulletin->GPC['userid'] => $vbphrase['edit_forum_permissions_access_masks'], "resources.php?" . $vbulletin->session->vars['sessionurl'] . "do=viewuser&u=" . $vbulletin->GPC['userid'] => $vbphrase['view_forum_permissions'], "mailto:{$user['email']}" => $vbphrase['send_email_to_user']);
     if ($user['usergroupid'] == 3) {
         $quicklinks["../register.php?" . $vbulletin->session->vars['sessionurl'] . "do=requestemail&email=" . urlencode(unhtmlspecialchars($user['email'])) . '&amp;url=' . urlencode($vbulletin->options['bburl'] . '/' . $vbulletin->config['Misc']['admincpdir'] . '/user.php?do=edit&u=' . $vbulletin->GPC['userid'])] = $vbphrase['email_activation_codes'];
     }
     require_once DIR . '/includes/class_paid_subscription.php';
     $subobj = new vB_PaidSubscription($vbulletin);
     $subobj->cache_user_subscriptions();
     if (!empty($subobj->subscriptioncache)) {
         $quicklinks["subscriptions.php?" . $vbulletin->session->vars['sessionurl'] . "do=adjust&amp;userid=" . $vbulletin->GPC['userid']] = $vbphrase['add_paid_subscription'];
     }
     $quicklinks = array_merge($quicklinks, array("user.php?" . $vbulletin->session->vars['sessionurl'] . "do=emailpassword&amp;u=" . $vbulletin->GPC['userid'] . "&amp;email=" . urlencode(unhtmlspecialchars($user['email'])) => $vbphrase['email_password_reminder_to_user'], "../private.php?" . $vbulletin->session->vars['sessionurl'] . "do=newpm&amp;u=" . $vbulletin->GPC['userid'] => $vbphrase['send_private_message_to_user'], "usertools.php?" . $vbulletin->session->vars['sessionurl'] . "do=pmfolderstats&amp;u=" . $vbulletin->GPC['userid'] => $vbphrase['private_message_statistics'], "usertools.php?" . $vbulletin->session->vars['sessionurl'] . "do=removepms&amp;u=" . $vbulletin->GPC['userid'] => $vbphrase['delete_all_users_private_messages'], "usertools.php?" . $vbulletin->session->vars['sessionurl'] . "do=removesentpms&amp;u=" . $vbulletin->GPC['userid'] => $vbphrase['delete_private_messages_sent_by_user'], "usertools.php?" . $vbulletin->session->vars['sessionurl'] . "do=removesubs&amp;u=" . $vbulletin->GPC['userid'] => $vbphrase['delete_subscriptions'], "usertools.php?" . $vbulletin->session->vars['sessionurl'] . "do=doips&amp;u=" . $vbulletin->GPC['userid'] . "&amp;hash=" . CP_SESSIONHASH => $vbphrase['view_ip_addresses'], "../member.php?" . $vbulletin->session->vars['sessionurl'] . "do=getinfo&amp;u=" . $vbulletin->GPC['userid'] => $vbphrase['view_profile'], "../search.php?" . $vbulletin->session->vars['sessionurl'] . "do=finduser&amp;u=" . $vbulletin->GPC['userid'] => $vbphrase['find_posts_by_user'], "admininfraction.php?" . $vbulletin->session->vars['sessionurl'] . "do=dolist&amp;startstamp=1&amp;endstamp= " . TIMENOW . "&amp;infractionlevelid=-1&amp;u= " . $vbulletin->GPC['userid'] => $vbphrase['view_infractions'], '../' . $vbulletin->config['Misc']['modcpdir'] . '/banning.php?' . $vbulletin->session->vars['sessionurl'] . "do=banuser&amp;u=" . $vbulletin->GPC['userid'] => $vbphrase['ban_user'], "user.php?" . $vbulletin->session->vars['sessionurl'] . "do=remove&u=" . $vbulletin->GPC['userid'] => $vbphrase['delete_user'], "socialgroups.php?" . $vbulletin->session->vars['sessionurl'] . "do=groupsby&u=" . $vbulletin->GPC['userid'] => $vbphrase['view_social_groups_created_by_user']));
     if (intval($user['adminpermissions']) & $vbulletin->bf_ugp_adminpermissions['cancontrolpanel'] and in_array($vbulletin->userinfo['userid'], preg_split('#\\s*,\\s*#s', $vbulletin->config['SpecialUsers']['superadministrators'], -1, PREG_SPLIT_NO_EMPTY))) {
         $quicklinks["adminpermissions.php?" . $vbulletin->session->vars['sessionurl'] . "do=edit&u=" . $vbulletin->GPC['userid']] = $vbphrase['edit_administrator_permissions'];
     }
     $userfield = $db->query_first("SELECT * FROM " . TABLE_PREFIX . "userfield WHERE userid =" . $vbulletin->GPC['userid']);
 } else {
     $regoption = array();
     if ($vbulletin->bf_misc_regoptions['subscribe_none'] & $vbulletin->options['defaultregoptions']) {
         $regoption['autosubscribe'] = -1;
     } else {
         if ($vbulletin->bf_misc_regoptions['subscribe_nonotify'] & $vbulletin->options['defaultregoptions']) {
Ejemplo n.º 5
0
|| # This file may not be redistributed in whole or significant part. # ||
|| # ---------------- VBULLETIN IS NOT FREE SOFTWARE ---------------- # ||
|| # http://www.vbulletin.com | http://www.vbulletin.com/license.html # ||
|| #################################################################### ||
\*======================================================================*/
// ######################## SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);
if (!is_object($vbulletin->db)) {
    exit;
}
// ########################## REQUIRE BACK-END ############################
require_once DIR . '/includes/class_paid_subscription.php';
// ########################################################################
// ######################### START MAIN SCRIPT ############################
// ########################################################################
$subobj = new vB_PaidSubscription($vbulletin);
$subobj->cache_user_subscriptions();
if (is_array($subobj->subscriptioncache)) {
    foreach ($subobj->subscriptioncache as $key => $subscription) {
        // disable people :)
        $subscribers = $vbulletin->db->query_read("\n\t\t\tSELECT userid\n\t\t\tFROM " . TABLE_PREFIX . "subscriptionlog\n\t\t\tWHERE subscriptionid = {$subscription['subscriptionid']}\n\t\t\t\tAND expirydate <= " . TIMENOW . "\n\t\t\t\tAND status = 1\n\t\t");
        while ($subscriber = $vbulletin->db->fetch_array($subscribers)) {
            $subobj->delete_user_subscription($subscription['subscriptionid'], $subscriber['userid'], -1, true);
        }
    }
    // time for the reminders
    $subscriptions_reminders = $vbulletin->db->query_read("\n\t\tSELECT subscriptionlog.subscriptionid, subscriptionlog.userid, subscriptionlog.expirydate, user.username, user.email, user.languageid\n\t\tFROM " . TABLE_PREFIX . "subscriptionlog AS subscriptionlog\n\t\tLEFT JOIN " . TABLE_PREFIX . "user AS user ON (user.userid = subscriptionlog.userid)\n\t\tWHERE subscriptionlog.expirydate >= " . (TIMENOW + 86400 * 2) . "\n\t\t\tAND subscriptionlog.expirydate <= " . (TIMENOW + 86400 * 3) . "\n\t\t\tAND status = 1\n\t");
    vbmail_start();
    while ($subscriptions_reminder = $vbulletin->db->fetch_array($subscriptions_reminders)) {
        require_once DIR . '/includes/functions_misc.php';
        $subscription_title = fetch_phrase('sub' . $subscriptions_reminder['subscriptionid'] . '_title', 'subscription', '', true, true, $subscriptions_reminder['languageid']);
Ejemplo n.º 6
0
/**
 * Quick Method of building the CPNav Template
 *
 * @param	string	The selected item in the CPNav
 */
function construct_usercp_nav($selectedcell = 'usercp')
{
    global $navclass, $cpnav, $gobutton, $stylevar, $vbphrase;
    global $messagecounters, $subscribecounters, $vbulletin;
    global $show, $subscriptioncache, $template_hook;
    $cells = array('usercp', 'signature', 'profile', 'options', 'password', 'avatar', 'profilepic', 'album', 'pm_messagelist', 'pm_newpm', 'pm_trackpm', 'pm_editfolders', 'substhreads_listthreads', 'substhreads_editfolders', 'deletedthreads', 'deletedposts', 'moderatedthreads', 'moderatedposts', 'moderatedvms', 'deletedvms', 'moderatedgms', 'deletedgms', 'moderatedpcs', 'deletedpcs', 'moderatedpics', 'event_reminders', 'paid_subscriptions', 'usergroups', 'buddylist', 'ignorelist', 'attachments', 'customize');
    ($hook = vBulletinHook::fetch_hook('usercp_nav_start')) ? eval($hook) : false;
    // Get forums that allow canview access
    $canget = $canpost = '';
    foreach ($vbulletin->userinfo['forumpermissions'] as $forumid => $perm) {
        if ($perm & $vbulletin->bf_ugp_forumpermissions['canview'] and $perm & $vbulletin->bf_ugp_forumpermissions['canviewthreads'] and $perm & $vbulletin->bf_ugp_forumpermissions['cangetattachment']) {
            $canget .= ",{$forumid}";
        }
        if ($perm & $vbulletin->bf_ugp_forumpermissions['canpostattachment'] and !empty($vbulletin->userinfo['attachmentextensions'])) {
            $canpost .= ",{$forumid}";
        }
    }
    if (!$canpost) {
        $attachments = $vbulletin->db->query_first_slave("\n\t\t\tSELECT COUNT(*) AS total\n\t\t\tFROM " . TABLE_PREFIX . "attachment AS attachment\n\t\t\tLEFT JOIN " . TABLE_PREFIX . "post AS post ON (post.postid = attachment.postid)\n\t\t\tLEFT JOIN " . TABLE_PREFIX . "thread AS thread ON (post.threadid = thread.threadid)\n\t\t\tWHERE attachment.userid = " . $vbulletin->userinfo['userid'] . "\n\t\t\t\tAND\t((forumid IN(0{$canget}) AND thread.visible = 1 AND post.visible = 1) OR attachment.postid = 0)\n\t\t");
        $totalattachments = intval($attachments['total']);
    }
    if (!($vbulletin->options['socnet'] & $vbulletin->bf_misc_socnet['enable_profile_styling'])) {
        $show['customizelink'] = false;
    } else {
        if ($vbulletin->userinfo['permissions']['usercsspermissions'] & $vbulletin->bf_ugp_usercsspermissions['caneditfontfamily'] or $vbulletin->userinfo['permissions']['usercsspermissions'] & $vbulletin->bf_ugp_usercsspermissions['caneditfontsize'] or $vbulletin->userinfo['permissions']['usercsspermissions'] & $vbulletin->bf_ugp_usercsspermissions['caneditcolors'] or $vbulletin->userinfo['permissions']['usercsspermissions'] & $vbulletin->bf_ugp_usercsspermissions['caneditbgimage'] or $vbulletin->userinfo['permissions']['usercsspermissions'] & $vbulletin->bf_ugp_usercsspermissions['caneditborders']) {
            $show['customizelink'] = true;
        } else {
            $show['customizelink'] = false;
        }
    }
    if ($show['avatarlink'] and !($vbulletin->userinfo['permissions']['genericpermissions'] & $vbulletin->bf_ugp_genericpermissions['canuseavatar'])) {
        $membergroups = fetch_membergroupids_array($vbulletin->userinfo);
        // We don't have any predefined avatars or user's groups are all denied permission
        if (!empty($vbulletin->noavatarperms) and ($vbulletin->noavatarperms['all'] == true or !count(array_diff($membergroups, $vbulletin->noavatarperms)))) {
            $show['avatarlink'] = false;
        } else {
            if (!empty($vbulletin->userinfo['infractiongroupids'])) {
                $show['avatarlink'] = $categorycache =& fetch_avatar_categories($vbulletin->userinfo);
            }
        }
    }
    if ($totalattachments or $canpost) {
        $show['attachments'] = true;
    }
    if ($vbulletin->options['socnet'] & $vbulletin->bf_misc_socnet['enable_groups'] and $vbulletin->userinfo['permissions']['socialgrouppermissions'] & $vbulletin->bf_ugp_socialgrouppermissions['canviewgroups']) {
        $show['socialgroupslink'] = true;
    }
    if (!$vbulletin->options['subscriptionmethods']) {
        $show['paidsubscriptions'] = false;
    } else {
        // cache all the subscriptions - should move this to a datastore object at some point
        require_once DIR . '/includes/class_paid_subscription.php';
        $subobj = new vB_PaidSubscription($vbulletin);
        $subobj->cache_user_subscriptions();
        $show['paidsubscriptions'] = false;
        foreach ($subobj->subscriptioncache as $subscription) {
            $subscriptionid =& $subscription['subscriptionid'];
            if ($subscription['active'] and (empty($subscription['deniedgroups']) or count(array_diff(fetch_membergroupids_array($vbulletin->userinfo), $subscription['deniedgroups'])))) {
                $show['paidsubscriptions'] = true;
                break;
            }
        }
    }
    // check to see if there are usergroups available
    $show['publicgroups'] = false;
    foreach ($vbulletin->usergroupcache as $usergroup) {
        if ($usergroup['ispublicgroup'] or $usergroup['canoverride'] and is_member_of($vbulletin->userinfo, $usergroup['usergroupid'])) {
            $show['publicgroups'] = true;
            break;
        }
    }
    // Setup Moderation Links
    if (can_moderate()) {
        $show['deleteditems'] = true;
        $show['deletedmessages'] = true;
    }
    if (can_moderate(0, 'canmoderateposts')) {
        $show['moderatedposts'] = true;
    }
    if (can_moderate(0, 'canmoderatevisitormessages') and $vbulletin->options['socnet'] & $vbulletin->bf_misc_socnet['enable_visitor_messaging']) {
        $show['moderatedvms'] = true;
        $show['deletedvms'] = true;
    }
    if (can_moderate(0, 'canmoderategroupmessages') and $vbulletin->options['socnet'] & $vbulletin->bf_misc_socnet['enable_groups'] and $vbulletin->options['socnet_groups_msg_enabled']) {
        $show['moderatedgms'] = true;
        $show['deletedgms'] = true;
    }
    if (can_moderate(0, 'canmoderatepicturecomments') and $vbulletin->options['socnet'] & $vbulletin->bf_misc_socnet['enable_albums'] and $vbulletin->options['pc_enabled']) {
        $show['moderatedpcs'] = true;
        $show['deletedpcs'] = true;
    }
    if (can_moderate(0, 'canmoderatepictures') and $vbulletin->options['socnet'] & $vbulletin->bf_misc_socnet['enable_albums']) {
        $show['moderatedpics'] = true;
    }
    $show['moderateditems'] = ($show['moderatedposts'] or $show['moderatedvms'] or $show['moderatedgms'] or $show['moderatedpcs'] or $show['moderatedpics']);
    $show['moderation'] = ($show['deleteditems'] or $show['moderateditems']);
    // album setup
    $show['albumlink'] = ($vbulletin->options['socnet'] & $vbulletin->bf_misc_socnet['enable_albums'] and $vbulletin->userinfo['permissions']['genericpermissions'] & $vbulletin->bf_ugp_genericpermissions['canviewmembers'] and $vbulletin->userinfo['permissions']['albumpermissions'] & $vbulletin->bf_ugp_albumpermissions['canviewalbum'] and $vbulletin->userinfo['permissions']['albumpermissions'] & $vbulletin->bf_ugp_albumpermissions['canalbum']);
    // set the class for each cell/group
    $navclass = array();
    foreach ($cells as $cellname) {
        $navclass["{$cellname}"] = 'alt2';
    }
    $navclass["{$selectedcell}"] = 'alt1';
    // variable to hold templates for pm / subs folders
    $cpnav = array();
    // get PM folders
    $cpnav['pmfolders'] = '';
    $pmfolders = array('0' => $vbphrase['inbox'], '-1' => $vbphrase['sent_items']);
    if (!empty($vbulletin->userinfo['pmfolders'])) {
        $pmfolders = $pmfolders + unserialize($vbulletin->userinfo['pmfolders']);
    }
    foreach ($pmfolders as $folderid => $foldername) {
        $linkurl = 'private.php?' . $vbulletin->session->vars['sessionurl'] . "folderid={$folderid}";
        eval('$cpnav[\'pmfolders\'] .= "' . fetch_template('usercp_nav_folderbit') . '";');
    }
    // get subscriptions folders
    $cpnav['subsfolders'] = '';
    $subsfolders = unserialize($vbulletin->userinfo['subfolders']);
    if (!empty($subsfolders)) {
        foreach ($subsfolders as $folderid => $foldername) {
            $linkurl = 'subscription.php?' . $vbulletin->session->vars['sessionurl'] . "folderid={$folderid}";
            eval('$cpnav[\'subsfolders\'] .= "' . fetch_template('usercp_nav_folderbit') . '";');
        }
    }
    if ($cpnav['subsfolders'] == '') {
        $linkurl = 'subscription.php?' . $vbulletin->session->vars['sessionurl'] . 'folderid=0';
        $foldername = $vbphrase['subscriptions'];
        eval('$cpnav[\'subsfolders\'] .= "' . fetch_template('usercp_nav_folderbit') . '";');
    }
    ($hook = vBulletinHook::fetch_hook('usercp_nav_complete')) ? eval($hook) : false;
}
Ejemplo n.º 7
0
$specialtemplates = array();
// ########################## REQUIRE BACK-END ############################
require_once './global.php';
require_once DIR . '/includes/class_paid_subscription.php';
// ######################## CHECK ADMIN PERMISSIONS #######################
if (!can_administer('canadminusers')) {
    print_cp_no_permission();
}
$vbulletin->input->clean_array_gpc('r', array('userid' => TYPE_INT, 'subscriptionid' => TYPE_INT));
// ############################# LOG ACTION ###############################
log_admin_action(!empty($vbulletin->GPC['userid']) ? "user id = " . $vbulletin->GPC['userid'] : !empty($vbulletin->GPC['subscriptionid']) ? "subscriptionid id = " . $vbulletin->GPC['subscriptionid'] : '');
// ########################################################################
// ######################### START MAIN SCRIPT ############################
// ########################################################################
print_cp_header($vbphrase['subscription_manager']);
$subobj = new vB_PaidSubscription($vbulletin);
if (empty($_REQUEST['do'])) {
    $_REQUEST['do'] = 'modify';
}
// ###################### Start Add #######################
if ($_REQUEST['do'] == 'add' or $_REQUEST['do'] == 'edit') {
    $OUTERTABLEWIDTH = '95%';
    $INNERTABLEWIDTH = '100%';
    ?>
	<script type="text/javascript">
	function doRemove(str)
	{
		for (var i =0; i < document.forms.cpform.elements.length; i++)
		{
			var elm = document.forms.cpform.elements[i];
			if (elm.name.substring(0, str.length) == str)
Ejemplo n.º 8
0
            print_description_row("<div style=\"float:" . vB_Template_Runtime::fetchStyleVar('right') . "\">" . construct_phrase($vbphrase['scanned_x_files'], $file_count) . "</div>.{$directory}", 0, 2, 'thead');
            if (is_array($errors["{$directory}"])) {
                ksort($errors["{$directory}"]);
                foreach ($errors["{$directory}"] as $file => $error) {
                    print_label_row("<strong>{$file}</strong>", implode('<br />', $error));
                }
            }
        }
        print_submit_row($vbphrase['repeat_process'], false);
    } else {
        trigger_error(construct_phrase($vbphrase['unable_to_open_x'], 'includes/*'), E_USER_ERROR);
    }
}
if ($_GET['do'] == 'payments') {
    require_once DIR . '/includes/class_paid_subscription.php';
    $subobj = new vB_PaidSubscription($vbulletin);
    print_form_header('subscriptions');
    print_table_header($vbphrase['payment_api_tests'], 2);
    print_cells_row(array($vbphrase['title'], $vbphrase['pass']), 1, 'tcat', 1);
    $apis = $db->query_read("\r\n\t\tSELECT * FROM " . TABLE_PREFIX . "paymentapi WHERE active = 1\r\n\t");
    while ($api = $db->fetch_array($apis)) {
        $cells = array();
        $cells[] = $api['title'];
        $yesno = 'no';
        if (file_exists(DIR . '/includes/paymentapi/class_' . $api['classname'] . '.php')) {
            require_once DIR . '/includes/paymentapi/class_' . $api['classname'] . '.php';
            $api_class = 'vB_PaidSubscriptionMethod_' . $api['classname'];
            $obj = new $api_class($vbulletin);
            if (!empty($api['settings'])) {
                // need to convert this from a serialized array with types to a single value
                $obj->settings = $subobj->construct_payment_settings($api['settings']);
Ejemplo n.º 9
0
$specialtemplates = array();
// pre-cache templates used by all actions
$globaltemplates = array();
// pre-cache templates used by specific actions
$actiontemplates = array();
// ######################### REQUIRE BACK-END ############################
define('VB_AREA', 'Subscriptions');
define('CWD', ($getcwd = getcwd()) ? $getcwd : '.');
require_once CWD . '/includes/init.php';
require_once DIR . '/includes/adminfunctions.php';
require_once DIR . '/includes/class_paid_subscription.php';
$vbulletin->input->clean_array_gpc('r', array('method' => TYPE_STR));
$vbulletin->nozip = true;
$api = $db->query_first_slave("SELECT * FROM " . TABLE_PREFIX . "paymentapi WHERE classname = '" . $db->escape_string($vbulletin->GPC['method']) . "'");
if (!empty($api)) {
    $subobj = new vB_PaidSubscription($vbulletin);
    if (file_exists(DIR . '/includes/paymentapi/class_' . $api['classname'] . '.php')) {
        require_once DIR . '/includes/paymentapi/class_' . $api['classname'] . '.php';
        $api_class = 'vB_PaidSubscriptionMethod_' . $api['classname'];
        $apiobj = new $api_class($vbulletin);
        // at this point we know if the system is going to want to display feedback, so do the appropriate queries here
        if ($apiobj->display_feedback) {
            // initialize $vbphrase and set language constants
            $vbphrase = init_language();
            $vbulletin->userinfo['styleid'] = $vbulletin->options['styleid'];
            $style = $db->query_first_slave("\n\t\t\t\tSELECT *\n\t\t\t\tFROM " . TABLE_PREFIX . "style\n\t\t\t\tWHERE styleid = " . intval($vbulletin->options['styleid']));
            define('STYLEID', $style['styleid']);
            cache_templates(array('STANDARD_REDIRECT', 'STANDARD_ERROR', 'STANDARD_ERROR_LITE', 'headinclude'), $style['templatelist']);
            $stylevar = fetch_stylevars($style, $vbulletin->userinfo);
            $headinclude = '<base href="' . $vbulletin->options['bburl'] . '/" />';
            eval('$headinclude .= "' . fetch_template('headinclude') . '";');
Ejemplo n.º 10
0
/**
 * Quick Method of building the CPNav Template
 *
 * @param	string	The selected item in the CPNav
 */
function construct_usercp_nav($selectedcell = 'usercp')
{
	global $navclass, $cpnav, $gobutton, $vbphrase;
	global $messagecounters, $subscribecounters, $vbulletin;
	global $show, $subscriptioncache, $template_hook;

	$cells = array(
		'usercp',

		'signature',
		'profile',
		'options',
		'connections',
		'password',
		'avatar',
		'profilepic',
		'album',

		'pm_messagelist',
		'pm_newpm',
		'pm_trackpm',
		'pm_editfolders',

		'substhreads_listthreads',
		'substhreads_editfolders',

		'deletedthreads',
		'deletedposts',
		'moderatedthreads',
		'moderatedposts',
		'moderatedvms',
		'deletedvms',
		'moderatedgms',
		'deletedgms',
		'moderateddiscussions',
		'deleteddiscussions',
		'moderatedpcs',
		'deletedpcs',
		'moderatedpics',

		'event_reminders',
		'paid_subscriptions',
		'socialgroups',
		'usergroups',
		'buddylist',
		'ignorelist',
		'attachments',
		'customize',
		'privacy',

		'deleteditems',
		'moderateditems',
		'newitems',
		'newvms',
		'newgms',
		'newdiscussions',
		'newpcs',
		'newpics'
	);

	($hook = vBulletinHook::fetch_hook('usercp_nav_start')) ? eval($hook) : false;

	// TODO: Issue #29084 - Reenable Profile Styling
	/*
	if (!($vbulletin->options['socnet'] & $vbulletin->bf_misc_socnet['enable_profile_styling']))
	{
		$show['customizelink'] = false;
	}
	else if (
		($vbulletin->userinfo['permissions']['usercsspermissions'] & $vbulletin->bf_ugp_usercsspermissions['caneditfontfamily'])
		OR ($vbulletin->userinfo['permissions']['usercsspermissions'] & $vbulletin->bf_ugp_usercsspermissions['caneditfontsize'])
		OR ($vbulletin->userinfo['permissions']['usercsspermissions'] & $vbulletin->bf_ugp_usercsspermissions['caneditcolors'])
		OR ($vbulletin->userinfo['permissions']['usercsspermissions'] & $vbulletin->bf_ugp_usercsspermissions['caneditbgimage'])
		OR ($vbulletin->userinfo['permissions']['usercsspermissions'] & $vbulletin->bf_ugp_usercsspermissions['caneditborders'])
	)
	{
		$show['customizelink'] = true;
	}
	else
	{
		$show['customizelink'] = false;
	}
	*/

	$show['customizelink'] = false;

	$show['privacylink'] = (($vbulletin->userinfo['permissions']['usercsspermissions'] & $vbulletin->bf_ugp_usercsspermissions['caneditprivacy'])
							AND $vbulletin->options['profileprivacy']);

	if ($show['avatarlink'] AND !($vbulletin->userinfo['permissions']['genericpermissions'] & $vbulletin->bf_ugp_genericpermissions['canuseavatar']))
	{
		$membergroups = fetch_membergroupids_array($vbulletin->userinfo);
		// We don't have any predefined avatars or user's groups are all denied permission
		if (!empty($vbulletin->noavatarperms) AND ($vbulletin->noavatarperms['all'] == true OR !count(array_diff($membergroups, $vbulletin->noavatarperms))))
		{
			$show['avatarlink'] = false;
		}
		else if (!empty($vbulletin->userinfo['infractiongroupids']))
		{
			$show['avatarlink'] = ($categorycache =& fetch_avatar_categories($vbulletin->userinfo));
		}
	}

	// currently, we only have faceboook as external login,
	// but as we add more, we need to add them to this assignment
	$show['externalconnections'] = $vbulletin->options['enablefacebookconnect'];

	if ($selectedcell == 'attachments')
	{
		$show['attachments'] = true;
	}
	else
	{
		require_once(DIR . '/packages/vbattach/attach.php');
		$attachmultiple = new vB_Attachment_Display_Multiple($vbulletin);
		if ($results = $attachmultiple->fetch_results('a.userid = ' . $vbulletin->userinfo['userid'], true))
		{
			$show['attachments'] = true;
		}
	}

	if ($vbulletin->options['socnet'] & $vbulletin->bf_misc_socnet['enable_groups']
		AND $vbulletin->userinfo['permissions']['socialgrouppermissions'] & $vbulletin->bf_ugp_socialgrouppermissions['canviewgroups'])
	{
		$show['socialgroupslink'] = true;
	}

	if (!$vbulletin->options['subscriptionmethods'])
	{
		$show['paidsubscriptions'] = false;
	}
	else
	{
		// cache all the subscriptions - should move this to a datastore object at some point
		require_once(DIR . '/includes/class_paid_subscription.php');
		$subobj = new vB_PaidSubscription($vbulletin);
		$subobj->cache_user_subscriptions();
		$show['paidsubscriptions'] = false;
		foreach ($subobj->subscriptioncache AS $subscription)
		{
			$subscriptionid =& $subscription['subscriptionid'];
			if ($subscription['active'] AND (empty($subscription['deniedgroups']) OR count(array_diff(fetch_membergroupids_array($vbulletin->userinfo), $subscription['deniedgroups']))))
			{
				$show['paidsubscriptions'] = true;
				break;
			}
		}
	}

	// check to see if there are usergroups available
	$show['publicgroups'] = false;
	foreach ($vbulletin->usergroupcache AS $usergroup)
	{
		if ($usergroup['ispublicgroup'] OR ($usergroup['canoverride'] AND is_member_of($vbulletin->userinfo, $usergroup['usergroupid'])))
		{
			$show['publicgroups'] = true;
			break;
		}
	}

	// Setup Moderation Links
	if (can_moderate())
	{
		$show['deleteditems'] = true;
		$show['deletedmessages'] = true;
	}

	$show['moderatedposts'] = can_moderate(0, 'canmoderateposts');
	$show['deletedposts'] = ($show['moderatedposts'] OR can_moderate(0, 'candeleteposts') OR can_moderate(0, 'canremoveposts'));

	// visitor messages
	if ($vbulletin->options['socnet'] & $vbulletin->bf_misc_socnet['enable_visitor_messaging'])
	{
		$show['moderatedvms'] = can_moderate(0, 'canmoderatevisitormessages');
		$show['deletedvms'] = ($show['moderatedvms'] OR can_moderate(0, 'candeletevisitormessages') OR can_moderate(0, 'canremovevisitormessages'));
		$show['newvms'] = ($show['moderatedvms'] OR $show['deletedvms'] OR can_moderate(0, 'caneditvisitormessages'));
	}

	// group messages
	if ($vbulletin->options['socnet'] & $vbulletin->bf_misc_socnet['enable_groups'] AND $vbulletin->options['socnet_groups_msg_enabled'])
	{
		$show['moderatedgms'] = can_moderate(0, 'canmoderategroupmessages');
		$show['deletedgms'] = ($show['moderatedgms'] OR can_moderate(0, 'candeletegroupmessages') OR can_moderate(0, 'canremovegroupmessages'));
		$show['newgms'] = ($show['moderatedgms'] OR $show['deletedgms'] OR can_moderate(0, 'caneditgroupmessages'));
	}

	// group discussions
	if ($vbulletin->options['socnet'] & $vbulletin->bf_misc_socnet['enable_groups'] AND $vbulletin->options['socnet_groups_msg_enabled'])
	{
		$show['moderateddiscussions'] = can_moderate(0, 'canmoderatediscussions');
		$show['deleteddiscussions'] = ($show['moderateddiscussions'] OR (can_moderate(0, 'candeletediscussions') OR can_moderate(0, 'canremovediscussions')));
		$show['newdiscussions'] = ($show['moderateddiscussions'] OR $show['deleteddiscussions'] OR can_moderate(0, 'caneditdiscussions'));
	}

	// picture comments
	if ($vbulletin->options['socnet'] & $vbulletin->bf_misc_socnet['enable_albums'] AND $vbulletin->options['pc_enabled'])
	{
		$show['moderatedpcs'] = can_moderate(0, 'canmoderatepicturecomments');
		$show['deletedpcs'] = ($show['moderatedpcs'] OR can_moderate(0, 'candeletepicturecomments') OR can_moderate(0, 'canremovepicturecomments'));
		$show['newpcs'] = ($show['moderatedpcs'] OR $show['deletedpcs'] OR can_moderate(0, 'caneditpicturecomments'));
	}

	// pictures
	if ($vbulletin->options['socnet'] & $vbulletin->bf_misc_socnet['enable_albums'])
	{
		$show['moderatedpics'] = can_moderate(0, 'canmoderatepictures');
		$show['newpics'] = ($show['moderatedpics'] OR can_moderate(0, 'caneditalbumpicture'));
	}

	$show['moderateditems'] = ($show['moderatedposts'] OR $show['moderatedvms'] OR $show['moderatedgms'] OR $show['moderateddiscussions'] OR $show['moderatedpcs'] OR $show['moderatedpics']);
	$show['deleteditems'] = ($show['deletedposts'] OR $show['deletedvms'] OR $show['deletedgms'] OR $show['deleteddiscussions'] OR $show['deletedpcs']);
	$show['newitems'] = ($show['newposts'] OR $show['newvms'] OR $show['newgms'] OR $show['newdiscussions'] OR $show['newpcs'] OR $show['newpics']);
	$show['moderation'] = ($show['moderateditems'] OR $show['deleteditems'] OR $show['newitems']);

	// album setup
	$show['albumlink'] = ($vbulletin->options['socnet'] & $vbulletin->bf_misc_socnet['enable_albums']
		AND $vbulletin->userinfo['permissions']['genericpermissions'] & $vbulletin->bf_ugp_genericpermissions['canviewmembers']
		AND $vbulletin->userinfo['permissions']['albumpermissions'] & $vbulletin->bf_ugp_albumpermissions['canviewalbum']
		AND $vbulletin->userinfo['permissions']['albumpermissions'] & $vbulletin->bf_ugp_albumpermissions['canalbum']
	);

	// set the class for each cell/group
	$navclass = array();
	foreach ($cells AS $cellname)
	{
		$navclass["$cellname"] = 'inactive';
	}
	$navclass["$selectedcell"] = 'active';

	// variable to hold templates for pm / subs folders
	$cpnav = array();

	// get PM folders
	$cpnav['pmfolders'] = '';
	$pmfolders = array('0' => $vbphrase['inbox'], '-1' => $vbphrase['sent_items']);
	if (!empty($vbulletin->userinfo['pmfolders']))
	{
		$pmfolders = $pmfolders + unserialize($vbulletin->userinfo['pmfolders']);
	}
	foreach ($pmfolders AS $folderid => $foldername)
	{
		$linkurl = 'private.php?' . $vbulletin->session->vars['sessionurl'] . "folderid=$folderid";
		$templater = vB_Template::create('usercp_nav_folderbit');
			$templater->register('foldername', $foldername);
			$templater->register('linkurl', $linkurl);
		$cpnav['pmfolders'] .= $templater->render();
	}

	// get subscriptions folders
	$cpnav['subsfolders'] = '';
	$subsfolders = unserialize($vbulletin->userinfo['subfolders']);
	if (!empty($subsfolders))
	{
		foreach ($subsfolders AS $folderid => $foldername)
		{
			$linkurl = 'subscription.php?' . $vbulletin->session->vars['sessionurl'] . "folderid=$folderid";
			$templater = vB_Template::create('usercp_nav_folderbit');
				$templater->register('foldername', $foldername);
				$templater->register('linkurl', $linkurl);
			$cpnav['subsfolders'] .= $templater->render();
		}
	}
	if ($cpnav['subsfolders'] == '')
	{
		$linkurl = 'subscription.php?' . $vbulletin->session->vars['sessionurl'] . 'folderid=0';
		$foldername = $vbphrase['subscriptions'];
		$templater = vB_Template::create('usercp_nav_folderbit');
			$templater->register('foldername', $foldername);
			$templater->register('linkurl', $linkurl);
		$cpnav['subsfolders'] .= $templater->render();
	}

	($hook = vBulletinHook::fetch_hook('usercp_nav_complete')) ? eval($hook) : false;
}