<?php /** * @version $Id: $ * @package CBSubs (TM) Community Builder Plugin for Paid Subscriptions (TM) * @subpackage Template for Paid Subscriptions * @copyright (C) 2007-2015 and Trademark of Lightning MultiCom SA, Switzerland - www.joomlapolis.com - and its licensors, all rights reserved * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU/GPL version 2 */ /** ensure this file is being included by a parent file */ if (!(defined('_VALID_CB') || defined('_JEXEC') || defined('_VALID_MOS'))) { die('Direct Access to this location is not allowed.'); } /** @noinspection PhpIncludeInspection */ include_once cbpaidApp::getAbsoluteFilePath('views/product.php'); /** * VIEW: User subscription view class * */ class cbpaidProductusersubscriptionView extends cbpaidProductView { public $periodPrice; /** * Returns the version of the implemented View * * @return int */ public function version() { return 1; }
/** * includes CB paid subs stuff * --- usage: cbimport('cb.xml.simplexml'); * * @param string $lib * @return void */ public static function import($lib) { static $imported = array(); // Auto-loader ignore for backwards-compatibility: Added in CBSubs 2.1: if (in_array($lib, array('condition', 'countries', 'userparams', 'guisubs', 'scheduler', 'ctrl', 'crosstotalizer', 'creditcards', 'hostedpage'))) { return; } if (!isset($imported[$lib])) { $imported[$lib] = true; $liblow = str_replace(array("'", '"', '/', "\\", ".."), '', strtolower($lib)); $pathAr = explode('.', $liblow); if ($pathAr[0] === 'plugin') { if ($pathAr[2] == 'salestax') { // Beat made a mistake for salestax naming folder and file tax: $pathAr[1] = 'tax'; $pathAr[2] = 'tax'; } $filename = 'cbsubs.' . array_pop($pathAr); $pathAr[1] = 'cbsubs' . $pathAr[1]; } elseif ($pathAr[0] === 'products') { $filename = 'cbpaidProduct' . ucfirst(array_pop($pathAr)); } else { $filename = 'cbpaidsubscriptions.' . array_pop($pathAr); } $filepath = implode('/', $pathAr) . (count($pathAr) ? '/' : '') . $filename . '.php'; /** @noinspection PhpIncludeInspection */ include_once cbpaidApp::getAbsoluteFilePath($filepath); } }
<?php /** * @version $Id: cbpaidsubscriptions.swisspostfinance.php 1465 2012-07-10 17:37:13Z beat $ * @package CBSubs (TM) Community Builder Plugin for Paid Subscriptions (TM) * @subpackage Plugin for Paid Subscriptions * @copyright (C) 2007-2014 and Trademark of Lightning MultiCom SA, Switzerland - www.joomlapolis.com - and its licensors, all rights reserved * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU/GPL version 2 */ /** ensure this file is being included by a parent file */ if ( ! ( defined( '_VALID_CB' ) || defined( '_JEXEC' ) || defined( '_VALID_MOS' ) ) ) { die( 'Direct Access to this location is not allowed.' ); } /** @noinspection PhpIncludeInspection */ include_once cbpaidApp::getAbsoluteFilePath( 'processors/ogone/cbpaidsubscriptions.ogone.php' ); /** * SwissPost Finance overrides done in XML */ class cbpaidswisspostfinance extends cbpaidogoneoem { } /** * SwissPost Finance overrides done in XML */ class cbpaidGatewayAccountswisspostfinance extends cbpaidGatewayAccountogoneoem { }
/** * WARNING: UNCHECKED ACCESS! On purpose unchecked access for M2M operations * Generates the HTML to display for a specific component-like page for the tab. WARNING: unchecked access ! * @param null $tab * @param UserTable $user the user being displayed * @param int $ui 1 for front-end, 2 for back-end * @param array $postdata _POST data for saving edited tab content as generated with getEditTab * @return mixed either string HTML for tab content, or false if ErrorMSG generated */ public function getCBpluginComponent($tab, &$user, $ui, &$postdata) { global $_CB_framework, $ueConfig, $_GET; cbpaidErrorHandler::on(); $result = null; $do = cbGetParam($_GET, 'do'); switch ($do) { case null: $return = $this->getTabComponent($tab, $user, $ui, $postdata); cbpaidErrorHandler::keepTurnedOn(); break; case 'display_subscriptions': if ($user && $user->id && $_CB_framework->myId()) { $regTitle = strip_tags(CBPTXT::T($this->params->get('regTitle', "Subscriptions"))); outputCbTemplate(); $_CB_framework->setPageTitle($regTitle); $_CB_framework->appendPathWay($regTitle); $pre = '<div class="cbPageOuter"><div class="cbPageInner">'; $post = '</div></div><div class="cbClr"> </div>'; $return = $pre . $this->displayUserTab($user) . $post; } else { if ($_CB_framework->getCfg('allowUserRegistration') == '0' && (!isset($ueConfig['reg_admin_allowcbregistration']) || $ueConfig['reg_admin_allowcbregistration'] != '1')) { $return = _UE_NOT_AUTHORIZED . '<br />' . _UE_DO_LOGIN; } else { /* $registrationUrl = cbSef( 'index.php?option=com_comprofiler&task=registers' ); $registrationLink = '<a href="' . $registrationUrl . '">' . _UE_REGISTER . '</a>'; $loginRegisterText = sprintf( CBPTXT::Th("Please login or %s"), $registrationLink ); $return = _UE_NOT_AUTHORIZED . '<br /><br />' . $loginRegisterText; */ $accessPlans = null; $return = cbpaidControllerOffer::displaySpecificPlans($accessPlans, null, $user, ''); } } break; case 'accessdenied': $params = cbpaidApp::settingsParams(); $accessRedirectLink = $params->get('subscriptionNeededRedirectLink'); if ($accessRedirectLink) { $textMessage = $params->get('subscriptionNeededText', "A membership is needed for access."); $return = null; cbRedirect(cbSef($accessRedirectLink, false), CBPTXT::T($textMessage), 'warning'); } else { /** @noinspection PhpIncludeInspection */ include_once cbpaidApp::getAbsoluteFilePath('plugin/cbsubscontent/cbsubs.content_deniedview.php'); $accessDeniedView = new cbpaidContentAccessDeniedView(); $return = $accessDeniedView->display($user, $this); } break; case 'displayplans': $plansParam = cbGetParam($_GET, 'plans'); $plans = null; $preselect = null; if ($plansParam) { $plansParam = explode('-', $plansParam); foreach ($plansParam as $p) { $pN = (int) $p; if ($pN) { $plans[] = $pN; if (substr($p, -1) == 's') { $preselect[] = $pN; } } } } if ($user === null || $user->id == $_CB_framework->myId()) { $introText = CBPTXT::Th($this->params->get('plansDisplayIntroText', "We suggest subscribing to following subscriptions:")); $return = cbpaidControllerOffer::displaySpecificPlans($plans, $preselect, $user, $introText); } else { $return = _UE_NOT_AUTHORIZED; } break; case 'massexpire': // cron $params = cbpaidApp::settingsParams(); $key = cbGetParam($_GET, 'key'); if ($key && $key == md5($params->get('license_number')) && $params->get('massexpirymethod', 0) >= 2) { $limit = $params->get('massexpirynumber', 100); // mass-expire 100 subscriptions at a time on the way if not exipring a particular user: $plansMgr = cbpaidPlansMgr::getInstance(); $plansMgr->checkAllSubscriptions((int) $limit); $return = null; } else { $return = CBPTXT::Th("Invalid mass-expiry link: link is in global CBSubs settings."); } break; case 'autopayments': // cron $params = cbpaidApp::settingsParams(); $key = cbGetParam($_GET, 'key'); if ($key && $key == md5($params->get('license_number'))) { $limit = $params->get('massautorenewalsnumber', 100); // mass-autorenew 100 subscriptions at a time: $results = cbpaidOrdersMgr::getInstance()->triggerScheduledAutoRecurringPayments((int) $limit); $return = implode("\r\n\r\n", $results); $massrenewalemail = trim($params->get('massrenewalemail', '')); if ($massrenewalemail) { cbimport('cb.notification'); $recipients = explode(',', $massrenewalemail); if ($return) { $body = CBPTXT::T("CBSubs has just processed auto-recurring payments as follows:") . "\r\n\r\n" . $return . "\r\n\r\n" . CBPTXT::T("This is an automated email, do not reply.") . "\r\n\r\n"; comprofilerMail('', '', $recipients, CBPTXT::T("CBSubs has processed auto-recurring payments"), $body); } } if ($params->get('massrenewaloutputincron', 1) != 1) { // silence output to Cron: $return = null; } } else { $return = CBPTXT::Th("Invalid auto-renewals link: link is in global CBSubs settings."); } break; default: $return = sprintf(CBPTXT::Th("No valid %s action chosen"), '"do"') . '.'; break; } cbpaidErrorHandler::off(); return $return; }
<?php /** * @version $Id: $ * @package CBSubs (TM) Community Builder Plugin for Paid Subscriptions (TM) * @subpackage Template for Paid Subscriptions * @copyright (C) 2007-2014 and Trademark of Lightning MultiCom SA, Switzerland - www.joomlapolis.com - and its licensors, all rights reserved * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU/GPL version 2 */ /** ensure this file is being included by a parent file */ if ( ! ( defined( '_VALID_CB' ) || defined( '_JEXEC' ) || defined( '_VALID_MOS' ) ) ) { die( 'Direct Access to this location is not allowed.' ); } /** @noinspection PhpIncludeInspection */ include_once cbpaidApp::getAbsoluteFilePath( 'views/productusersubscription.php' ); /** * VIEW: Merchandise view class * */ class cbpaidProductmerchandiseView extends cbpaidProductusersubscriptionView { }
/** * DO NOT USE ANYMORE * @obsolete since CBSubs 1.1 * * @param boolean $absolute * @return string */ function cbpaidPath( $absolute = true ) { return cbpaidApp::getAbsoluteFilePath( '', $absolute ); }
<?php /** * @version $Id: $ * @package CBSubs (TM) Community Builder Plugin for Paid Subscriptions (TM) * @subpackage Template for Paid Subscriptions * @copyright (C) 2007-2014 and Trademark of Lightning MultiCom SA, Switzerland - www.joomlapolis.com - and its licensors, all rights reserved * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU/GPL version 2 */ /** ensure this file is being included by a parent file */ if ( ! ( defined( '_VALID_CB' ) || defined( '_JEXEC' ) || defined( '_VALID_MOS' ) ) ) { die( 'Direct Access to this location is not allowed.' ); } /** @noinspection PhpIncludeInspection */ include_once cbpaidApp::getAbsoluteFilePath( 'views/something.php' ); /** * VIEW: Subscriptions view class * */ class cbpaidsomethingusersubscriptionView extends cbpaidSomethingViewView { /** * Draws the subscription for registrations and profile views * * @param string $insertBeforeValidity HTML text to insert after this item description but before validity * @param string $insertAfterDescription HTML text to insert after this item as sub-items * @param boolean $showStateCheckMark If check/cross-marks for ->active state should be drawn * @return string */ public function drawSomething( $insertBeforeValidity, $insertAfterDescription, $showStateCheckMark = true ) { parent::drawSomething( $insertBeforeValidity, $insertAfterDescription, $showStateCheckMark ); return $this->display(); }