Sanjoy Roy

[MCM, MCP, SCJP] – Senior PHP Programmer

Category Archives: Cre Loaded 6.2

how to display products group price B2B CreLoaded Store


$products_group_price = getSpecialPrices($product_info['products_id']);
function getSpecialPrices($products_id){
	$m_value = '';
	$sql = "SELECT `customers_group_price` FROM `products_groups` WHERE `products_id` ='".$products_id."'";
	$m_query = tep_db_query($sql);
	while ($m_rows = tep_db_fetch_array($m_query)) {
		$m_value = $m_rows['customers_group_price'];
	}
	return $m_value;
}
Advertisements

show all categories expanded


$aa = 0;
    $info_box_contents = array();
   // $info_box_contents[] = array('text'  => '' . BOX_HEADING_CATEGORIES4 . '');
  //  new infoBoxHeading($info_box_contents);
  //  $categories_string4 = '';
    if(!$_SESSION['sppc_customer_group_id']) {
      $customer_group_id = 'G';
    } else {
     $customer_group_id = $sppc_customer_group_id;
    }
    $categories_query = tep_db_query("SELECT c.categories_id, cd.categories_name, c.parent_id 
                                        from " . TABLE_CATEGORIES . " c,
                                             " . TABLE_CATEGORIES_DESCRIPTION . " cd 
                                      WHERE c.parent_id = '0' 
                                        and c.categories_id = cd.categories_id 
                                        and cd.language_id='" . $languages_id ."' 
                                      ORDER BY sort_order, cd.categories_name");					  
 
    while ($categories = tep_db_fetch_array($categories_query))  {
		$foo[$categories['categories_id']] = array('name' => $categories['categories_name'],
                                                 'parent' => $categories['parent_id'],
                                                 'level' => 0,
                                                 'path' => $categories['categories_id'],
                                                 'next_id' => false
                                                );
					 if (isset($prev_id)) {
        $foo[$prev_id]['next_id'] = $categories['categories_id'];
      }
      $prev_id = $categories['categories_id'];
      if (!isset($first_element)) {
        $first_element = $categories['categories_id'];      }
	  
	  $categories_query2 = tep_db_query("select c.categories_id, cd.categories_name, c.parent_id from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.parent_id = '" . $categories['categories_id'] . "' and c.categories_id = cd.categories_id and cd.language_id='" . $languages_id ."' order by sort_order, cd.categories_name");	 
        $category_check = tep_db_num_rows($categories_query2);
        if ($category_check > 0) {
          $new_path = $categories['categories_id'];
          while ($row = tep_db_fetch_array($categories_query2)) {
            $foo[$row['categories_id']] = array('name' => $row['categories_name'],
                                                'parent' => $row['parent_id'],
                                                'level' => $key+1,
                                                'path' => $new_path . '_' . $row['categories_id'],
                                                'next_id' => false
                                               );
            if (isset($prev_id)) {
              $foo[$prev_id]['next_id'] = $row['categories_id'];
            }
            $prev_id = $row['categories_id'];
		  }
		}   
	  
    }  	
	
    tep_show_category4($first_element);

oscommerce – 30 minutes cleanup from cart baskets


include_once("includes/configure.php");
$conn = mysql_connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD);
mysql_select_db(DB_DATABASE);
$sql = "SELECT `customers_basket_id`,`customers_id`,`products_id`,`customers_basket_quantity`,`final_price`,`customers_basket_date_added`,`auction_product`,`customers_basket_datetime` FROM   `customers_basket` ORDER BY `customers_basket_id` ASC";
$result = mysql_query($sql);

while ($row = mysql_fetch_assoc($result)) {
	$products_id = $row["products_id"];
	$customers_id = $row["customers_id"];
	$customers_basket_quantity = $row["customers_basket_quantity"];	
	$total_minutes = 0;
	$customers_basket_datetime = $row["customers_basket_datetime"];
	$total_minutes = date_diff($customers_basket_datetime);
	if ($total_minutes >= 30){			
		$sql = "update products set products_quantity = products_quantity + ".$customers_basket_quantity." where products_id = '" .$products_id. "'";
		mysql_query($sql);
		//echo $sql."
"; $sql = "delete from customers_basket where customers_id = '" .$customers_id. "' AND products_id = '" .$products_id. "'"; mysql_query($sql); //echo $sql."
"; $products_parent_id = 0; $products_parent_id = tep_hasParentID($products_id); //echo 'products_parent_id: '.$products_parent_id."
"; if ($products_parent_id>0) { $sql = "update `products` set `products_quantity` = 0, `products_status` = 1 where `products_id` = '".$products_parent_id."'"; mysql_query($sql); //echo $sql."
"; } //echo "
"; } //echo "
"; } mysql_free_result($result); function tep_hasParentID($products_id) { global $conn; $prod_query = mysql_query("SELECT `products_parent_id` FROM `products` WHERE `products_id`='".$products_id."'"); $prods = mysql_fetch_array($prod_query); return $prods['products_parent_id']; } function date_diff($start, $end="NOW"){ $sdate = strtotime($start); $edate = strtotime($end); $time = $edate - $sdate; $phour = ($edate - $sdate) / 3600; $prehour = explode('.',$phour); $premin = $phour-$prehour[0]; $min = explode('.',$premin*60); $presec = '0.'.$min[1]; $sec = $presec*60; $total_mins = 0; if($prehour[0]>0) $total_mins = ($prehour[0] * 60) + $min[0]; else $total_mins = $min[0]; return $total_mins; }

creloaded 6.2 – osCommerce – shopping cart check/uncheck all – remove items from cart


HTML:
<input type="button" value="CHECK ALL" onclick="checkUncheck(true);" />&nbsp;<input type="button" value="UNCHECK ALL" onclick="checkUncheck(false);" />
JS:

function checkUncheck(flag) {
				  for (var i=0;i<document.forms[0].elements.length;i++) {
					var e = document.forms[0].elements[i];
					if ( (e.name != 'cart_delete') && (e.type=='checkbox') && (!e.disabled) ) {
					  if(flag) document.forms[0].elements[i].checked = true; else document.forms[0].elements[i].checked = false;
					}
				  }
				}

Creloaded 6.2 – osCommerce – Cross sell products


$categories = array();
$sql = "SELECT `categories_id` FROM `products_to_categories` WHERE `products_id` = '".$HTTP_GET_VARS['products_id']."'";
$result = tep_db_query($sql);
while ($row = mysql_fetch_assoc($result)) {
    $categories[] = $row["categories_id"];
}

$categories_str = '';
if (sizeof($categories)){
	$categories_str = implode("','", $categories);
}

$products = array();
$sql = "SELECT `products_id` FROM `products_to_categories` WHERE `categories_id` IN ('".$categories_str."')";
$result = tep_db_query($sql);
while ($row = mysql_fetch_assoc($result)) {
    $products[] = $row["products_id"];
}
$products_str = '';
if (sizeof($products)){
	$products_str = implode("','", $products);
}

//echo "'".$products_str."'
"; /*SELECT * FROM `products` w ORDER BY RAND() LIMIT 0 , 6;*/ $sql = "select distinct p.products_id, p.products_image, p.products_price, p.manufacturers_id, pd.products_name, p.products_tax_class_id, p.products_date_added, p.products_image , xp.xsell_id products_price from (" . TABLE_PRODUCTS . " p left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id), " . TABLE_PRODUCTS_XSELL . " xp, " . TABLE_PRODUCTS_DESCRIPTION . " pd where xp.products_id = '" . $HTTP_GET_VARS['products_id'] . "' and p.products_id = xp.xsell_id and pd.products_id = xp.xsell_id and pd.language_id = '" . $languages_id . "' and p.products_status = '1' order by rand(), xp.products_id asc limit " . 6; //echo $sql.'
'; $sql = "SELECT * FROM `products` where products_id IN ('".$products_str."') AND `products_price` 0 ORDER BY RAND() LIMIT 0 , 6";

osCommerce – Vouchers or coupons when assigned to specific products


Filename: includes/modules/order_total/ot_coupon.php

$c_restrict_to_products 		= $coupon_result['restrict_to_products'];
$logs .= 'c_restrict_to_products: '.$c_restrict_to_products;	   
$c_restrict_to_categories 	= $coupon_result['restrict_to_categories'];
$logs .= 'c_restrict_to_categories: '.$c_restrict_to_categories;

$valid_coupon_product_id_exists = 'false';
if($c_restrict_to_products !=''){		    	  
  $db_product_ids = split("[,]", $c_restrict_to_products);		   
  for ($i=0; $i products); $i++) { 
	$logs .= 'products_id: '.$order->products[$i]['id'];
	if (in_array($order->products[$i]['id'], $db_product_ids)) {
		 $valid_coupon_product_id_exists = 'true';
	}
  }		  			  
}else if($c_restrict_to_categories !=''){
  $db_category_ids = split("[,]", $c_restrict_to_categories);
  for ($i=0; $i products); $i++) { 			
	$category_id = $this->getProductsCategoryID($order->products[$i]['id']);
	$logs .= 'products_id: '.$order->products[$i]['id'];
	$logs .= 'category_id: '.$category_id;
	if (in_array($category_id, $db_category_ids)) {
		 $valid_coupon_product_id_exists = 'true';
	}
  }  		 	  
}
$logs .= 'valid_coupon_product_id_exists: '.$valid_coupon_product_id_exists;
if ($valid_coupon_product_id_exists == 'false') {		    
  tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, 'payment_error=ot_coupon&error=' . urlencode('This coupon is not valid for the product(s) you are purchasing.' ), 'SSL'));
}

function getProductsCategoryID($products_id){
$category_id 		= 0;
$p_parent_query		=	tep_db_query("select `products_parent_id` from `products` where products_id = '".$products_id."'");
$p_parent_result	=	tep_db_fetch_array($p_parent_query);
$products_parent_id = 	$p_parent_result['products_parent_id'];

if($products_parent_id == 0){
	$sql = "SELECT `categories_id` FROM `products_to_categories` where products_id = '".$products_id."'";
	$p_parent_queryX = tep_db_query($sql);
	$category_id = $p_parent_queryX['categories_id'];
}else{
	$sql = "SELECT `categories_id` FROM `products_to_categories` where products_id = '".$products_parent_id."'";
	$p_parent_queryY = tep_db_query($sql);	
	$category_id = $p_parent_queryY['categories_id'];
}
return $category_id;
}

My site is hacked what to do?


If you are running store using creloaded 6.2 try to find the following signatures from your PHP scripts:

base64_decode
ob_start_flush
try_pick_colors
engines110
CoreLibrariesHandler

Mostly they are injected at the top of each files <?php //// ?>
Check the .htaccess file
Remove all uploaded .php script from /images/ directory.
Apply the patch.
https://www.creloaded.com/fdm_file_detail.php?file_id=191 (You need to register and login to creloaded site before you can download)
Change the /admin/ directory name.
Put a .htaccess password to /admin/ directory

Creloaded 6.2 – Call for prices with Product Extra Fields


Create an Extra field ‘Call for prices’ through Creloaded 6.2 backend.
Modify the product_listing.php file by adding the following function at the end of the file.

function getProductsExtraFieldValue($extra_fields_id=4, $products_id){
$ef_value = ”;
$ef_query = tep_db_query(“SELECT `products_extra_fields_value` FROM `products_to_products_extra_fields` WHERE `products_extra_fields_id`='”.$extra_fields_id.”‘ AND `products_id`= ‘”.$products_id.”‘ “);
while ($ef_rows = tep_db_fetch_array($ef_query)) {
$ef_value = $ef_rows[‘products_extra_fields_value’];
}
return $ef_value;
}

The call the function getProductsExtraFieldValue() and do the customization in your need.

$call_for_price = getProductsExtraFieldValue(4,$listing[$x][‘products_id’]);

if ($call_for_price ==”){
$lc_text = $pf->getPriceStringShort();
}else{
$lc_text = ”;
}

Cre Loaded 6.2 – Previous – Next – With detailed info Addons


Previous – Next – With detailed info

1. This contribution places previous/next buttons in the product_info.php page which allows you to navigate the products of that category/manufacturer without having to go back to the category/manufacturer.
2. Optional: the name of the category/manufacturer can be displayed. The category name only is linked back to the category.
3. Optional: there can be buttons to link to the first/last product. These buttons are not supplied. You will have to create them. To insert the code look in the install under Bonus Install.

How to use it:
1. Follow the instructions in the Install Guide for installation
2. All files are located in the folder named files
3. Upload the files to the directories listed in the Install Guide
4. To set where the previous/next buttons will be diplayed go Admin–>Configuration–>Product Listing. Select Location of Prev/Next Bar Location (1-top, 2-bottom, 3-both)

Download Link

%d bloggers like this: