$wpdb->query($sql); // transaction options, custom fields : mgm_transaction_options $sql = "CREATE TABLE IF NOT EXISTS `" . TBL_MGM_TRANSACTION_OPTION . "` (\r\r\n\t\t`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,\r\r\n\t\t`transaction_id` bigint(20) UNSIGNED NOT NULL,\t\t\t\r\r\n\t\t`option_name` VARCHAR( 255 ) NOT NULL ,\r\r\n\t\t`option_value` TEXT NOT NULL,\r\r\n\t\t UNIQUE KEY `transaction_id` (`transaction_id`,`option_name`)\r\r\n\t\t) {$charset_collate} COMMENT = 'transaction options'"; $wpdb->query($sql); // protected urls : mgm_post_protected_urls $sql = "CREATE TABLE IF NOT EXISTS `" . TBL_MGM_POST_PROTECTED_URL . "` (\r\r\n\t\t`id` BIGINT(20) UNSIGNED AUTO_INCREMENT,\r\r\n\t\t`url` VARCHAR(255) NOT NULL,\r\r\n\t\t`post_id` BIGINT(20) UNSIGNED NULL,\r\r\n\t\t`membership_types` TEXT NULL,\t\t\r\r\n\t\tPRIMARY KEY (`id`)\r\r\n\t\t) {$charset_collate} COMMENT = 'protected post url'"; $wpdb->query($sql); // rest api keys : mgm_rest_api_keys $sql = "CREATE TABLE IF NOT EXISTS `" . TBL_MGM_REST_API_KEY . "` (\r\r\n\t\t`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,\r\r\n\t\t`api_key` varchar(40) NOT NULL,\r\r\n\t\t`level` smallint(5) UNSIGNED NOT NULL,\t\t\r\r\n\t\t`create_dt` DATETIME NOT NULL,\r\r\n\t\tPRIMARY KEY (`id`)\r\r\n\t\t) {$charset_collate} COMMENT = 'rest api keys'"; $wpdb->query($sql); // rest api levels : mgm_rest_api_levels $sql = "CREATE TABLE IF NOT EXISTS `" . TBL_MGM_REST_API_LEVEL . "` (\r\r\n\t\t`id` smallint(5) UNSIGNED NOT NULL AUTO_INCREMENT,\r\r\n\t\t`level` smallint(5) UNSIGNED NOT NULL,\r\r\n\t\t`name` varchar(100) NOT NULL,\r\r\n\t\t`permissions` text NOT NULL,\r\r\n\t\t`limits` int(11) UNSIGNED NULL,\r\r\n\t\tPRIMARY KEY (`id`)\r\r\n\t\t) {$charset_collate} COMMENT = 'rest api access levels'"; $wpdb->query($sql); // rest api logs : mgm_rest_api_logs $sql = "CREATE TABLE IF NOT EXISTS `" . TBL_MGM_REST_API_LOG . "` (\r\r\n\t\t`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,\r\r\n\t\t`api_key` varchar(40) NOT NULL,\r\r\n\t\t`uri` varchar(255) NOT NULL,\r\r\n\t\t`method` varchar(6) NOT NULL,\r\r\n\t\t`params` text NOT NULL,\t\t\r\r\n\t\t`ip_address` varchar(15) NOT NULL,\t\t\r\r\n\t\t`is_authorized` enum('Y','N') NOT NULL,\r\r\n\t\t`create_dt` DATETIME NOT NULL,\r\r\n\t\tPRIMARY KEY (`id`)\r\r\n\t\t) {$charset_collate} COMMENT = 'rest api logs'"; $wpdb->query($sql); // login logs : multiple_login_records $sql = "CREATE TABLE IF NOT EXISTS `" . TBL_MGM_MULTIPLE_LOGIN_RECORDS . "` (\r\r\n\t \t`id` bigint(20) NOT NULL AUTO_INCREMENT,\r\r\n\t \t`user_id` bigint(20) DEFAULT NULL,\r\r\n\t \t`pack_id` int(11) DEFAULT NULL,\r\r\n\t \t`ip_address` varchar(30) NOT NULL,\r\r\n\t \t`login_at` datetime,\r\r\n\t \t`logout_at` datetime NULL DEFAULT NULL,\t \t\r\r\n\t \tPRIMARY KEY (`id`)\r\r\n\t) {$charset_collate} COMMENT = 'multiple login records'"; $wpdb->query($sql); // ---------------------------------------------- country data --------------------------------------------------------- // insert countries $sql = "INSERT IGNORE INTO `" . TBL_MGM_COUNTRY . "` (`id`, `name`, `code`) VALUES \r\r\n\t\t(1, 'Asia/Pacific Region', 'AP'), (2, 'Europe', 'EU'), (3, 'Andorra', 'AD'), \r\r\n\t\t(4, 'United Arab Emirates', 'AE'), (5, 'Afghanistan', 'AF'), (6, 'Antigua and Barbuda', 'AG'), \r\r\n\t\t(7, 'Anguilla', 'AI'), (8, 'Albania', 'AL'), (9, 'Armenia', 'AM'), (10, 'Netherlands Antilles', 'AN'), (11, 'Angola', 'AO'),\r\r\n\t\t(12, 'Antarctica', 'AQ'), (13, 'Argentina', 'AR'), (14, 'American Samoa', 'AS'), (15, 'Austria', 'AT'), \r\r\n\t\t(16, 'Australia', 'AU'), (17, 'Aruba', 'AW'), (18, 'Azerbaijan', 'AZ'), (19, 'Bosnia and Herzegovina', 'BA'), \r\r\n\t\t(20, 'Barbados', 'BB'), (21, 'Bangladesh', 'BD'), (22, 'Belgium', 'BE'), (23, 'Burkina Faso', 'BF'), \r\r\n\t\t(24, 'Bulgaria', 'BG'), (25, 'Bahrain', 'BH'), (26, 'Burundi', 'BI'), (27, 'Benin', 'BJ'), (28, 'Bermuda', 'BM'), \r\r\n\t\t(29, 'Brunei Darussalam', 'BN'), (30, 'Bolivia', 'BO'), (31, 'Brazil', 'BR'), (32, 'Bahamas', 'BS'), (33, 'Bhutan', 'BT'), \r\r\n\t\t(34, 'Bouvet Island', 'BV'), (35, 'Botswana', 'BW'), (36, 'Belarus', 'BY'), (37, 'Belize', 'BZ'), (38, 'Canada', 'CA'), \r\r\n\t\t(39, 'Cocos (Keeling) Islands', 'CC'), (40, 'Congo, The Democratic Republic of the', 'CD'), (41, 'Central African Republic', 'CF'), \r\r\n\t\t(42, 'Congo', 'CG'), (43, 'Switzerland', 'CH'), (44, 'Cote D\\'Ivoire', 'CI'), (45, 'Cook Islands', 'CK'), \r\r\n\t\t(46, 'Chile', 'CL'), (47, 'Cameroon', 'CM'), (48, 'China', 'CN'), (49, 'Colombia', 'CO'), (50, 'Costa Rica', 'CR'), \r\r\n\t\t(51, 'Cuba', 'CU'), (52, 'Cape Verde', 'CV'), (53, 'Christmas Island', 'CX'), (54, 'Cyprus', 'CY'), \r\r\n\t\t(55, 'Czech Republic', 'CZ'), (56, 'Germany', 'DE'), (57, 'Djibouti', 'DJ'), (58, 'Denmark', 'DK'), \r\r\n\t\t(59, 'Dominica', 'DM'), (60, 'Dominican Republic', 'DO'), (61, 'Algeria', 'DZ'), (62, 'Ecuador', 'EC'), \r\r\n\t\t(63, 'Estonia', 'EE'), (64, 'Egypt', 'EG'), (65, 'Western Sahara', 'EH'), (66, 'Eritrea', 'ER'), (67, 'Spain', 'ES'), \r\r\n\t\t(68, 'Ethiopia', 'ET'), (69, 'Finland', 'FI'), (70, 'Fiji', 'FJ'), (71, 'Falkland Islands (Malvinas)', 'FK'), \r\r\n\t\t(72, 'Micronesia, Federated States of', 'FM'), (73, 'Faroe Islands', 'FO'), (74, 'France', 'FR'), \r\r\n\t\t(75, 'France, Metropolitan', 'FX'), (76, 'Gabon', 'GA'), (77, 'United Kingdom', 'GB'), (78, 'Grenada', 'GD'), \r\r\n\t\t(79, 'Georgia', 'GE'), (80, 'French Guiana', 'GF'), (81, 'Ghana', 'GH'), (82, 'Gibraltar', 'GI'), (83, 'Greenland', 'GL'), \r\r\n\t\t(84, 'Gambia', 'GM'), (85, 'Guinea', 'GN'), (86, 'Guadeloupe', 'GP'), (87, 'Equatorial Guinea', 'GQ'), (88, 'Greece', 'GR'), \r\r\n\t\t(89, 'South Georgia and the South Sandwich Islands', 'GS'), (90, 'Guatemala', 'GT'), (91, 'Guam', 'GU'), (92, 'Guinea-Bissau', 'GW'), \r\r\n\t\t(93, 'Guyana', 'GY'), (94, 'Hong Kong', 'HK'), (95, 'Heard Island and McDonald Islands', 'HM'), (96, 'Honduras', 'HN'), (97, 'Croatia', 'HR'), \r\r\n\t\t(98, 'Haiti', 'HT'), (99, 'Hungary', 'HU'), (100, 'Indonesia', 'ID'), (101, 'Ireland', 'IE'), (102, 'Israel', 'IL'), (103, 'India', 'IN'), \r\r\n\t\t(104, 'British Indian Ocean Territory', 'IO'), (105, 'Iraq', 'IQ'), (106, 'Iran, Islamic Republic of', 'IR'), (107, 'Iceland', 'IS'), (108, 'Italy', 'IT'),\r\r\n\t\t(109, 'Jamaica', 'JM'), (110, 'Jordan', 'JO'), (111, 'Japan', 'JP'), (112, 'Kenya', 'KE'), (113, 'Kyrgyzstan', 'KG'), (114, 'Cambodia', 'KH'),\r\r\n\t\t(115, 'Kiribati', 'KI'), (116, 'Comoros', 'KM'), (117, 'Saint Kitts and Nevis', 'KN'), (118, 'Korea, Democratic People\\'s Republic of', 'KP'), \r\r\n\t\t(119, 'Korea, Republic of', 'KR'), (120, 'Kuwait', 'KW'), (121, 'Cayman Islands', 'KY'), (122, 'Kazakstan', 'KZ'),\r\r\n\t\t(123, 'Lao People\\'s Democratic Republic', 'LA'), (124, 'Lebanon', 'LB'), (125, 'Saint Lucia', 'LC'), (126, 'Liechtenstein', 'LI'), \r\r\n\t\t(127, 'Sri Lanka', 'LK'), (128, 'Liberia', 'LR'), (129, 'Lesotho', 'LS'), (130, 'Lithuania', 'LT'), (131, 'Luxembourg', 'LU'), \r\r\n\t\t(132, 'Latvia', 'LV'), (133, 'Libyan Arab Jamahiriya', 'LY'), (134, 'Morocco', 'MA'), (135, 'Monaco', 'MC'), \r\r\n\t\t(136, 'Moldova, Republic of', 'MD'), (137, 'Madagascar', 'MG'), (138, 'Marshall Islands', 'MH'), (139, 'Macedonia', 'MK'), \r\r\n\t\t(140, 'Mali', 'ML'), (141, 'Myanmar', 'MM'), (142, 'Mongolia', 'MN'), (143, 'Macau', 'MO'), (144, 'Northern Mariana Islands', 'MP'), \r\r\n\t\t(145, 'Martinique', 'MQ'), (146, 'Mauritania', 'MR'), (147, 'Montserrat', 'MS'), (148, 'Malta', 'MT'), (149, 'Mauritius', 'MU'), \r\r\n\t\t(150, 'Maldives', 'MV'), (151, 'Malawi', 'MW'), (152, 'Mexico', 'MX'), (153, 'Malaysia', 'MY'), (154, 'Mozambique', 'MZ'), \r\r\n\t\t(155, 'Namibia', 'NA'), (156, 'New Caledonia', 'NC'), (157, 'Niger', 'NE'), (158, 'Norfolk Island', 'NF'), (159, 'Nigeria', 'NG'), \r\r\n\t\t(160, 'Nicaragua', 'NI'), (161, 'Netherlands', 'NL'), \r\r\n\t\t(162, 'Norway', 'NO'), (163, 'Nepal', 'NP'), (164, 'Nauru', 'NR'), (165, 'Niue', 'NU'), (166, 'New Zealand', 'NZ'),\r\r\n\t\t(167, 'Oman', 'OM'), (168, 'Panama', 'PA'), (169, 'Peru', 'PE'), (170, 'French Polynesia', 'PF'), (171, 'Papua New Guinea', 'PG'), \r\r\n\t\t(172, 'Philippines', 'PH'), (173, 'Pakistan', 'PK'), (174, 'Poland', 'PL'), (175, 'Saint Pierre and Miquelon', 'PM'), \r\r\n\t\t(176, 'Pitcairn Islands', 'PN'), (177, 'Puerto Rico', 'PR'), (178, 'Palestinian Territory', 'PS'), (179, 'Portugal', 'PT'),\r\r\n\t\t(180, 'Palau', 'PW'), (181, 'Paraguay', 'PY'), (182, 'Qatar', 'QA'), (183, 'Reunion', 'RE'), (184, 'Romania', 'RO'),\r\r\n\t\t(185, 'Russian Federation', 'RU'), (186, 'Rwanda', 'RW'), (187, 'Saudi Arabia', 'SA'), (188, 'Solomon Islands', 'SB'), \r\r\n\t\t(189, 'Seychelles', 'SC'), (190, 'Sudan', 'SD'), (191, 'Sweden', 'SE'), (192, 'Singapore', 'SG'), (193, 'Saint Helena', 'SH'),\r\r\n\t\t(194, 'Slovenia', 'SI'), (195, 'Svalbard and Jan Mayen', 'SJ'), (196, 'Slovakia', 'SK'), (197, 'Sierra Leone', 'SL'), \r\r\n\t\t(198, 'San Marino', 'SM'), (199, 'Senegal', 'SN'), (200, 'Somalia', 'SO'), (201, 'Suriname', 'SR'), \r\r\n\t\t(202, 'Sao Tome and Principe', 'ST'), (203, 'El Salvador', 'SV'), (204, 'Syrian Arab Republic', 'SY'),\r\r\n\t\t(205, 'Swaziland', 'SZ'), (206, 'Turks and Caicos Islands', 'TC'), (207, 'Chad', 'TD'), (208, 'French Southern Territories', 'TF'), \r\r\n\t\t(209, 'Togo', 'TG'), (210, 'Thailand', 'TH'), (211, 'Tajikistan', 'TJ'), (212, 'Tokelau', 'TK'), (213, 'Turkmenistan', 'TM'),\r\r\n\t\t(214, 'Tunisia', 'TN'), (215, 'Tonga', 'TO'), (216, 'Timor-Leste', 'TL'), (217, 'Turkey', 'TR'), (218, 'Trinidad and Tobago', 'TT'),\r\r\n\t\t(219, 'Tuvalu', 'TV'), (220, 'Taiwan', 'TW'), (221, 'Tanzania, United Republic of', 'TZ'), (222, 'Ukraine', 'UA'), (223, 'Uganda', 'UG'), \r\r\n\t\t(224, 'United States Minor Outlying Islands', 'UM'), (225, 'United States', 'US'), (226, 'Uruguay', 'UY'), (227, 'Uzbekistan', 'UZ'),\r\r\n\t\t(228, 'Holy See (Vatican City State)', 'VA'), (229, 'Saint Vincent and the Grenadines', 'VC'), (230, 'Venezuela', 'VE'), \r\r\n\t\t(231, 'Virgin Islands, British', 'VG'), (232, 'Virgin Islands, U.S.', 'VI'), (233, 'Vietnam', 'VN'), (234, 'Vanuatu', 'VU'), \r\r\n\t\t(235, 'Wallis and Futuna', 'WF'), (236, 'Samoa', 'WS'), (237, 'Yemen', 'YE'), (238, 'Mayotte', 'YT'), (239, 'Serbia', 'RS'), \r\r\n\t\t(240, 'South Africa', 'ZA'), (241, 'Zambia', 'ZM'), (242, 'Montenegro', 'ME'), (243, 'Zimbabwe', 'ZW'), (244, 'Anonymous Proxy', 'A1'), \r\r\n\t\t(245, 'Satellite Provider', 'A2'), (246, 'Other', 'O1'), (247, 'Aland Islands', 'AX'), (248, 'Guernsey', 'GG'), (249, 'Isle of Man', 'IM'),\r\r\n\t\t(250, 'Jersey', 'JE'), (251, 'Saint Barthelemy', 'BL'), (252, 'Saint Martin', 'MF');"; $wpdb->query($sql); // ---------------------------------------------- api default data --------------------------------------------------------- // level $sql = "INSERT IGNORE INTO `" . TBL_MGM_REST_API_LEVEL . "` (`id`, `level`, `name`, `permissions`, `limits`) VALUES \r\r\n\t\t (1, 1, 'full access', '[]', 1000);"; $wpdb->query($sql); // keys $sql = "INSERT IGNORE INTO `" . TBL_MGM_REST_API_KEY . "` (`id`, `api_key`, `level`, `create_dt`) VALUES \r\r\n\t\t (1, '" . mgm_create_token() . "', '1', NOW());"; $wpdb->query($sql); // end of file
function _get_button_data($pack, $tran_id = NULL) { // system setting $system_obj = mgm_get_class('system'); $user_id = $pack['user_id']; // user email if (isset($pack['user_id'])) { $user_id = $pack['user_id']; $user = get_userdata($user_id); $user_email = $user->user_email; } // item $item = $this->get_pack_item($pack); //pack currency over rides genral setting currency - issue #1602 if (!isset($pack['currency']) || empty($pack['currency'])) { $pack['currency'] = $this->setting['currency']; } // setup data array $data = array('PARTNER' => $this->setting['partner'], 'VENDOR' => $this->setting['vendor'], 'USER' => $this->setting['username'], 'PWD' => $this->setting['password'], 'CURRENCY' => $pack['currency'], 'TRXTYPE' => 'S', 'INVNUM' => $tran_id, 'AMT' => $pack['cost'], 'CREATESECURETOKEN' => 'Y', 'VERBOSITY' => 'HIGH', 'SECURETOKENID' => mgm_create_token('unique', 36), 'COMMENT1' => $this->_remove_special_chars($item['name'])); // additional fields if (isset($user)) { // email if (isset($user_email) && !empty($user_email)) { $data['EMAIL'] = $user_email; } $this->_set_address_fields($user, $data); } // subscription purchase with ongoing/limited if (!isset($pack['buypost']) && isset($pack['duration_type'])) { // standard check //$data['BILLINGTYPE'] = 'RecurringBilling';// MerchantInitiatedBilling for BAID error as suggested by PayPal $data['L_BILLINGTYPE0'] = 'MerchantInitiatedBilling'; $data['_TRAILER_PASSTHROUGH'] = 'Y'; } // update currency - issue #1602 /* if($pack['currency'] != $this->setting['currency']){ $pack['currency'] = $this->setting['currency']; }*/ // strip $data = mgm_stripslashes_deep($data); // add filter @todo test $data = apply_filters('mgm_payment_button_data', $data, $tran_id, $this->module, $pack); // update pack/transaction mgm_update_transaction(array('data' => json_encode($pack), 'module' => $this->module), $tran_id); // return data return $data; }
/** * get post purchase buttons * final step for post purchase * * @param void * @return $html */ function mgm_get_post_purchase_buttons() { // get current user data - issue #1421 $user = wp_get_current_user(); // pack $pack = NULL; // addon options if ($addon_option_ids = mgm_post_var('addon_options')) { $addon_options = mgm_get_addon_options_only($addon_option_ids); // mgm_pr($addon_options); } // post purchase if (isset($_POST['post_id'])) { //issue #1250 if (isset($_POST['mgm_postpurchase_field']['coupon']) && !empty($_POST['mgm_postpurchase_field']['coupon'])) { //issue #1250 - Coupon validation if (!empty($_POST['form_action'])) { // check if its a valid coupon if (!($coupon = mgm_get_coupon_data($_POST['mgm_postpurchase_field']['coupon']))) { //redirect back to the form $q_arg = array('error_field' => 'Coupon', 'error_type' => 'invalid', 'error_field_value' => $_POST['mgm_postpurchase_field']['coupon']); $redirect = add_query_arg($q_arg, $_POST['form_action']); mgm_redirect($redirect); exit; } } } // post id $post_id = $_POST['post_id']; // gete mgm data $post_obj = mgm_get_post($post_id); $cost = mgm_convert_to_currency($post_obj->purchase_cost); $product = $post_obj->product; $allowed_modules = $post_obj->allowed_modules; // post data $post = get_post($post_id); $title = $post->post_title; // item name -issue #1380 $item_name = apply_filters('mgm_post_purchase_itemname', sprintf(__('Purchase Post - %s', 'mgm'), $title)); // set pack $pack = array('duration' => 1, 'item_name' => $item_name, 'buypost' => 1, 'cost' => $cost, 'title' => $title, 'product' => $product, 'post_id' => $post_id, 'allowed_modules' => $allowed_modules); } else { if (isset($_POST['postpack_id'])) { // post pack purchase //issue #1250 if (isset($_POST['mgm_postpurchase_field']['coupon']) && !empty($_POST['mgm_postpurchase_field']['coupon'])) { //issue #1250 - Coupon validation if (!empty($_POST['form_action'])) { // check if its a valid coupon if (!($coupon = mgm_get_coupon_data($_POST['mgm_postpurchase_field']['coupon']))) { //redirect back to the form $q_arg = array('error_field' => 'Coupon', 'error_type' => 'invalid', 'error_field_value' => $_POST['mgm_postpurchase_field']['coupon']); $redirect = add_query_arg($q_arg, $_POST['form_action']); mgm_redirect($redirect); exit; } } } // post pack purchase $postpack_id = $_POST['postpack_id']; // pcak id $postpack_post_id = $_POST['postpack_post_id']; // post id where pack is listed, redirect here // get pack $postpack = mgm_get_postpack($postpack_id); $cost = mgm_convert_to_currency($postpack->cost); $product = json_decode($postpack->product, true); $modules = json_decode($postpack->modules, true); //mgm_pr($postpack); // item name -issue #1380 $item_name = apply_filters('mgm_postpack_purchase_itemname', sprintf(__('Purchase Post Pack - %s', 'mgm'), $postpack->name)); // post id $post_id = mgm_get_postpack_posts_csv($postpack_id); // set pack $pack = array('duration' => 1, 'item_name' => $item_name, 'buypost' => 1, 'cost' => $cost, 'title' => $postpack->name, 'product' => $product, 'post_id' => $post_id, 'postpack_id' => $postpack_id, 'postpack_post_id' => $postpack_post_id, 'allowed_modules' => $modules); } } // check if (!$pack) { return __('Error in Payment! No data available '); exit; } // guest token -issue #1421 if (isset($_POST['guest_purchase']) && $_POST['guest_purchase'] == TRUE && $user->ID <= 0) { $pack['guest_token'] = sanitize_title_for_query(mgm_create_token()); } // addon options if (isset($addon_options) && !empty($addon_options)) { $pack['addon_options'] = $addon_options; } // get coupon $post_purchase_coupon = mgm_save_partial_fields(array('on_postpurchase' => true), 'mgm_postpurchase_field', $pack['cost'], false, 'postpurchase'); // alter mgm_get_post_purchase_coupon_pack($post_purchase_coupon, $pack); // Eg: $_POST['mgm_payment_gateways'] = mgm_paypal $cf_payment_gateways = isset($_POST['mgm_payment_gateways']) && !empty($_POST['mgm_payment_gateways']) ? $_POST['mgm_payment_gateways'] : null; // bypass step2 if payment gateway is submitted: issue #: 469 if (!is_null($cf_payment_gateways)) { // get pack // mgm_get_upgrade_coupon_pack($member, $selected_pack); // cost if ((double) $pack['cost'] > 0) { //get an object of the payment gateway: $mod_obj = mgm_get_module($cf_payment_gateways, 'payment'); // tran options $tran_options = array('user_id' => $user->ID); // is register & purchase if (isset($_POST['post_id'])) { $tran_options['post_id'] = (int) $_POST['post_id']; } // postpack id if (isset($_POST['postpack_id'])) { $tran_options['postpack_id'] = (int) $_POST['postpack_id']; } // is register & purchase postpack if (isset($_POST['postpack_post_id']) && isset($_POST['postpack_id'])) { $tran_options['postpack_post_id'] = (int) $_POST['postpack_post_id']; $tran_options['postpack_id'] = (int) $_POST['postpack_id']; } // create transaction $tran_id = mgm_add_transaction($pack, $tran_options); // bypass directly to process return if manual payment: if ($cf_payment_gateways == 'mgm_manualpay') { // set $_POST['custom'] = $tran_id; // direct call to module return function: $mod_obj->process_return(); // exit exit; } // encode id: $tran_id = mgm_encode_id($tran_id); $redirect = $mod_obj->_get_endpoint('html_redirect', true); $redirect = add_query_arg(array('tran_id' => $tran_id), $redirect); // redirect mgm_redirect($redirect); // this goes to subscribe, mgm_functions.php/mgm_get_subscription_buttons // exit exit; } } // get payment modules $a_payment_modules = mgm_get_class('system')->get_active_modules('payment'); // init $payment_modules = array(); // when active if ($a_payment_modules) { // loop foreach ($a_payment_modules as $payment_module) { // not trial if (in_array($payment_module, array('mgm_free', 'mgm_trial'))) { continue; } // store $payment_modules[] = $payment_module; } } // init $button = ''; // transaction $tran_id = NULL; $button_printed = 0; // loop modules foreach ($payment_modules as $module) { // object $mod_obj = mgm_get_module($module, 'payment'); // check buypost support if (in_array('buypost', $mod_obj->supported_buttons)) { // create transaction if (!$tran_id) { $tran_id = mgm_add_transaction($pack); } // button code if (isset($pack['allowed_modules'])) { // Issue #1562: If no payment module is selected, display all supported modules if (!empty($pack['allowed_modules']) && FALSE === in_array($module, $pack['allowed_modules'])) { continue; } } $button_code = $mod_obj->get_button_buypost(array('pack' => $pack, 'tran_id' => $tran_id), true); $button_printed++; // get button $button .= "<div class='mgm_custom_filed_table'>" . $button_code . "</div>"; } } // none active if ($button_printed == 0) { $button .= sprintf('<p class="mgm-no-module"> %s </p>', __('No Payment module active for this Content Purchase.', 'mgm')); } // if Cost is zero, then process using free module.: issue#: 883 if ($tran_id && $pack['cost'] == 0 && in_array('mgm_free', $a_payment_modules) && mgm_get_module('mgm_free')->is_enabled()) { // module $module = 'mgm_free'; // payments url $payments_url = mgm_get_custom_url('transactions'); // query_args $query_args = array('method' => 'payment_return', 'module' => $module, 'custom' => $tran_id); // redirector if (isset($_REQUEST['redirector'])) { // set $query_args['redirector'] = $_REQUEST['redirector']; } // redirect to module to mark the payment as complete $redirect = add_query_arg($query_args, $payments_url); // redirect mgm_redirect($redirect); } // html $return = '<div class="post_purchase_select_gateway">' . __('Please Select a Payment Gateway.', 'mgm') . '</div>' . $button; // return return $return; }
<b><?php _e('Add Key', 'mgm'); ?> </b> </div> </div> <div class="row brBottom"> <div class="cell width120px"> <span class="required"><?php _e('API Key', 'mgm'); ?> </span>: </div> <div class="cell textalignleft"> <input type="text" name="api_key" size="40" maxlength="40" value="<?php echo mgm_create_token(); ?> "/> </div> </div> <div class="row brBottom"> <div class="cell width120px"> <span class="required"><?php _e('Level', 'mgm'); ?> </span>: </div> <div class="cell textalignleft"> <select name="level" class="width50px"> <?php echo mgm_make_combo_options($data['levels'], 1, MGM_VALUE_ONLY);