コード例 #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
ファイル: 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);
    }
}
コード例 #3
0
 * Bluethrust Clan Scripts v4
 * Copyright 2014
 *
 * Author: Bluethrust Web Development
 * E-mail: support@bluethrust.com
 * Website: http://www.bluethrust.com
 *
 * License: http://www.bluethrust.com/license.php
 *
 */
if (!isset($pluginObj)) {
    exit;
}
include_once BASE_DIRECTORY . "plugins/donations/classes/campaign.php";
$arrPaypalCurrencyCodes = DonationCampaign::getCurrencyCodes();
$arrPaypalCurrencyInfo = DonationCampaign::getCurrencyCodeInfo();
$configInfo = $pluginObj->getConfigInfo();
$i = 0;
$arrComponents = array("email" => array("type" => "text", "attributes" => array("class" => "textBox formInput"), "display_name" => "Paypal E-mail", "sortorder" => $i++, "value" => $configInfo['email'], "validate" => array("NOT_BLANK")), "mode" => array("type" => "select", "attributes" => array("class" => "textBox formInput"), "display_name" => "Mode", "options" => array("" => "Sandbox", "live" => "Live"), "sortorder" => $i++, "value" => $configInfo['mode'], "validate" => array("RESTRICT_TO_OPTIONS"), "tooltip" => "You can use sandbox mode to test donations without real money.  You will have to set up test accounts with Paypal in order to use Sandbox mode"), "defaultcurrency" => array("type" => "select", "attributes" => array("class" => "textBox formInput"), "display_name" => "Default Currency", "options" => $arrPaypalCurrencyCodes, "sortorder" => $i++, "validate" => array("RESTRICT_TO_OPTIONS"), "value" => $configInfo['currency']), "goalprogresscolor" => array("type" => "colorpick", "value" => $configInfo['goalprogresscolor'], "sortorder" => $i++, "attributes" => array("class" => "formInput textBox", "id" => "goalColor"), "display_name" => "Progressbar Front Color"), "goalprogressbackcolor" => array("type" => "colorpick", "value" => $configInfo['goalprogressbackcolor'], "sortorder" => $i++, "attributes" => array("class" => "formInput textBox", "id" => "goalBackColor"), "display_name" => "Progressbar Back Color"), "thankyou" => array("type" => "richtextbox", "attributes" => array("class" => "textBox formInput", "id" => "thankYouMessage", "style" => "width: 100%", "rows" => 15), "display_name" => "Thank You Page Message", "sortorder" => $i++, "value" => $configInfo['thankyou'], "allowHTML" => true), "submit" => array("type" => "submit", "value" => "Save", "sortorder" => $i++, "attributes" => array("class" => "submitButton formSubmitButton")));
$setupFormArgs = array("name" => "pluginsettings-" . $_GET['plugin'], "components" => $arrComponents, "description" => "Use the form below to configure the donation plugin.", "attributes" => array("action" => $MAIN_ROOT . "plugins/settings.php?plugin=" . $_GET['plugin'], "method" => "post"), "afterSave" => array("saveDonationSettings"), "saveMessage" => "Donation Settings Saved!", "saveLink" => $MAIN_ROOT . "members/console.php?cID=" . $cID);
function saveDonationSettings()
{
    global $pluginObj;
    $arrFilter = array("<?", "?>", "<script>", "</script>");
    foreach ($arrFilter as $filterOut) {
        $_POST['thankyou'] = str_replace($filterOut, "", $_POST['thankyou']);
    }
    $pluginObj->addConfigValue("email", $_POST['email']);
    $pluginObj->addConfigValue("mode", $_POST['mode']);
    $pluginObj->addConfigValue("currency", $_POST['defaultcurrency']);
    $pluginObj->addConfigValue("thankyou", $_POST['thankyou']);
コード例 #4
0
ファイル: index.php プロジェクト: nsystem1/clanscripts
switch ($_GET['p']) {
    case "history":
        break;
    case "thankyou":
        $webInfoObj->setPage("plugins/donations/include/thankyou.php");
        $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']);
コード例 #5
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");
コード例 #6
0
 *
 * License: http://www.bluethrust.com/license.php
 *
 */
if (!isset($member) || substr($_SERVER['PHP_SELF'], -11) != "console.php") {
    exit;
} else {
    $memberInfo = $member->get_info_filtered();
    $consoleObj->select($_GET['cID']);
    if (!$member->hasAccess($consoleObj)) {
        exit;
    }
}
$cID = $_GET['cID'];
include_once BASE_DIRECTORY . "plugins/donations/classes/campaign.php";
$campaignObj = new DonationCampaign($mysqli);
$objManageList = new btOrderManageList($campaignObj);
$objManageList->strMainListLink = BASE_DIRECTORY . "plugins/donations/console/managecampaign_main.php";
if ($_GET['campaignID'] != "" && $campaignObj->select($_GET['campaignID']) && $_GET['action'] == "edit") {
    include "managecampaign_edit.php";
} elseif ($_GET['action'] == "delete" && $campaignObj->select($_POST['itemID'])) {
    $info = $campaignObj->get_info_filtered();
    $objManageList->strDeleteName = $info['title'];
    $objManageList->strDeletePostVarID = "campaignID";
} elseif ($_GET['p'] == "log" && $campaignObj->select($_GET['campaignID'])) {
    include BASE_DIRECTORY . "plugins/donations/console/donationlog.php";
} elseif (isset($_GET['donationID']) && $campaignObj->donationObj->select($_GET['donationID'])) {
    include BASE_DIRECTORY . "plugins/donations/console/donationdetails.php";
} else {
    include $objManageList->strMainListLink;
}