Jump to content


  • Content count

  • Joined

  • Last visited

1 Follower

Recent Profile Visitors

1,686 profile views
  1. sinopia

    PayPal App for osCommerce Online Merchant

    @BrockleyJohn but which one? if ( $result == 'VERIFIED' ) { or function verifyTransaction? I think it's accessed twice from standard_ipn.php and paypal_standard..
  2. sinopia

    PayPal App for osCommerce Online Merchant

    Something like a callback, so when the paypal payment is confirmed, I send a cURL request with the invoice to my e-printer.
  3. sinopia

    PayPal App for osCommerce Online Merchant

    Well, I suppose it's on standard_ipn.php at if ( $result == 'VERIFIED' ) {
  4. sinopia

    PayPal App for osCommerce Online Merchant

    Hello, I need to locate the correct function in file that really confirms that the payment is confirmed. /modules/payment/paypal_standard.php: function verifyTransaction($pptx_params, $is_ipn = false) { Is this enough? After the tep_db_perform(TABLE_ORDERS_STATUS_HISTORY, $sql_data_array); ? Best regards
  5. Anyone knows a simple way to change the price in any class/module? As there's no plan to add a functionality like this, I would appreciate if someone could give me some hints do make something manually like: if product has X attribute selected gets 20% discounts on that product without messing with the order total or something else. Something that wouldn't require a lot of code to discount code bs or a bulk price change on the database? I would appreciate any help. Best regards.
  6. Hi, I understand. Not for me but for your addon that would be a good functionallity, in case you've a attribute in stock and want to make a promotion in all products in your store. Also I was thinking about a workaround, I create a coupon for all products (individually - some bulk creation in the database), and at the checkout_payment (where customers input the coupon) check the products attributes if it has the attribute I need and insert it automatically but it's not possible to insert two or more discount codes. So probably I'll do a bulk price change for that attribute, but the issue is that some products have different prices.. Instead of something like 30%, I discount a fixed price. Best regards.
  7. Hello @raiwa Is there any change you add the hability to apply the discount for products attributes? For example to apply the discount for only products that has a product attribute selected. Best regards
  8. I understand, but as I got those warning since installed owl carousel, and only index.php where I use owl carousel. new_products_carousel.php has this schema: <div class="row" itemtype="http://schema.org/ItemList"> <meta itemprop="numberOfItems" content="<?php echo (int)$num_new_products; ?>" /> <?php echo $new_prods_content; ?> </div> And then: $wrapper_slides .= ' <div class="item box-height" itemprop="itemListElement" itemscope="" itemtype="http://schema.org/Product">'; // some itemprop $wrapper_slides .= ' <p class="text-center" itemprop="offers" itemscope itemtype="http://schema.org/Offer"><meta itemprop="priceCurrency" content="' . tep_output_string($currency) . '" />'; // and a more itemprop Maybe because of this that it's warning about those missing fields in this Product/Offer.. I don't know, I've submit the fixes, I'll let you know if it worked.
  9. That is a bit weird indeed. My carousel listens 34 products. At Seach Console it says 34 products affected, each one with 7 warnings: priceValidUntil, url, aggregateRating, brand, review, sku and (mpn/gtin8). Unless it shows due warnings that affects the product from ht_product_schema.php... Those are warnings, it just says that it's recommended adding those values. Anyways I've added and notice Google that I fixed those links. Thank you for your time, best regards.
  10. Actually this addon has microdata.. itemtype="http://schema.org/ItemList" So probably search console will also throw warnings to who uses this addon. I referrer the product_info because there's some warnings also there from ht_product_schema.php but I'm at this moment fixing them.
  11. Hi @JcMagpie, There's some warnings about the schema microdata.. In my case 8 warnings. SKU, aggregateRating, description, brand, review, product ID and at offers it's missing url and priceValidUntil. This also is happening at product_info page but I'm fixing the header tag module: ht_product_schema.php Also have a question wouldn't be better to use JSON-LD instead microdata?
  12. Hi everyone, sorry I just saw this today.. At my checkout_process.php it's like this: <?php //.... for ($i=0, $n=sizeof($order->products); $i<$n; $i++) { //++++ QT Pro: Begin Changed code $products_stock_attributes=null; if (STOCK_LIMITED == 'true') { $products_attributes = $order->products[$i]['attributes']; // if (DOWNLOAD_ENABLED == 'true') { //++++ QT Pro: End Changed Code $stock_query_raw = "SELECT products_quantity, pad.products_attributes_filename FROM " . TABLE_PRODUCTS . " p LEFT JOIN " . TABLE_PRODUCTS_ATTRIBUTES . " pa ON p.products_id=pa.products_id LEFT JOIN " . TABLE_PRODUCTS_ATTRIBUTES_DOWNLOAD . " pad ON pa.products_attributes_id=pad.products_attributes_id WHERE p.products_id = '" . tep_get_prid($order->products[$i]['id']) . "'"; // Will work with only one option for downloadable products // otherwise, we have to build the query dynamically with a loop $products_attributes = (isset($order->products[$i]['attributes'])) ? $order->products[$i]['attributes'] : ''; if (is_array($products_attributes)) { $stock_query_raw .= " AND pa.options_id = '" . (int)$products_attributes[0]['option_id'] . "' AND pa.options_values_id = '" . (int)$products_attributes[0]['value_id'] . "'"; } $stock_query = tep_db_query($stock_query_raw); } else { $stock_query = tep_db_query("select products_quantity from " . TABLE_PRODUCTS . " where products_id = '" . tep_get_prid($order->products[$i]['id']) . "'"); } if (tep_db_num_rows($stock_query) > 0) { $stock_values = tep_db_fetch_array($stock_query); // do not decrement quantities if products_attributes_filename exists $actual_stock_bought = $order->products[$i]['qty']; $download_selected = false; if ((DOWNLOAD_ENABLED == 'true') && isset($stock_values['products_attributes_filename']) && tep_not_null($stock_values['products_attributes_filename'])) { $download_selected = true; $products_stock_attributes='$$DOWNLOAD$$'; } // If not downloadable and attributes present, adjust attribute stock if (!$download_selected && is_array($products_attributes)) { $all_nonstocked = true; $products_stock_attributes_array = array(); foreach ($products_attributes as $attribute) { if ($attribute['track_stock'] == 1) { $products_stock_attributes_array[] = $attribute['option_id'] . "-" . $attribute['value_id']; $all_nonstocked = false; } } if ($all_nonstocked) { $actual_stock_bought = $order->products[$i]['qty']; } else { asort($products_stock_attributes_array, SORT_NUMERIC); $products_stock_attributes = implode(",", $products_stock_attributes_array); $attributes_stock_query = tep_db_query("select products_stock_quantity from " . TABLE_PRODUCTS_STOCK . " where products_stock_attributes = '$products_stock_attributes' AND products_id = '" . tep_get_prid($order->products[$i]['id']) . "'"); if (tep_db_num_rows($attributes_stock_query) > 0) { $attributes_stock_values = tep_db_fetch_array($attributes_stock_query); $attributes_stock_left = $attributes_stock_values['products_stock_quantity'] - $order->products[$i]['qty']; tep_db_query("update " . TABLE_PRODUCTS_STOCK . " set products_stock_quantity = '" . $attributes_stock_left . "' where products_stock_attributes = '$products_stock_attributes' AND products_id = '" . tep_get_prid($order->products[$i]['id']) . "'"); $actual_stock_bought = ($attributes_stock_left < 1) ? $attributes_stock_values['products_stock_quantity'] : $order->products[$i]['qty']; } else { $attributes_stock_left = 0 - $order->products[$i]['qty']; tep_db_query("insert into " . TABLE_PRODUCTS_STOCK . " (products_id, products_stock_attributes, products_stock_quantity) values ('" . tep_get_prid($order->products[$i]['id']) . "', '" . $products_stock_attributes . "', '" . $attributes_stock_left . "')"); $actual_stock_bought = 0; } } } // $stock_query = tep_db_query("select products_quantity from " . TABLE_PRODUCTS . " where products_id = '" . tep_get_prid($order->products[$i]['id']) . "'"); // } // if (tep_db_num_rows($stock_query) > 0) { // $stock_values = tep_db_fetch_array($stock_query); // do not decrement quantities if products_attributes_filename exists if (!$download_selected) { $stock_left = $stock_values['products_quantity'] - $actual_stock_bought; tep_db_query("UPDATE " . TABLE_PRODUCTS . " SET products_quantity = products_quantity - '" . $actual_stock_bought . "' WHERE products_id = '" . tep_get_prid($order->products[$i]['id']) . "'"); //++++ QT Pro: End Changed Code } } //.... ?>
  13. Hello everyone. Thanks for your answers. About the search engine issues I could redirect as a temp only for the product category as the product is offline. But best thing to do, is to check it's out of stock, and if yes, to disable the button "add to cart" and show a notice that the product is out of stock, this way client won't add the product to shopping cart. (this way avoiding at the shopping cart a message that the product is out of stock.) Best regards.
  14. @JcMagpie let's say it's a lowcost product but the stock is only one quantity. I can always set if the quantity is < 1 to output a message and block the add to cart button. But what I really needed is to set product offline so it won't show on the products listings.. @raiwa I understand, and once I've time I'll migrate into CE. By the way I can't do it right now due the lack of time. I've noticed that I've QT Pro functions in some files but I'm not actually using it. It already came with the theme, can be something related with this?