/** * This function creates a product Form * * Creates a Form for a product using the supplied defaults (if specified). * * @param array $product array of values describing a proudct * @return string HTML string of product form */ function PAYPAL_getProductForm($product = array(), $type = 'product') { global $_CONF, $_PAY_CONF, $LANG_PAYPAL_1, $LANG_PAYPAL_ADMIN, $LANG_PAYPAL_PRO, $_TABLES, $LANG24, $LANG_ADMIN, $LANG_ACCESS, $_USER, $_GROUPS, $_SCRIPTS; //PHP 5.4 set all $product[key] PAYPAL_setAllKeys($product, array('type', 'name', 'id', 'category', 'cat_id', 'short_description', 'description', 'item_id', 'price', 'price_ref', 'discount_a', 'discount_p', 'logged', 'hidden', 'active', 'show_in_blocks', 'customisable', 'product_type', 'file', 'weight', 'shipping_type', 'expiration', 'duration', 'duration_type', 'duration_recurrent', 'duration_type_recurrent', 'add_to_group', 'add_to_group_recurrent', 'perm_owner', 'owner_id', 'group_id', 'perm_group', 'perm_members', 'perm_anon')); //Validate product type if ($_REQUEST['type'] == '' && $product['type'] == '') { $type = 'product'; } foreach ($_PAY_CONF['types'] as $item => $value) { $types[$item] = $item; } if (!in_array($type, $types)) { return $LANG_PAYPAL_1['wrong_type']; } //Display form $product['name'] == '' ? $display = COM_startBlock($LANG_PAYPAL_1['create_new_product']) : ($display = COM_startBlock($LANG_PAYPAL_1['edit_label'] . ' ' . $product['name'])); $template = new Template($_CONF['path'] . 'plugins/paypal/templates'); $template->set_file(array('product' => 'product_form.thtml')); $template->set_var('site_url', $_CONF['site_url']); $template->set_var('xhtml', XHTML); if ($_CONF['advanced_editor'] == 1) { $_SCRIPTS->setJavaScriptLibrary('jquery'); $_SCRIPTS->setJavaScriptFile('ckeditor', '/editors/ckeditor/ckeditor.js'); $ckeditor = ' var geeklogEditorName = "ckeditor"; var geeklogAllowedHtml = []; jQuery(function() { CKEDITOR.replace( \'description\', { customConfig: \'' . $_CONF['site_url'] . '/editors/ckeditor/config.js\', toolbar: \'toolbar0\', height:500 }); });'; $_SCRIPTS->setJavaScript($ckeditor, true); } else { $template->set_var('adveditor', ''); } $product['product_type'] == '' ? $prod_type_ini = 2 : ($prod_type_ini = $product['product_type']); $js = 'jQuery(function () { var tabContainers = jQuery(\'div.tabs > div\'); jQuery(\'div.tabs ul.tabNavigation a\').click(function () { tabContainers.hide().filter(this.hash).show(); jQuery(\'div.tabs ul.tabNavigation a\').removeClass(\'selected\'); jQuery(this).addClass(\'selected\'); return false; }).filter(\':first\').click(); });' . LB; $js .= "jQuery(document).ready(function() {\n\t\tjQuery('#load').hide();\n\t\t});\n\n\t\tjQuery(function() {\n\t\t\tjQuery(\".delete\").click(function() {\n\t\t\t\tjQuery('#load').show();\n\t\t\t\tvar id = jQuery(this).attr(\"id\");\n\t\t\t\tvar pid = jQuery(this).attr(\"pid\");\n\t\t\t\tvar aid = jQuery(this).attr(\"aid\");\n\t\t\t\tvar action = jQuery(this).attr(\"class\");\n\t\t\t\tvar string = 'id='+ id + '&action=' + action + '&pid=' + pid;\n\t\t\t\t\t\n\t\t\t\tjQuery.ajax({\n\t\t\t\t\ttype: \"POST\",\n\t\t\t\t\turl: \"ajax.php\",\n\t\t\t\t\tdata: string,\n\t\t\t\t\tcache: false,\n\t\t\t\t\tasync:false,\n\t\t\t\t\tsuccess: function(result){\n\t\t\t\t\t\tjQuery(\"#attributes_actions\").replaceWith(result);\n\t\t\t\t\t} \n\t\t\t\t});\n\t\t\t\tjQuery('#load').hide();\n\t\t\t\treturn false;\n\t\t\t});\n\t\t\tjQuery(\".add\").click(function() {\n\t\t\t\tjQuery('#load').show();\n\t\t\t\tvar id = jQuery(this).attr(\"id\");\n\t\t\t\tvar pid = jQuery(this).attr(\"pid\");\n\t\t\t\tvar aid = jQuery(this).attr(\"aid\");\n\t\t\t\tvar action = jQuery(this).attr(\"class\");\n\t\t\t\tvar string = 'id='+ id + '&action=' + action + '&pid=' + pid;\n\t\t\t\t\t\n\t\t\t\tjQuery.ajax({\n\t\t\t\t\ttype: \"POST\",\n\t\t\t\t\turl: \"ajax.php\",\n\t\t\t\t\tdata: string,\n\t\t\t\t\tcache: false,\n\t\t\t\t\tasync:false,\n\t\t\t\t\tsuccess: function(result){\n\t\t\t\t\t\tjQuery(\"#attributes_actions\").replaceWith(result);\n\t\t\t\t\t} \n\t\t\t\t});\n\t\t\t\tjQuery('#load').hide();\n\t\t\t\treturn false;\n\t\t\t});\n\t\t});\n\t" . LB; //Hide #attributes if product not customisable if ($product['customisable'] == '0' || $product['customisable'] == '') { $js .= LB . "jQuery(document).ready(function() {\n\t\t jQuery('#attributes_actions').hide();\n\t\t});" . LB; } if ($prod_type_ini == 2) { $js .= LB . "jQuery(document).ready(function() {\n\t\t jQuery('#type_download').hide();\n\t\t});" . LB; } $js .= "\n\tfunction PP_changeCustomisable(value)\n\t{\n\t switch(value) {\n\t case '0':\n\t\tdocument.getElementById('attributes_actions').style.display = 'none';\n\t\tbreak;\n\t case '1':\n\t\tdocument.getElementById('attributes_actions').style.display = '';\n\t\tbreak;\n\t }\n\t}\n\n\t" . LB; $js .= "\n\tfunction PP_changeProdType(value)\n\t{\n\t switch(value) {\n\t case '0':\n\t\tdocument.getElementById('type_download').style.display = 'none';\n\t\tdocument.getElementById('type_physical').style.display = '';\n\t\tbreak;\n\t case '1':\n\t\tdocument.getElementById('type_download').style.display = '';\n\t\tdocument.getElementById('type_physical').style.display = 'none';\n\t\tbreak;\n\t case '2':\n\t\tdocument.getElementById('type_download').style.display = 'none';\n\t\tdocument.getElementById('type_physical').style.display = 'none';\n\t\tbreak;\n\t }\n\t}\n\n\t" . LB; $_SCRIPTS->setJavaScriptLibrary('jquery'); $_SCRIPTS->setJavaScript($js, true); //Product type if ($product['type'] != '') { $template->set_var('product_type', '<input type="hidden" name="type" value="' . $product['type'] . '" />'); } else { $template->set_var('product_type', '<input type="hidden" name="type" value="' . $type . '" />'); } //Product infos $template->set_var('informations', $LANG_PAYPAL_1['product_informations']); if ($_REQUEST['type'] == 'subscription' || $product['type'] == 'subscription') { $template->set_var('informations', $LANG_PAYPAL_1['membership_informations']); } $template->set_var('name_label', $LANG_PAYPAL_1['name_label']); $template->set_var('category_label', $LANG_PAYPAL_1['category_label']); $template->set_var('currency', $_PAY_CONF['currency']); if (is_numeric($product['id'])) { $template->set_var('id', '<input type="hidden" name="id" value="' . $product['id'] . '" />'); } else { $template->set_var('id', ''); } $template->set_var('name', $product['name']); //catogory $template->set_var('category', $product['category']); //categorie $categories = ''; $categories .= '<option value="0">' . $LANG_PAYPAL_ADMIN['choose_category'] . '</option>'; $categories .= PAYPAL_adOptionList($_TABLES['paypal_categories'], 'cat_id,cat_name', $product['cat_id'], 'cat_name', 'enabled=1'); $template->set_var('categories', $categories); //Descriptions $template->set_var('short_description_label', $LANG_PAYPAL_1['short_description_label']); $template->set_var('short_description', strip_tags($product['short_description'])); $template->set_var('description_label', $LANG_PAYPAL_1['description_label']); $template->set_var('description', $product['description']); //item_id $template->set_var('item_id_label', $LANG_PAYPAL_1['item_id_label']); $template->set_var('item_id', $product['item_id']); //Price $template->set_var('price_label', $LANG_PAYPAL_1['price_label']); if (empty($product['price']) || !is_numeric($product['price'])) { $template->set_var('price', 0); } else { $template->set_var('price', number_format($product['price'], $_CONF['decimal_count'])); } $template->set_var('price_edit', $LANG_PAYPAL_1['price_edit']); //Price_ref $template->set_var('price_ref_label', $LANG_PAYPAL_1['price_ref_label']); if (empty($product['price_ref'])) { $template->set_var('price_ref', 0); } else { $template->set_var('price_ref', number_format($product['price_ref'], $_CONF['decimal_count'])); } $template->set_var('price_ref_edit', $LANG_PAYPAL_1['price_ref_edit']); //Discount $template->set_var('discount_legend', $LANG_PAYPAL_1['discount_legend']); $template->set_var('discount_label', $LANG_PAYPAL_1['discount_label']); $template->set_var('discount_a_label', $LANG_PAYPAL_1['discount_a_label']); $template->set_var('discount_p_label', $LANG_PAYPAL_1['discount_p_label']); if (empty($product['discount_a'])) { $template->set_var('discount_a', 0); } else { $template->set_var('discount_a', number_format($product['discount_a'], $_CONF['decimal_count'])); } if (empty($product['discount_p'])) { $template->set_var('discount_p', 0); } else { $template->set_var('discount_p', number_format($product['discount_p'], $_CONF['decimal_count'])); } //access & display $template->set_var('access_display', $LANG_PAYPAL_1['access_display']); //logged $template->set_var('logged_to_purchase', $LANG_PAYPAL_1['logged_to_purchase']); if ($type == 'subscription' || $product['type'] == 'subscription') { $template->set_var('logged_yes', ' selected'); $template->set_var('logged_no', ' disabled="disabled"'); } else { if ($product['logged'] == 1) { $template->set_var('logged_yes', ' selected'); $template->set_var('logged_no', ''); } else { $template->set_var('logged_yes', ''); $template->set_var('logged_no', ' selected'); } } //hidden $template->set_var('hidden', $LANG_PAYPAL_1['hidden_product']); if ($product['hidden'] == 1) { $template->set_var('hidden_yes', ' selected'); $template->set_var('hidden_no', ''); } else { $template->set_var('hidden_yes', ''); $template->set_var('hidden_no', ' selected'); } //active $template->set_var('active', $LANG_PAYPAL_1['active_product']); !isset($product['active']) ? $product['active'] = 1 : NULL; if ($product['active'] == 1) { $template->set_var('active_yes', ' selected'); $template->set_var('active_no', ''); } else { $template->set_var('active_yes', ''); $template->set_var('active_no', ' selected'); } //Show in blocks $template->set_var('show_in_blocks', $LANG_PAYPAL_1['show_in_blocks']); !isset($product['show_in_blocks']) ? $product['show_in_blocks'] = 1 : NULL; if ($product['show_in_blocks'] == 1) { $template->set_var('show_in_blocks_yes', ' selected'); $template->set_var('show_in_blocks_no', ''); } else { $template->set_var('show_in_blocks_yes', ''); $template->set_var('show_in_blocks_no', ' selected'); } //customisable $template->set_var('customisation', $LANG_PAYPAL_ADMIN['customisation']); $template->set_var('customisable', $LANG_PAYPAL_ADMIN['customisable']); if (isset($product['customisable']) && $product['customisable'] == 1) { $template->set_var('customisable_yes', ' selected'); $template->set_var('customisable_no', ''); } else { $template->set_var('customisable_yes', ''); $template->set_var('customisable_no', ' selected'); } if (function_exists('PAYPALPRO_displayAttributes') && $product['id'] != '') { $template->set_var('attributes', PAYPALPRO_displayAttributes($product['id'])); $template->set_var('add_attributes', PAYPALPRO_displayAttributesToAdd($product['id'])); } else { if (function_exists('PAYPALPRO_displayAttributes')) { $template->set_var('attributes', ''); $template->set_var('add_attributes', $LANG_PAYPAL_PRO['add_attributes']); } else { $template->set_var('attributes', '<p>' . $LANG_PAYPAL_PRO['pro_feature'] . '</p>'); $template->set_var('add_attributes', ''); } } //images $template->set_var('lang_images', $LANG_PAYPAL_1['product_images']); $fileinputs = ''; $saved_images = ''; if ($_PAY_CONF['max_images_per_products'] > 0) { if ($product['id'] != '') { $icount = DB_count($_TABLES['paypal_images'], 'pi_pid', $product['id']); if ($icount > 0) { $result_products = DB_query("SELECT * FROM {$_TABLES['paypal_images']} WHERE pi_pid = '" . $product['id'] . "'"); for ($z = 1; $z <= $icount; $z++) { $I = DB_fetchArray($result_products); $saved_images .= '<div><p>' . $z . ') ' . '<a class="lightbox" href="' . $_PAY_CONF['images_url'] . $I['pi_filename'] . '"><img align="top" class="lightbox" src="' . $_PAY_CONF['site_url'] . '/timthumb.php?src=' . $_PAY_CONF['images_url'] . $I['pi_filename'] . '&w=75&h=75&zc=1&q=100" alt="' . $I['pi_filename'] . '" /></a>' . ' ' . $LANG_ADMIN['delete'] . ': <input type="checkbox" name="delete[' . $I['pi_img_num'] . ']"' . XHTML . '><br' . XHTML . '></p></div>'; } } } $newallowed = $_PAY_CONF['max_images_per_products'] - $icount; for ($z = $icount + 1; $z <= $_PAY_CONF['max_images_per_products']; $z++) { $fileinputs .= $z . ') <input type="file" dir="ltr" name="file' . $z . '"' . XHTML . '> '; if ($z < $_PAY_CONF['max_images_per_products']) { $fileinputs .= '<br' . XHTML . '>'; } } } $template->set_var('saved_images', $saved_images); $template->set_var('image_form_elements', $fileinputs); //delivery info $type != 'product' ? $template->set_var('display_product', 'display:none;') : $template->set_var('display_product', ''); $template->set_var('delivery_info_label', $LANG_PAYPAL_ADMIN['delivery_info_label']); $template->set_var('prod_type', $LANG_PAYPAL_ADMIN['prod_type']); $template->set_var('prod_type_ini', $product['product_type']); $template->set_var('customisable_ini', $product['customisable']); $template->set_block('product', 'ProdTypeRadio', 'ProdType'); foreach ($LANG_PAYPAL_ADMIN['prod_types'] as $value => $text) { $template->set_var(array('type_val' => $value, 'type_txt' => $text, 'type_sel' => $product['product_type'] == $value ? 'checked="checked"' : '')); $template->parse('ProdType', 'ProdTypeRadio', true); } //files $template->set_var('filename_label', $LANG_PAYPAL_1['filename_label']); $files = ''; $files_folder = @opendir($_PAY_CONF['download_path']); if (!$files_folder) { $template->set_var('select_file', $LANG_PAYPAL_1['no_download_folder']); $template->set_var('file_selection', ''); } else { while ($file = readdir($files_folder)) { if ($file == '.' || $file == '..') { continue; } $sel = $file == $product['file'] ? ' selected="selected" ' : ''; $files .= "<option value=\"{$file}\" {$sel}>{$file}</option>\n"; } closedir($files_folder); $template->set_var('select_file', $LANG_PAYPAL_1['select_file']); $template->set_var('file_selection', $files); } $template->set_var('upload_new', $LANG_PAYPAL_1['upload_new']); $template->set_var('expiration_label', $LANG_PAYPAL_1['expiration_label']); //weight $template->set_var('weight_label', $LANG_PAYPAL_ADMIN['weight']); if ($product['weight'] == '') { $product['weight'] = '0.000'; } $template->set_var('weight', $product['weight']); $template->set_var('per_item', $LANG_PAYPAL_ADMIN['per_item']); //shipping $template->set_var('shipping_type', $LANG_PAYPAL_ADMIN['shipping_type']); $template->set_var('shipping_type_ini', $product['shipping_type']); $shipping_options = ''; if ($product['shipping_type'] == 0) { $selected0 = ' selected="selected"'; $selected1 = ''; } else { $selected1 = ' selected="selected"'; $selected0 = ''; } $shipping_options .= '<option value="0"' . $selected0 . '>' . $LANG_PAYPAL_ADMIN['shipping_options'][0] . '</option>'; $shipping_options .= '<option value="1"' . $selected1 . '>' . $LANG_PAYPAL_ADMIN['shipping_options'][1] . '</option>'; $template->set_var('shipping_options', $shipping_options); $template->set_var('yes', $LANG_PAYPAL_1['yes']); $template->set_var('no', $LANG_PAYPAL_1['no']); $template->set_var('save_button', $LANG_PAYPAL_1['save_button']); $template->set_var('delete_button', $LANG_PAYPAL_1['delete_button']); $template->set_var('ok_button', $LANG_PAYPAL_1['ok_button']); $template->set_var('required_field', $LANG_PAYPAL_1['required_field']); if ($product['product_type'] == 1) { $template->set_var('download_yes', ' selected'); $template->set_var('download_no', ''); } else { $template->set_var('download_yes', ''); $template->set_var('download_no', ' selected'); } $template->set_var('file', $product['file']); $template->set_var('expiration', $product['expiration']); //Subscription $type != 'subscription' ? $template->set_var('display_subscription', 'display:none;') : $template->set_var('display_subscription', ''); $template->set_var('subscription_product_label', $LANG_PAYPAL_1['subscription_label']); $template->set_var('duration_label', $LANG_PAYPAL_1['duration_label']); $template->set_var('duration', $product['duration']); $product['duration_type'] == 'day' ? $template->set_var('sel_day', ' selected="selected"') : ''; $template->set_var('day', $LANG_PAYPAL_1['day']); $product['duration_type'] == 'week' ? $template->set_var('sel_week', ' selected="selected"') : ''; $template->set_var('week', $LANG_PAYPAL_1['week']); $product['duration_type'] == 'month' ? $template->set_var('sel_month', ' selected="selected"') : ''; $template->set_var('month', $LANG_PAYPAL_1['month']); $product['duration_type'] == 'year' ? $template->set_var('sel_year', ' selected="selected"') : ''; $template->set_var('year', $LANG_PAYPAL_1['year']); //Recurrent if ($type != 'recurrent') { $template->set_var('display_recurrent', 'display:none;'); $template->set_var('add_to_group_label', $LANG_PAYPAL_1['recurrent_add_to_group']); } else { $template->set_var('display_recurrent', ''); } $template->set_var('recurrent_product_label', $LANG_PAYPAL_1['recurrent_product_label']); $template->set_var('add_to_group_label', $LANG_PAYPAL_1['recurrent_add_to_group']); $template->set_var('period_label', $LANG_PAYPAL_1['period_label']); $template->set_var('billing_label', $LANG_PAYPAL_1['billing_label']); $template->set_var('billingamt', $product['billingamt']); $template->set_var('frequency_label', $LANG_PAYPAL_1['frequency_label']); $template->set_var('frequency_help', $LANG_PAYPAL_1['frequency_help']); $template->set_var('duration_recurrent', $product['duration']); $product['duration_type'] == 'Day' ? $template->set_var('sel_recurrent_day', ' selected="selected"') : ''; $template->set_var('recurrent_day', $LANG_PAYPAL_1['recurrent_day']); $product['duration_type'] == 'Week' ? $template->set_var('sel_recurrent_week', ' selected="selected"') : ''; $template->set_var('recurrent_week', $LANG_PAYPAL_1['recurrent_week']); $product['duration_type'] == 'SemiMonth' ? $template->set_var('sel_recurrent_semimonth', ' selected="selected"') : ''; $template->set_var('recurrent_semimonth', $LANG_PAYPAL_1['recurrent_semimonth']); $product['duration_type'] == 'Month' ? $template->set_var('sel_recurrent_month', ' selected="selected"') : ''; $template->set_var('recurrent_month', $LANG_PAYPAL_1['recurrent_month']); $product['duration_type'] == 'Year' ? $template->set_var('sel_recurrent_year', ' selected="selected"') : ''; $template->set_var('recurrent_year', $LANG_PAYPAL_1['recurrent_year']); //Group select list $template->set_var('add_to_group_options', COM_optionList($_TABLES['groups'], 'grp_id,grp_name', $product['add_to_group'], 1)); // Permissions if ($product['perm_owner'] == '') { SEC_setDefaultPermissions($product, $_PAY_CONF['default_permissions']); } $template->set_var('lang_accessrights', $LANG_ACCESS['accessrights']); $template->set_var('lang_owner', $LANG_ACCESS['owner']); if ($product['owner_id'] == '') { $product['owner_id'] = $_USER['uid']; } $ownername = COM_getDisplayName($product['owner_id']); $template->set_var('owner_username', DB_getItem($_TABLES['users'], 'username', "uid = {$product['owner_id']}")); $template->set_var('owner_name', $ownername); $template->set_var('owner', $ownername); $template->set_var('owner_id', $product['owner_id']); if ($product['group_id'] == '') { $product['group_id'] = $_GROUPS['Paypal Admin']; } $template->set_var('lang_group', $LANG_ACCESS['group']); //Todo make group = paypal.admin $access = 3; $template->set_var('group_dropdown', SEC_getGroupDropdown($product['group_id'], $access)); $template->set_var('permissions_editor', SEC_getPermissionsHTML($product['perm_owner'], $product['perm_group'], $product['perm_members'], $product['perm_anon'])); $template->set_var('lang_permissions', $LANG_ACCESS['permissions']); $template->set_var('lang_perm_key', $LANG_ACCESS['permissionskey']); $template->set_var('permissions_msg', $LANG_ACCESS['permmsg']); $template->set_var('lang_permissions_msg', $LANG_ACCESS['permmsg']); $display .= $template->parse('output', 'product'); $display .= COM_endBlock(); return $display; }
return $in; } return $out; } switch ($_POST['action']) { case 'delete': DB_delete($_TABLES['paypal_product_attribute'], 'pa_id', $_POST['id']); echo '<div id="attributes_actions"><div id="attributes_list">' . PAYPALPRO_displayAttributes($_POST['pid']) . '</div>'; echo "<script type=\"text/javascript\">jQuery(document).ready(function() {\n\t\tjQuery('#load').hide();\n\t\t});\n\n\t\tjQuery(function() {\n\t\t\tjQuery(\".delete\").click(function() {\n\t\t\t\tjQuery('#load').show();\n\t\t\t\tvar id = jQuery(this).attr(\"id\");\n\t\t\t\tvar pid = jQuery(this).attr(\"pid\");\n\t\t\t\tvar aid = jQuery(this).attr(\"aid\");\n\t\t\t\tvar action = jQuery(this).attr(\"class\");\n\t\t\t\tvar string = 'id='+ id + '&action=' + action + '&pid=' + pid;\n\t\t\t\t\t\n\t\t\t\tjQuery.ajax({\n\t\t\t\t\ttype: \"POST\",\n\t\t\t\t\turl: \"ajax.php\",\n\t\t\t\t\tdata: string,\n\t\t\t\t\tcache: false,\n\t\t\t\t\tasync:false,\n\t\t\t\t\tsuccess: function(result){\n\t\t\t\t\t\tjQuery(\"#attributes_actions\").replaceWith(result);\n\t\t\t\t\t} \n\t\t\t\t});\n\t\t\t\tjQuery('#load').hide();\n\t\t\t\treturn false;\n\t\t\t});\n\t\t\tjQuery(\".add\").click(function() {\n\t\t\t\tjQuery('#load').show();\n\t\t\t\tvar id = jQuery(this).attr(\"id\");\n\t\t\t\tvar pid = jQuery(this).attr(\"pid\");\n\t\t\t\tvar aid = jQuery(this).attr(\"aid\");\n\t\t\t\tvar action = jQuery(this).attr(\"class\");\n\t\t\t\tvar string = 'id='+ id + '&action=' + action + '&pid=' + pid;\n\t\t\t\t\t\n\t\t\t\tjQuery.ajax({\n\t\t\t\t\ttype: \"POST\",\n\t\t\t\t\turl: \"ajax.php\",\n\t\t\t\t\tdata: string,\n\t\t\t\t\tcache: false,\n\t\t\t\t\tasync:false,\n\t\t\t\t\tsuccess: function(result){\n\t\t\t\t\t\tjQuery(\"#attributes_actions\").replaceWith(result);\n\t\t\t\t\t} \n\t\t\t\t});\n\t\t\t\tjQuery('#load').hide();\n\t\t\t\treturn false;\n\t\t\t});\n\t\t});\n\t</script>"; echo '<div id="attributes_list">' . PAYPALPRO_displayAttributesToAdd($_POST['pid']) . '</div></div>'; break; case 'add': $sql = "pa_pid = '{$_POST['pid']}', " . "pa_aid = '{$_POST['id']}'\n\t\t\t "; $sql = "INSERT INTO {$_TABLES['paypal_product_attribute']} SET {$sql} "; DB_query($sql, $ignore_errors = 0); echo '<div id="attributes_actions"><div id="attributes_list">' . PAYPALPRO_displayAttributes($_POST['pid']) . '</div>'; echo "<script type=\"text/javascript\">jQuery(document).ready(function() {\n\t\tjQuery('#load').hide();\n\t\t});\n\n\t\tjQuery(function() {\n\t\t\tjQuery(\".delete\").click(function() {\n\t\t\t\tjQuery('#load').show();\n\t\t\t\tvar id = jQuery(this).attr(\"id\");\n\t\t\t\tvar pid = jQuery(this).attr(\"pid\");\n\t\t\t\tvar aid = jQuery(this).attr(\"aid\");\n\t\t\t\tvar action = jQuery(this).attr(\"class\");\n\t\t\t\tvar string = 'id='+ id + '&action=' + action + '&pid=' + pid;\n\t\t\t\t\t\n\t\t\t\tjQuery.ajax({\n\t\t\t\t\ttype: \"POST\",\n\t\t\t\t\turl: \"ajax.php\",\n\t\t\t\t\tdata: string,\n\t\t\t\t\tcache: false,\n\t\t\t\t\tasync:false,\n\t\t\t\t\tsuccess: function(result){\n\t\t\t\t\t\tjQuery(\"#attributes_actions\").replaceWith(result);\n\t\t\t\t\t} \n\t\t\t\t});\n\t\t\t\tjQuery('#load').hide();\n\t\t\t\treturn false;\n\t\t\t});\n\t\t\tjQuery(\".add\").click(function() {\n\t\t\t\tjQuery('#load').show();\n\t\t\t\tvar id = jQuery(this).attr(\"id\");\n\t\t\t\tvar pid = jQuery(this).attr(\"pid\");\n\t\t\t\tvar aid = jQuery(this).attr(\"aid\");\n\t\t\t\tvar action = jQuery(this).attr(\"class\");\n\t\t\t\tvar string = 'id='+ id + '&action=' + action + '&pid=' + pid;\n\t\t\t\t\t\n\t\t\t\tjQuery.ajax({\n\t\t\t\t\ttype: \"POST\",\n\t\t\t\t\turl: \"ajax.php\",\n\t\t\t\t\tdata: string,\n\t\t\t\t\tcache: false,\n\t\t\t\t\tasync:false,\n\t\t\t\t\tsuccess: function(result){\n\t\t\t\t\t\tjQuery(\"#attributes_actions\").replaceWith(result);\n\t\t\t\t\t} \n\t\t\t\t});\n\t\t\t\tjQuery('#load').hide();\n\t\t\t\treturn false;\n\t\t\t});\n\t\t});\n\t</script>"; echo '<div id="attributes_list">' . PAYPALPRO_displayAttributesToAdd($_POST['pid']) . '</div></div>'; break; case 'paypal_handle_purchase': //Get and check IPN values $txn_id = $_POST['ipn']; $sql = "SELECT * FROM {$_TABLES['paypal_ipnlog']} WHERE txn_id = '{$txn_id}'"; $res = DB_query($sql); $A = DB_fetchArray($res); // Allow all serialized data to be available to the template $ipn = ''; if ($A['ipn_data'] != '') { $out = preg_replace('!s:(\\d+):"(.*?)";!se', "'s:'.strlen('\$2').':\"\$2\";'", $A['ipn_data']); $ipn = unserialize($out); }