/** * * MemberMouse(TM) (http://www.membermouse.com) * (c) MemberMouse, LLC. All rights reserved. */ ?> <style> #mm-dialog-container { height:100%; width:100%; border-collapse:collapse; } .mm-dialog-button-bar { width:100%; height:40px; text-align:right; } </style> <table id="mm-dialog-container"> <tr><td valign="top"> <div> <?php $product = new MM_Product($p->productId); if ($product->isValid()) { $context = new MM_Context(); $context->setProduct($product); echo MM_SmartTagUtil::processContent($product->getPurchaseConfirmationMessage(), $context); } else { echo "Invalid product ID '{$p->productId}'"; } ?> </div> </td></tr> <tr><td valign="bottom" class="mm-dialog-button-bar"> <a href="javascript:pymtutils_js.placeOrderCardOnFile(<?php echo $p->userId; ?>
<?php /** * * MemberMouse(TM) (http://www.membermouse.com) * (c) MemberMouse, LLC. All rights reserved. */ $view = new MM_ProductView(); $dataGrid = new MM_DataGrid($_REQUEST, "id", "desc", 10); $data = $view->getViewData($dataGrid); $dataGrid->setTotalRecords($data); $dataGrid->recordName = "product"; $rows = array(); foreach ($data as $key => $item) { $product = new MM_Product($item->id); // Actions $editActionUrl = 'onclick="mmjs.edit(\'mm-products-dialog\', \'' . $product->getId() . '\', 580, 600)"'; $deleteActionUrl = 'onclick="mmjs.remove(\'' . $product->getId() . '\')"'; $actions = MM_Utils::getEditIcon("Edit Product", '', $editActionUrl); if (!MM_Product::isBeingUsed($product->getId()) && !MM_Product::hasBeenPurchased($product->getId())) { $actions .= MM_Utils::getDeleteIcon("Delete Product", 'margin-left:5px;', $deleteActionUrl); } else { $actions .= MM_Utils::getDeleteIcon("This product is currently being used and cannot be deleted", 'margin-left:5px;', '', true); } $purchaseLinks = '<a title="Get purchase links" onclick="mmjs.showPurchaseLinks(' . $product->getId() . ',\'' . htmlentities(addslashes($product->getName()), ENT_QUOTES) . '\')" class="mm-ui-button" style="margin:0px;">' . MM_Utils::getIcon('money', '', '1.3em', '1px', '', 'margin-right:0px;') . '</a>'; // Associated Access $accessGranted = ""; $membership = $product->getAssociatedMembership(); if ($membership->isValid()) { $accessGranted .= MM_Utils::getAccessIcon(MM_OrderItemAccess::$ACCESS_TYPE_MEMBERSHIP); $accessGranted .= " <a href='" . MM_ModuleUtils::getUrl(MM_MODULE_PRODUCT_SETTINGS, MM_MODULE_MEMBERSHIP_LEVELS) . "&autoload=" . $membership->getId() . "'>" . $membership->getName() . "</a>";
<?php /** * * MemberMouse(TM) (http://www.membermouse.com) * (c) MemberMouse, LLC. All rights reserved. */ $product = new MM_Product($p->id); $enableNumberOfPayments = $product->doLimitPayments() ? "" : "disabled='disabled'"; $associatedMembership = $product->getAssociatedMembership(); $associatedBundle = $product->getAssociatedBundle(); $noAccessAssociation = !$associatedMembership->isValid() && !$associatedBundle->isValid() ? true : false; if ($associatedMembership->isValid()) { $lastAccessAssociationType = "membership"; $lastAccessAssociationId = $associatedMembership->getId(); } else { if ($associatedBundle->isValid()) { $lastAccessAssociationType = "bundle"; $lastAccessAssociationId = $associatedBundle->getId(); } else { $lastAccessAssociationType = ""; $lastAccessAssociationId = ""; } } $hasBeenPurchased = false; if ($product->isValid()) { $hasBeenPurchased = MM_Product::hasBeenPurchased($product->getId()); } $periodsArr = array('days' => 'days', 'weeks' => 'weeks', 'months' => 'months', 'years' => 'years'); $trialFrequencyList = MM_HtmlUtils::generateSelectionsList($periodsArr, $product->getTrialFrequency()); $rebillFrequencyList = MM_HtmlUtils::generateSelectionsList($periodsArr, $product->getRebillFrequency());
<br/><br/> <span style="font-size:11px;"> Default Product<?php echo MM_Utils::getInfoIcon("Customers can purchase any of the products above to sign up for this membership level. It's also possible for customers to sign up for the membership directly in which case they'll end up purchasing the default product. You can specify the default product below."); ?> </span> <br/> <select id='mm-default-product-id' > <?php if ($product->isValid() && $product->getId() > 0) { $products = $membership->getProductIds(); $productsArr = array(); if (is_array($products)) { foreach ($products as $pid) { $p = new MM_Product($pid); $productsArr[$pid] = $p->getName(); } $selections = MM_HtmlUtils::generateSelectionsList($productsArr, $product->getId()); if (empty($selections)) { echo "<option value=''>Select a product</option>"; } else { echo $selections; } } else { echo "<option value=''>Select a product</option>"; } ?> <?php } else { echo "<option value=''>Select a product</option>";
/** * * MemberMouse(TM) (http://www.membermouse.com) * (c) MemberMouse, LLC. All rights reserved. */ $view = new MM_LimeLightProductsView(); $dataGrid = new MM_DataGrid($_REQUEST, "limelight_campaign_name", "asc", 10); $data = $view->getViewData($dataGrid); $dataGrid->setTotalRecords($data); $dataGrid->recordName = "product mapping"; $rows = array(); foreach ($data as $key => $item) { $mmProductName = MM_NO_DATA; $mmProductDescription = MM_NO_DATA; $product = new MM_Product($item->membermouse_product_id); if ($product->isValid()) { $mmProductName = $product->getName(); $mmProductDescription = $product->getBillingDescription() . " "; if ($product->hasTrial()) { $mmProductDescription .= MM_Utils::getIcon('clock-o', 'beige', '1.3em', '2px', 'Has Trial', 'margin-right:5px;'); } if ($product->isRecurring()) { if ($product->doLimitPayments()) { $mmProductDescription .= MM_Utils::getIcon('calendar-o', 'beige', '1.3em', '2px', 'Payment Plan', 'margin-right:5px;'); } else { $mmProductDescription .= MM_Utils::getIcon('refresh', 'beige', '1.3em', '2px', 'Subscription', 'margin-right:5px;'); } } if ($product->isShippable()) { $mmProductDescription .= MM_Utils::getIcon('truck', 'beige', '1.3em', '2px', 'Requires Shipping', 'margin-right:5px;');
$prod = new MM_Product(); $selectedProds = array(); $id = 0; if (isset($p->id)) { $id = $p->id; } $coupon = new MM_Coupon($id); $prods = $coupon->getProducts(); if (!$coupon->isValid()) { $coupon->setStartDate(Date("m/d/Y")); } $editable = ""; if (MM_Coupon::isBeingUsed($coupon->getId())) { $editable = "disabled='disabled'"; } $products = MM_HtmlUtils::createCheckboxGroup(MM_Product::getAll(), "mm_products", $prods); ?> <div id="mm-coupons-container"> <table cellspacing="10"> <tr> <td width="140">Name*</td> <td><input type='hidden' id='id' value='<?php echo $coupon->getId(); ?> ' /> <input id="mm_coupon_name" type="text" value='<?php echo $coupon->getCouponName(); ?> ' style='width:300px;' /> </td> </tr>
* (c) MemberMouse, LLC. All rights reserved. */ $limeLightProduct = new MM_LimeLightProduct($p->id); $limeLightService = MM_PaymentServiceFactory::getPaymentService(MM_PaymentService::$LIMELIGHT_SERVICE_TOKEN); ?> <div id="mm-form-container"> <table cellspacing="10"> <tr> <td width="150">MemberMouse Product</td> <td> <select name='mm_product_id' id='mm_product_id' onchange="mmjs.getMMProductDescription();"> <?php $unmappedProducts = MM_LimeLightProduct::getUnmappedProducts(); // add currently selected product if ($limeLightProduct->isValid()) { $product = new MM_Product($limeLightProduct->getMMProductId()); if ($product->isValid()) { $unmappedProducts[$limeLightProduct->getMMProductId()] = $product->getName(); } } echo MM_HtmlUtils::generateSelectionsList($unmappedProducts, $limeLightProduct->getMMProductId()); ?> </select> <div id="mm_product_description" style="margin-top:10px;"></div> </td> </tr> <tr> <td colspan="2"> <div style="width: 98%; margin-top: 8px;" class="mm-divider"></div>
public static function getNextPaymentDate($startDate, $productId) { $product = new MM_Product($productId); $start = strtotime($startDate); if ($product->isRecurring(false)) { $period = $product->getRebillPeriod(); $freq = $product->getRebillFrequency(); $newdate = null; switch ($freq) { case "months": $months = floor((mktime() - $start) / 2628000); $newStart = strtotime($months . ' month', strtotime($start)); $newdate = strtotime($period . ' month', strtotime($newStart)); break; case "days": $days = self::countDays(Date("Y-m-d h:i:s"), $startDate); $diff = $days > $period ? intval($days / $period) : 1; $newStart = strtotime($diff . ' day', strtotime($start)); $newdate = strtotime($period . ' day', strtotime($newStart)); break; case "weeks": $days = self::countDays(Date("Y-m-d h:i:s"), $startDate); $weeks = $days > 7 ? intval($days / 7) : 1; $diff = $weeks > $period ? intval($weeks / $period) : 1; $newStart = strtotime($diff . ' week', strtotime($start)); $newdate = strtotime($period . ' week', strtotime($newStart)); break; case "years": $days = self::countDays(Date("Y-m-d h:i:s"), $startDate); $years = $days > 365 ? intval($days / 365) : 1; $diff = $years > $period ? intval($years / $period) : 1; $newStart = strtotime($diff . ' year', strtotime($start)); $newdate = strtotime($period . ' year', strtotime($newStart)); break; } if (!is_null($newdate)) { return $newdate; } } return false; }
<?php if (!$bundle->isFree()) { ?> <p>MemberMouse offers two methods for creating purchase links. First, select the product you want to create a purchase link for and then use one of the links below to allow customers to purchase access to the '<?php echo $p->accessTypeName; ?> ' bundle.</p> <input id="mm-last-selected-product-id" type="hidden" value="0" /> <select id="mm-product-selector" onchange="mmjs.productChangeHandler();"> <option value='0'>Select a product</option> <?php foreach ($p->productIds as $id) { $product = new MM_Product($id); if ($product->isValid()) { echo "<option value='{$product->getId()}'>{$product->getName()}</option>"; } } ?> </select> <?php foreach ($p->productIds as $id) { generatePurchaseSection($id); } } else { ?> <p>Cannot create purchase links for free bundles.</p> <?php
public function postCustomColumns($column_name, $postId) { if ($column_name === 'core_page_type') { $data = ""; if (MM_CorePage::isDefaultCorePage($postId)) { $data = MM_Utils::getDefaultFlag("", "", true, 'margin-right:5px;'); } $cp = MM_CorePage::getCorePageInfo($postId); if (isset($cp->core_page_type_name)) { switch ($cp->core_page_type_id) { case MM_CorePageType::$FREE_CONFIRMATION: $data .= "Confirmation (Free)"; break; default: $data .= $cp->core_page_type_name; break; } } if (empty($data)) { echo MM_NO_DATA; } else { echo $data; } } else { if ($column_name === 'access_rights') { /// display access rights for post/page $associations = MM_ProtectedContentEngine::getAccessRights($postId); if (count($associations) <= 0) { $memberTypesStr = ""; $accessTagStr = ""; $pages = MM_CorePage::getCorePagesByPageID($postId); if (is_array($pages)) { foreach ($pages as $page) { switch ($page->ref_type) { case "product": $product = new MM_Product($page->ref_id); $membership = $product->getAssociatedMembership(); if ($membership->isValid()) { if (empty($memberTypesStr)) { $memberTypesStr = MM_Utils::getAccessIcon(MM_OrderItemAccess::$ACCESS_TYPE_MEMBERSHIP, '', 'margin-right:4px;'); } $memberTypesStr .= $membership->getName() . ", "; } $bundle = $product->getAssociatedBundle(); if ($bundle->isValid()) { if (empty($accessTagStr)) { $accessTagStr = MM_Utils::getAccessIcon(MM_OrderItemAccess::$ACCESS_TYPE_BUNDLE, '', 'margin-right:4px;'); } $accessTagStr .= $bundle->getName() . ", "; } break; case "member_type": if (empty($memberTypesStr)) { $memberTypesStr = MM_Utils::getAccessIcon(MM_OrderItemAccess::$ACCESS_TYPE_MEMBERSHIP, '', 'margin-right:4px;'); } $memberTypesStr .= $page->mt_name . ", "; break; case "access_tag": if (empty($accessTagStr)) { $accessTagStr = MM_Utils::getAccessIcon(MM_OrderItemAccess::$ACCESS_TYPE_BUNDLE, '', 'margin-right:4px;'); } $accessTagStr .= $page->at_name . ", "; break; } } } if (empty($memberTypesStr) && empty($accessTagStr)) { echo MM_NO_DATA; } else { if (strlen($memberTypesStr) > 0) { $memberTypesStr = substr($memberTypesStr, 0, strlen($memberTypesStr) - 2); } if (strlen($accessTagStr) > 0) { $accessTagStr = substr($accessTagStr, 0, strlen($accessTagStr) - 2); } echo $memberTypesStr . " " . $accessTagStr; } } else { $memberTypesStr = ""; $accessTagStr = ""; foreach ($associations as $rights) { switch ($rights->access_type) { case "member_type": if (empty($memberTypesStr)) { $memberTypesStr = MM_Utils::getAccessIcon(MM_OrderItemAccess::$ACCESS_TYPE_MEMBERSHIP, '', 'margin-right:4px;'); } $memberTypesStr .= $rights->mt_name . ", "; break; case "access_tag": if (empty($accessTagStr)) { $accessTagStr = MM_Utils::getAccessIcon(MM_OrderItemAccess::$ACCESS_TYPE_BUNDLE, '', 'margin-right:4px;'); } $accessTagStr .= $rights->at_name . ", "; break; } } if (empty($memberTypesStr) && empty($accessTagStr)) { echo MM_NO_DATA; } else { if (strlen($memberTypesStr) > 0) { $memberTypesStr = substr($memberTypesStr, 0, strlen($memberTypesStr) - 2); } if (strlen($accessTagStr) > 0) { $accessTagStr = substr($accessTagStr, 0, strlen($accessTagStr) - 2); } echo $memberTypesStr . " " . $accessTagStr; } } } } }
$dataGrid->recordName = "product"; break; case MM_TYPE_CUSTOM_FIELD: $dataGrid->recordName = "custom field"; break; } $rows = array(); $headers = array('action' => array('content' => '', 'attr' => 'style="width:20px;"'), 'id' => array('content' => 'ID', 'attr' => 'style="width:20px;"'), 'name' => array('content' => 'Name')); if ($p->objectType == MM_TYPE_PRODUCT) { $headers['access'] = array('content' => 'Associated Access'); } foreach ($data as $key => $item) { $action = '<a title="Insert ID \'' . $item->id . '\'" onclick="stl_js.insertContent(\'' . $item->id . '\')" style="cursor:pointer;">' . MM_Utils::getIcon('plus-circle', 'green', '1.4em', '1px') . '</a>'; $row_array = array(array('content' => $action), array('content' => $item->id), array('content' => MM_Utils::abbrevString($item->name, 25))); if ($p->objectType == MM_TYPE_PRODUCT) { $product = new MM_Product($item->id); // Associated Access $accessGranted = ""; $membership = $product->getAssociatedMembership(); if ($membership->isValid()) { $accessGranted .= MM_Utils::getAccessIcon(MM_OrderItemAccess::$ACCESS_TYPE_MEMBERSHIP); $accessGranted .= " " . MM_Utils::abbrevString($membership->getName(), 25) . "</a>"; } if (empty($accessGranted)) { $bundle = $product->getAssociatedBundle(); if ($bundle->isValid()) { $accessGranted .= MM_Utils::getAccessIcon(MM_OrderItemAccess::$ACCESS_TYPE_BUNDLE); $accessGranted .= " " . MM_Utils::abbrevString($bundle->getName(), 25) . "</a>"; } } if (empty($accessGranted)) {
*/ global $current_user; $memberTypeId = $p->member_type_id; $user = new MM_User($current_user->ID); $userMemberType = new MM_MembershipLevel($user->getMembershipId()); $memberType = new MM_MembershipLevel($memberTypeId); $costOfNewMemberType = "Free"; if (!$memberType->isFree()) { $product = new MM_Product($memberType->getDefaultProduct()); $costOfNewMemberType = "\$" . $product->getPrice(true); } $refund = "N/A"; $refundFloat = 0; $currentMembershipPrice = "Free"; if (!$userMemberType->isFree()) { $existingProduct = new MM_Product($userMemberType->getDefaultProduct()); if ($existingProduct->isValid()) { $currentMembershipPrice = "\$" . $existingProduct->getPrice(true); } } ?> <input type='hidden' id='mm-member-type-id' value='<?php echo $memberTypeId; ?> ' /> <table style='font-size: 14px;'> <tr> <td style='font-size: 14px;'> Are you sure you'd like to change your membership level from <?php echo $user->getMembershipName(); ?>