コード例 #1
0
ファイル: menu_module.php プロジェクト: nsystem1/clanscripts
function displayDonationMenuModule()
{
    $menuItemInfo = $GLOBALS['menu_item_info'];
    if ($menuItemInfo['itemtype'] != "donation") {
        return false;
    }
    global $mysqli;
    if (!class_exists("DonationCampaign")) {
        include BASE_DIRECTORY . "plugins/donations/classes/campaign.php";
    }
    $campaignObj = new DonationCampaign($mysqli);
    $donationObj = new btPlugin($mysqli);
    if ($campaignObj->select($menuItemInfo['itemtype_id']) && $donationObj->selectByName("Donations")) {
        $progressBarColor = $donationObj->getConfigInfo("goalprogresscolor");
        $progressBarBackColor = $donationObj->getConfigInfo("goalprogressbackcolor");
        $campaignInfo = $campaignObj->get_info_filtered();
        $campaignDesc = $campaignObj->get_info("description");
        $dispCampaignDesc = substr($campaignDesc, 0, 100);
        $dispCampaignDesc = $campaignDesc != $dispCampaignDesc ? $dispCampaignDesc . "..." : $dispCampaignDesc;
        $dispCampaignDesc = nl2br(parseBBCode(filterText($dispCampaignDesc)));
        $daysLeft = "";
        if ($campaignInfo['dateend'] != 0 || $campaignInfo['dateend'] == 0 && $campaignInfo['currentperiod'] != 0) {
            $daysLeft = $campaignObj->getDaysLeft();
        }
        $dispGoal = "";
        if ($campaignInfo['goalamount'] > 0) {
            // Graph
            $goalCompletePercent = round($campaignObj->getTotalDonationAmount() / $campaignInfo['goalamount'] * 100);
            $goalCompletePercent = $goalCompletePercent > 100 ? "100%" : $goalCompletePercent . "%";
            $dispGoal = " of " . $campaignObj->formatAmount($campaignInfo['goalamount'], 2) . " goal";
            $dispProgressBar = "\n\t\t\t\t\t<div class='donationProgressContainer' style='background-color: " . $progressBarBackColor . "'>\n\t\t\t\t\t\t<div style='width: " . $goalCompletePercent . "; background-color: " . $progressBarColor . "'></div>\n\t\t\t\t\t</div>\n\t\t\t\t";
        }
        $donationsInfo = $campaignObj->getDonationInfo();
        $totalDonations = count($donationsInfo);
        $donationsFormatted = $campaignObj->formatAmount($campaignObj->getTotalDonationAmount());
        $currentEndDate = $campaignObj->getCurrentEndDate();
        $dispEndingDate = "";
        if ($currentEndDate != 0) {
            $dispExclaimation = $daysLeft < 3 ? "!" : "";
            $dispEndingDate = "<div class='donateMenuItemStat'><b>" . $campaignObj->getFormattedEndDate() . " left" . $dispExclaimation . "</b></div>";
        }
        echo "\n\t\t\t\n\t\t\t\t<div class='donateMenuItemContainer'>\n\t\t\t\t\t<div class='donateMenuItemTitle'><a href='" . $campaignObj->getLink() . "'>" . $campaignInfo['title'] . "</a></div>\n\t\t\t\t\t<div class='donateMenuItemDesc main'>\n\t\t\t\t\t\t" . $dispCampaignDesc . "\t\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t\t<p align='center'>\n\t\t\t\t\t\t<a href='" . $campaignObj->getLink() . "'><input type='button' value='Donate!' class='submitButton'></a>\n\t\t\t\t\t</p>\n\t\t\t\t\t<div class='donateMenuItemStatsDiv main'>" . $dispProgressBar . "\n\t\t\t\t\t\t<div class='donateMenuItemStat'><b>" . $donationsFormatted . "</b><br>raised" . $dispGoal . "</div>\n\t\t\t\t\t\t" . $dispEndingDate . "\n\t\t\t\t\t\t<div style='clear: both'></div>\n\t\t\t\t\t</div>\n\t\t\t";
        if (count($donationsInfo) > 0) {
            echo "<p class='donateMenuItemTitle'><b>Latest Donators:</b></p>";
            $campaignObj->showDonatorList(false, 2);
        }
        echo "\n\t\t\t\t</div>\n\t\t\t\n\t\t\t";
    }
}
コード例 #2
0
<?php

if (!defined("CAMPAIGN_FORM")) {
    exit;
}
$arrPaypalCurrencyCodes = $campaignObj->getCurrencyCodes();
$arrPaypalCurrencyInfo = $campaignObj->getCurrencyCodeInfo();
$donationPlugin = new btPlugin($mysqli);
$donationPlugin->selectByName("Donations");
$checkRecurringBox = $setRecurringBox == 1 ? 1 : 0;
$campaignJS = "\n\t\n\t\t\$(document).ready(function() {\n\t\t\tvar recurring = " . $checkRecurringBox . ";\n\t\t\n\t\t\t\$('#chkRecurring').click(function() {\n\t\t\t\tif(recurring == 1) {\n\t\t\t\t\t\$('#repeatPeriodAmount').attr('disabled', 'disabled');\n\t\t\t\t\t\$('#repeatPeriodUnit').attr('disabled', 'disabled');\n\t\t\t\t\trecurring = 0;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\t\$('#repeatPeriodAmount').attr('disabled', false);\n\t\t\t\t\t\$('#repeatPeriodUnit').attr('disabled', false);\n\t\t\t\t\trecurring = 1;\n\t\t\t\t}\n\t\t\t});\n\t\t\t\n\t\t\t\$('#runUntil').change(function() {\n\t\t\t\n\t\t\t\tif(\$(this).val() == \"choose\") {\n\t\t\t\t\t\$('#jsEndDate').show();\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\t\$('#jsEndDate').hide();\n\t\t\t\t}\n\t\t\t\n\t\t\t});\n\t\t\t\n\t\t\t\n\t\t\t\$('#runUntil').change();\n\t\t});\n\t";
$maxYear = date("Y") + 10;
$maxDate = "new Date(" . $maxYear . ",12,31)";
$i = 0;
$arrComponents = array("mainsection" => array("type" => "section", "options" => array("section_title" => "General Information"), "sortorder" => $i++), "title" => array("type" => "text", "attributes" => array("class" => "textBox bigTextBox formInput"), "sortorder" => $i++, "display_name" => "Title", "db_name" => "title", "validate" => array("NOT_BLANK")), "description" => array("type" => "textarea", "display_name" => "Description", "attributes" => array("class" => "textBox formInput bigTextBox", "rows" => 5), "sortorder" => $i++, "db_name" => "description"), "rununtil" => array("type" => "select", "display_name" => "Run Until", "options" => array("forever" => "Forever", "choose" => "Choose Date"), "attributes" => array("class" => "textBox formInput", "id" => "runUntil"), "sortorder" => $i++), "enddate" => array("type" => "datepicker", "sortorder" => $i++, "attributes" => array("style" => "cursor: pointer; display: none", "id" => "jsEndDate", "class" => "textBox formInput"), "db_name" => "dateend", "before_html" => "<label class='formLabel' style='display: inline-block'></label>\n\t\t\t", "options" => array("changeMonth" => "true", "changeYear" => "true", "dateFormate" => "M d, yy", "minDate" => "new Date(50, 1, 1)", "maxDate" => $maxDate, "yearRange" => "1950:" . $maxYear, "altField" => "realEndDate"), "validate" => array("NUMBER_ONLY"), "value" => 0), "allowname" => array("type" => "checkbox", "display_name" => "Allow Names", "tooltip" => "Check this box to allow donators to leave their name.", "sortorder" => $i++, "value" => 1, "options" => array(1 => ""), "attributes" => array("class" => "formInput"), "db_name" => "allowname"), "allowmessage" => array("type" => "checkbox", "display_name" => "Allow Messages", "tooltip" => "Check this box to allow donators to leave a message.", "sortorder" => $i++, "value" => 1, "options" => array(1 => ""), "attributes" => array("class" => "formInput"), "db_name" => "allowmessage"), "allowhiddenamount" => array("type" => "checkbox", "display_name" => "Allow Hidden Amounts", "tooltip" => "Check this box to allow donators to hide the amount they donated on the donation profile page.  You will still be able to view the amount in the donation logs.", "sortorder" => $i++, "value" => 0, "options" => array(1 => ""), "attributes" => array("class" => "formInput"), "db_name" => "allowhiddenamount"), "goalamount" => array("type" => "text", "attributes" => array("class" => "formInput textBox smallTextBox"), "sortorder" => $i++, "display_name" => "Donation Goal", "db_name" => "goalamount"), "minimumamount" => array("type" => "text", "attributes" => array("class" => "formInput textBox smallTextBox"), "sortorder" => $i++, "display_name" => "Minimum Donation", "value" => "1.00", "db_name" => "minimumamount"), "currency" => array("type" => "select", "attributes" => array("class" => "formInput textBox"), "sortorder" => $i++, "display_name" => "Currency", "db_name" => "currency", "options" => $arrPaypalCurrencyCodes, "value" => $donationPlugin->getConfigInfo("currency")));
// Check for award medal console access
$awardMedalCID = $consoleObj->findConsoleIDByName("Award Medal");
$consoleObj->select($awardMedalCID);
$hasAwardMedalAccess = false;
if ($member->hasAccess($consoleObj)) {
    $hasAwardMedalAccess = true;
    $medalOptions[0] = "None";
    $result = $mysqli->query("SELECT * FROM " . $dbprefix . "medals ORDER BY ordernum DESC");
    while ($row = $result->fetch_assoc()) {
        $medalOptions[$row['medal_id']] = filterText($row['name']);
    }
    $arrComponents['awardmedal'] = array("type" => "select", "display_name" => "Award Medal", "sortorder" => $i++, "tooltip" => "Auto-award a medal to a member who donates.", "attributes" => array("class" => "formInput textBox"), "db_name" => "awardmedal", "options" => $medalOptions);
}
$consoleObj->select($cID);
if (!is_array($arrSelectRecur)) {
    $arrSelectRecur['months'] = "selected";
コード例 #3
0
ファイル: paypal-ipn.php プロジェクト: nsystem1/clanscripts
<?php

include "../../_setup.php";
include "classes/donate-paypalclass.php";
include "classes/donation.php";
include "classes/campaign.php";
$donationPlugin = new btPlugin($mysqli);
if ($donationPlugin->selectByName("Donations")) {
    $donationObj = new Donation($mysqli);
    $p = new paypal_class();
    $arrColumns = array("donationcampaign_id", "member_id", "name", "message", "datesent", "amount", "paypalemail", "transaction_id", "response");
    $p->setMode($donationPlugin->getConfigInfo("mode"));
    if ($p->validate_ipn() && $p->ipn_data['payment_status'] != "Failed" && $p->ipn_data['payment_status'] != "Denied") {
        $member = new Member($mysqli);
        $campaignObj = new DonationCampaign($mysqli);
        $arrData = $p->ipn_data;
        $data = json_encode($arrData);
        $customVars = json_decode($arrData['custom'], true);
        if ($campaignObj->select($customVars['campaign_id']) && $member->select($customVars['member_id'])) {
            $campaignName = $campaignObj->get_info_filtered("title");
            $medalID = $campaignObj->get_info("awardmedal");
            $member->awardMedal($medalID, "Donated to " . $campaignName . " campaign");
        }
        $arrValues = array($customVars['campaign_id'], $customVars['member_id'], $customVars['name'], $customVars['message'], time(), $arrData['mc_gross'], $arrData['payer_email'], $arrData['txn_id'], $data);
        $donationObj->addNew($arrColumns, $arrValues);
    } else {
        $data = json_encode($p->ipn_data);
        $data = "ERROR: - " . $p->last_error . " - " . $data;
        $donationObj->logError($data);
    }
}
コード例 #4
0
ファイル: twitch.css.php プロジェクト: nsystem1/clanscripts
<?php

header("Content-type: text/css");
include "../../_setup.php";
include BASE_DIRECTORY . "themes/" . $THEME . "/css.php";
if ($arrCSSInfo['box-bg-image'] != "none") {
    $arrCSSInfo['box-bg-image'] = substr($arrCSSInfo['box-bg-image'], strlen("url('"));
    $arrCSSInfo['box-bg-image'] = substr($arrCSSInfo['box-bg-image'], 0, strlen($arrCSSInfo['box-bg-image']) - 2);
}
$pluginObj = new btPlugin($mysqli);
$pluginObj->selectByName("Twitch");
$streamWidth = $pluginObj->getConfigInfo("stream_width") != "" ? $pluginObj->getConfigInfo("stream_width") : 640;
$streamHeight = $pluginObj->getConfigInfo("stream_height") != "" ? $pluginObj->getConfigInfo("stream_height") : 360;
$streamChatHeight = $pluginObj->getConfigInfo("streamchat_width") != "" ? $pluginObj->getConfigInfo("streamchat_height") : 300;
?>
.streamPageContainer {
	position: relative;
	overflow: auto;
	margin: 0px auto;
	width: 98%;
}

.twitchCardContainer {
	max-width: 320px;
	width: 26%;
	display: inline-block;
	padding: 10px;
	border: solid <?php 
echo $arrCSSInfo['default-border-color'];
?>
 1px;
コード例 #5
0
ファイル: index.php プロジェクト: nsystem1/clanscripts
        $hooksObj->addHook("breadcrumb", "setThankYouPageBreadcrumb");
        break;
    default:
        if (isset($_GET['custom']) && isset($_GET['payment_status'])) {
            $customVars = json_decode($_GET['custom'], true);
            header("Location: " . FULL_SITE_URL . "plugins/donations/?campaign_id=" . $customVars['campaign_id'] . "&p=thankyou");
        } else {
            $webInfoObj->setPage("plugins/donations/include/main.php");
        }
}
$campaignObj = new DonationCampaign($mysqli);
$donationPlugin = new btPlugin($mysqli);
if (!$donationPlugin->selectByName("Donations") || !$campaignObj->select($_GET['campaign_id'])) {
    echo "<script type='text/javascript'>window.location = '" . $MAIN_ROOT . "';</script>";
    exit;
} elseif ($donationPlugin->selectByName("Donations") && $donationPlugin->getConfigInfo("email") == "") {
    echo "\n\t\t<script type='text/javascript'>\n\t\t\talert('Please complete the plugin configuration before continuing!');\n\t\t\twindow.location = '" . $MAIN_ROOT . "';\n\t\t</script>\n\t";
    exit;
}
$campaignObj->updateCurrentPeriod();
$campaignInfo = $campaignObj->get_info_filtered();
// Start Page
$PAGE_NAME = $campaignInfo['title'] . " - ";
include $prevFolder . "themes/" . $THEME . "/_header.php";
$member = new Member($mysqli);
$breadcrumbObj->setTitle($campaignInfo['title']);
$breadcrumbObj->addCrumb("Home", $MAIN_ROOT);
$breadcrumbObj->addCrumb("Donation Campaign: " . $campaignInfo['title']);
include $prevFolder . "include/breadcrumb.php";
$webInfoObj->displayPage();
include $prevFolder . "themes/" . $THEME . "/_footer.php";
コード例 #6
0
<?php

include "../../_setup.php";
include "classes/donate-paypalclass.php";
include_once "classes/campaign.php";
$donationPlugin = new btPlugin($mysqli);
$campaignObj = new DonationCampaign($mysqli);
$customVars = array();
if ($donationPlugin->selectByName("Donations") && $donationPlugin->getConfigInfo("email") != "" && $campaignObj->select($_GET['campaign_id'])) {
    $notifyURL = FULL_SITE_URL . "plugins/donations/paypal-ipn.php";
    $p = new paypal_class();
    $member = new Member($mysqli);
    $campaignInfo = $campaignObj->get_info_filtered();
    $p->setMode($donationPlugin->getConfigInfo("mode"));
    $link = $p->paypal_url . "?cmd=_donations";
    $_POST['business'] = $donationPlugin->getConfigInfo("email");
    $_POST['item_name'] = "Donation for " . $campaignInfo['title'];
    $_POST['notify_url'] = $notifyURL;
    $_POST['rm'] = 1;
    $_POST['return'] = FULL_SITE_URL . "plugins/donations/?campaign_id=" . $_GET['campaign_id'] . "&p=thankyou";
    if ($campaignInfo['currency'] != "") {
        $_POST['currency_code'] = $campaignInfo['currency'];
    }
    // Check For Custom Variables
    if (isset($_SESSION['btUsername']) && isset($_SESSION['btPassword']) && $member->select($_SESSION['btUsername']) && $member->authorizeLogin($_SESSION['btPassword'])) {
        $customVars['member_id'] = $member->get_info("member_id");
    }
    $customVars['campaign_id'] = $_GET['campaign_id'];
    $addToLink = "";
    $customVals = array("name", "message", "hideamount");
    $filterFormInputs = array("submit", "checkCSRF");
コード例 #7
0
ファイル: stream.php プロジェクト: nsystem1/clanscripts
<?php

if (!defined("MAIN_ROOT")) {
    exit;
}
$member = new Member($mysqli);
$twitchObj = new Twitch($mysqli);
$pluginObj = new btPlugin($mysqli);
$pluginObj->selectByName("Twitch");
if (!$member->select($_GET['user']) || !$twitchObj->hasTwitch($_GET['user'])) {
    echo "\n\t\t\t<script type='text/javascript'>window.location='" . MAIN_ROOT . "plugins/twitch'</script>\n\t\t";
    exit;
}
$twitchName = $twitchObj->getTwitchName($twitchObj->data['memberID']);
$autoPlay = $pluginObj->getConfigInfo("autoplay") == "1" ? "true" : "false";
?>


<div class='twitchPlayerContainer'>
	<object class='twitchPlayer' type='application/x-shockwave-flash' id='live_embed_player_flash' data='http://www.twitch.tv/widgets/live_embed_player.swf?channel=<?php 
echo $twitchName;
?>
' bgcolor='#000000'>
		<param name='allowFullScreen' value='true' /><param name='wmode' value='opaque' />
		<param name='allowScriptAccess' value='always' /><param name='allowNetworking' value='all' />
		<param name='movie' value='http://www.twitch.tv/widgets/live_embed_player.swf' />
		<param name='flashvars' value='hostname=www.twitch.tv&channel=<?php 
echo $twitchName;
?>
&auto_play=<?php 
echo $autoPlay;