Tuesday, April 19, 2011

Collection of customer function and its description in Opencart




customer:
login($email, $password):
Check whether the customer is approved and check whether the username and password is correct or not.
public function login($email, $password) {
if (!$this->config->get('config_customer_approval')) {
$customer_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "customer WHERE LOWER(email) = '" . $this->db->escape(strtolower($email)) . "' AND password = '" . $this->db->escape(md5($password)) . "' AND status = '1'");
} else {
$customer_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "customer WHERE LOWER(email) = '" . $this->db->escape(strtolower($email)) . "' AND password = '" . $this->db->escape(md5($password)) . "' AND status = '1' AND approved = '1'");
}

if ($customer_query->num_rows) {
$this->session->data['customer_id'] = $customer_query->row['customer_id'];

if (($customer_query->row['cart']) && (is_string($customer_query->row['cart']))) {
$cart = unserialize($customer_query->row['cart']);

foreach ($cart as $key => $value) {
if (!array_key_exists($key, $this->session->data['cart'])) {
$this->session->data['cart'][$key] = $value;
} else {
$this->session->data['cart'][$key] += $value;
}
}
}

$this->customer_id = $customer_query->row['customer_id'];
$this->firstname = $customer_query->row['firstname'];
$this->lastname = $customer_query->row['lastname'];
$this->email = $customer_query->row['email'];
$this->telephone = $customer_query->row['telephone'];
$this->fax = $customer_query->row['fax'];
$this->newsletter = $customer_query->row['newsletter'];
$this->customer_group_id = $customer_query->row['customer_group_id'];
$this->address_id = $customer_query->row['address_id'];

return TRUE;
} else {
return FALSE;
}
}

logout():
Destroy all the session of the logged customer.
public function logout() {
unset($this->session->data['customer_id']);

$this->customer_id = '';
$this->firstname = '';
$this->lastname = '';
$this->email = '';
$this->telephone = '';
$this->fax = '';
$this->newsletter = '';
$this->customer_group_id = '';
$this->address_id = '';

session_destroy();
}
isLogged():
Check whether the customer is logged in or not.
public function isLogged() {
return $this->customer_id;
}
getId(), getFirstName(), getLastName(), getEmail(), getTelephone(), getFax(), getNewsletter(), getCustomerGroupId(), getAddressId():
Returns the customer information like for ID we have to write $this->customer->getId().
public function getId() {
return $this->customer_id;
}

public function getFirstName() {
return $this->firstname;
}

public function getLastName() {
return $this->lastname;
}

public function getEmail() {
return $this->email;
}

public function getTelephone() {
return $this->telephone;
}

public function getFax() {
return $this->fax;
}

public function getNewsletter() {
return $this->newsletter;
}

public function getCustomerGroupId() {
return $this->customer_group_id;
}

public function getAddressId() {
return $this->address_id;
}

get the customer description with the use of class function

Collection of database function and its description in Opencart





db:
query($sql):
$this->db->query(“Select * from product”); This returns all the product available in the database
public function query($sql) {
return $this->driver->query($sql);
}
escape($value):
public function escape($value) {
return $this->driver->escape($value);
}
countAffected():
public function countAffected() {
return $this->driver->countAffected();
}

getLastId():
Last affected or inserted or deleted Id is returned.
public function getLastId() {
return $this->driver->getLastId();
}

collection of database function and its description in opencart, collection of database functions, function opencart, database library function on the opencart, how to get the latest inserted id of the product?,how to find the last inserted customer id?

Monday, April 18, 2011

Cart in the opencart




Cart:
Functions that are in the cart library of opencart are:
$this->cart->getProducts():
This is the line which is used for getting the products that are in the cart.
public function getProducts() {
$product_data = array();

foreach ($this->session->data['cart'] as $key => $value) {
$array = explode(':', $key);
$product_id = $array[0];
$quantity = $value;
$stock = TRUE;

if (isset($array[1])) {
$options = explode('.', $array[1]);
} else {
$options = array();
}

$product_query = $this->db->query("SELECT *, wcd.unit AS weight_class, mcd.unit AS length_class FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "weight_class wc ON (p.weight_class_id = wc.weight_class_id) LEFT JOIN " . DB_PREFIX . "weight_class_description wcd ON (wc.weight_class_id = wcd.weight_class_id) LEFT JOIN " . DB_PREFIX . "length_class mc ON (p.length_class_id = mc.length_class_id) LEFT JOIN " . DB_PREFIX . "length_class_description mcd ON (mc.length_class_id = mcd.length_class_id) WHERE p.product_id = '" . (int)$product_id . "' AND pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND wcd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.date_available <= NOW() AND p.status = '1'"); if ($product_query->num_rows) {
$option_price = 0;

$option_data = array();

foreach ($options as $product_option_value_id) {
$option_value_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_option_value pov LEFT JOIN " . DB_PREFIX . "product_option_value_description povd ON (pov.product_option_value_id = povd.product_option_value_id) WHERE pov.product_option_value_id = '" . (int)$product_option_value_id . "' AND pov.product_id = '" . (int)$product_id . "' AND povd.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY pov.sort_order");

if ($option_value_query->num_rows) {
$option_query = $this->db->query("SELECT pod.name FROM " . DB_PREFIX . "product_option po LEFT JOIN " . DB_PREFIX . "product_option_description pod ON (po.product_option_id = pod.product_option_id) WHERE po.product_option_id = '" . (int)$option_value_query->row['product_option_id'] . "' AND po.product_id = '" . (int)$product_id . "' AND pod.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY po.sort_order");

if ($option_value_query->row['prefix'] == '+') {
$option_price = $option_price + $option_value_query->row['price'];
} elseif ($option_value_query->row['prefix'] == '-') {
$option_price = $option_price - $option_value_query->row['price'];
}

$option_data[] = array(
'product_option_value_id' => $product_option_value_id,
'name' => $option_query->row['name'],
'value' => $option_value_query->row['name'],
'prefix' => $option_value_query->row['prefix'],
'price' => $option_value_query->row['price']
);

if ($option_value_query->row['subtract'] && (!$option_value_query->row['quantity'] || ($option_value_query->row['quantity'] < $quantity))) { $stock = FALSE; } } } if ($this->customer->isLogged()) {
$customer_group_id = $this->customer->getCustomerGroupId();
} else {
$customer_group_id = $this->config->get('config_customer_group_id');
}

$discount_quantity = 0;
foreach ($this->session->data['cart'] as $k => $v) {
$array2 = explode(':', $k);
if ($array2[0] == $product_id) {
$discount_quantity += $v;
}
}

$product_discount_query = $this->db->query("SELECT price FROM " . DB_PREFIX . "product_discount WHERE product_id = '" . (int)$product_id . "' AND customer_group_id = '" . (int)$customer_group_id . "' AND quantity <= '" . (int)$discount_quantity . "' AND ((date_start = '0000-00-00' OR date_start < NOW()) AND (date_end = '0000-00-00' OR date_end > NOW())) ORDER BY quantity DESC, priority ASC, price ASC LIMIT 1");

if ($product_discount_query->num_rows) {
$price = $product_discount_query->row['price'];
} else {
$product_special_query = $this->db->query("SELECT price FROM " . DB_PREFIX . "product_special WHERE product_id = '" . (int)$product_id . "' AND customer_group_id = '" . (int)$customer_group_id . "' AND ((date_start = '0000-00-00' OR date_start < NOW()) AND (date_end = '0000-00-00' OR date_end > NOW())) ORDER BY priority ASC, price ASC LIMIT 1");

if ($product_special_query->num_rows) {
$price = $product_special_query->row['price'];
} else {
$price = $product_query->row['price'];
}
}

$download_data = array();

$download_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_to_download p2d LEFT JOIN " . DB_PREFIX . "download d ON (p2d.download_id = d.download_id) LEFT JOIN " . DB_PREFIX . "download_description dd ON (d.download_id = dd.download_id) WHERE p2d.product_id = '" . (int)$product_id . "' AND dd.language_id = '" . (int)$this->config->get('config_language_id') . "'");

foreach ($download_query->rows as $download) {
$download_data[] = array(
'download_id' => $download['download_id'],
'name' => $download['name'],
'filename' => $download['filename'],
'mask' => $download['mask'],
'remaining' => $download['remaining']
);
}

if (!$product_query->row['quantity'] || ($product_query->row['quantity'] < $quantity)) { $stock = FALSE; } $product_data[$key] = array( 'key' => $key,
'product_id' => $product_query->row['product_id'],
'name' => $product_query->row['name'],
'model' => $product_query->row['model'],
'shipping' => $product_query->row['shipping'],
'image' => $product_query->row['image'],
'option' => $option_data,
'download' => $download_data,
'quantity' => $quantity,
'minimum' => $product_query->row['minimum'],
'subtract' => $product_query->row['subtract'],
'stock' => $stock,
'price' => ($price + $option_price),
'total' => ($price + $option_price) * $quantity,
'tax_class_id' => $product_query->row['tax_class_id'],
'weight' => $product_query->row['weight'],
'weight_class' => $product_query->row['weight_class'],
'length' => $product_query->row['length'],
'width' => $product_query->row['width'],
'height' => $product_query->row['height'],
'length_class' => $product_query->row['length_class']
);
} else {
$this->remove($key);
}
}

return $product_data;
}
$this->cart->add($product_id, $qty = 1, $options = array()):
By this we are able to add product in the cart. Actually in the cart the products’ Id and the requested quantity and the options of the product is stored in the array.
public function add($product_id, $qty = 1, $options = array()) {
if (!$options) {
$key = $product_id;
} else {
$key = $product_id . ':' . implode('.', $options);
}

if ((int)$qty && ((int)$qty > 0)) {
if (!isset($this->session->data['cart'][$key])) {
$this->session->data['cart'][$key] = (int)$qty;
} else {
$this->session->data['cart'][$key] += (int)$qty;
}
}
$this->setMinQty();
}
$this->cart->update($key, $qty):
By this we update the product quantity in the cart. So the parameters that we need are the product id and the quantity amount.
public function update($key, $qty) {
if ((int)$qty && ((int)$qty > 0)) {
$this->session->data['cart'][$key] = (int)$qty;
} else {
$this->remove($key);
}
$this->setMinQty();
}
$this->cart->remove($key):
Remove the product from the cart and the parameter that it take is the product id and the product with the product is deleted from the cart.
public function remove($key) {
if (isset($this->session->data['cart'][$key])) {
unset($this->session->data['cart'][$key]);
}
}
$this->cart->clear():
Clear all the product from the cart or cart is empty
public function clear() {
$this->session->data['cart'] = array();
}
$this->cart->getWeight():
This function returns the weight of the cart means the total weight of the products in the cart.
public function getWeight() {
$weight = 0;

foreach ($this->getProducts() as $product) {
if ($product['shipping']) {
$weight += $this->weight->convert($product['weight'] * $product['quantity'], $product['weight_class'], $this->config->get('config_weight_class'));
}
}
return $weight;
}
$this->cart->setMinQty():
public function setMinQty() {
foreach ($this->getProducts() as $product) {
if ($product['quantity'] < $product['minimum']) { $this->session->data['cart'][$product['key']] = $product['minimum'];
}
}
}
$this->cart->getSubTotal():
Returns the sub total of the cart.
public function getSubTotal() {
$total = 0;
foreach ($this->getProducts() as $product) {
$total += $product['total'];
}
return $total;
}
$this->cart->getTaxes():
Returns the total taxes that is applicable to the cart’s products
public function getTaxes() {
$taxes = array();

foreach ($this->getProducts() as $product) {
if ($product['tax_class_id']) {
if (!isset($taxes[$product['tax_class_id']])) {
$taxes[$product['tax_class_id']] = $product['total'] / 100 * $this->tax->getRate($product['tax_class_id']);
} else {
$taxes[$product['tax_class_id']] += $product['total'] / 100 * $this->tax->getRate($product['tax_class_id']);
}
}
}

return $taxes;
}
$this->cart->getTotal():
Returns the total cost of the cart.
public function getTotal() {
$total = 0;
foreach ($this->getProducts() as $product) {
$total += $this->tax->calculate($product['total'], $product['tax_class_id'], $this->config->get('config_tax'));
}
return $total;
}
$this->cart->countProducts():
Returns the total number of the product in the cart
public function countProducts() {
return array_sum($this->session->data['cart']);
}
$this->cart->hasProducts():
Checks whether there is product in the cart or not.
public function hasProducts() {
return count($this->session->data['cart']);
}
$this->cart->hasStock():
Checks whether there is stock for the product in the cart or not.
public function hasStock() {
$stock = TRUE;

foreach ($this->getProducts() as $product) {
if (!$product['stock']) {
$stock = FALSE;
}
}

return $stock;
}
$this->cart->hasShipping():
Checks whether the cart contains the shipping address or not.
public function hasShipping() {
$shipping = FALSE;

foreach ($this->getProducts() as $product) {
if ($product['shipping']) {
$shipping = TRUE;

break;
}
}
return $shipping;
}
$this->cart->hasDownload():
This is useful for the downloadable products and checks whether it is downloadable or custom product
public function hasDownload() {
$download = FALSE;
foreach ($this->getProducts() as $product) {
if ($product['download']) {
$download = TRUE;
break;
}
}
return $download;
}

description of the function in opencart,uses of the cart function, ways to make the cart functions work properly in the opencart, cart functions desciption

Captcha in the Opencart




Captcha:
How to load the captcha:

In the controller we have to insert the code:
public function captcha() {
$this->load->library('captcha');
$captcha = new Captcha();
$this->session->data['captcha'] = $captcha->getCode();
$captcha->showImage();
}
In the template file:




Captcha contains only two function and they are below:
getCode():
This will generate the code that will be displayed in the image of the captcha.
function getCode(){
return $this->code;
}
And showImage():
This will generate the image with the code to show the captcha in the front end.

function showImage() {
$image = imagecreatetruecolor($this->height, $this->width);

$width = imagesx($image);
$height = imagesy($image);

$black = imagecolorallocate($image, 0, 0, 0);
$white = imagecolorallocate($image, 255, 255, 255);
$red = imagecolorallocatealpha($image, 255, 0, 0, 75);
$green = imagecolorallocatealpha($image, 0, 255, 0, 75);
$blue = imagecolorallocatealpha($image, 0, 0, 255, 75);

imagefilledrectangle($image, 0, 0, $width, $height, $white);

imagefilledellipse($image, ceil(rand(5, 145)), ceil(rand(0, 35)), 30, 30, $red);
imagefilledellipse($image, ceil(rand(5, 145)), ceil(rand(0, 35)), 30, 30, $green);
imagefilledellipse($image, ceil(rand(5, 145)), ceil(rand(0, 35)), 30, 30, $blue);

imagefilledrectangle($image, 0, 0, $width, 0, $black);
imagefilledrectangle($image, $width - 1, 0, $width - 1, $height - 1, $black);
imagefilledrectangle($image, 0, 0, 0, $height - 1, $black);
imagefilledrectangle($image, 0, $height - 1, $width, $height - 1, $black);

imagestring($image, 10, intval(($width - (strlen($this->code) * 9)) / 2), intval(($height - 15) / 2), $this->code, $black);

header('Content-type: image/jpeg');

imagejpeg($image);

imagedestroy($image);
}

captcha in the opencart, how to use captcha in the opencart, functions of captcha in the opencat, the easitest way to use captcha, functions for the captcha, how to change the image in the captcha, ways to learn captcha

Opencart Cache library function




Opencart Cache library function:
Calling of the cache function from the controller or view or model
$this->cache->get($key);
This is useful to get the caches that are enabled.
The get function in the library is defined as follows:
public function get($key) {
$files = glob(DIR_CACHE . 'cache.' . $key . '.*');
if ($files) {
foreach ($files as $file) {
$handle = fopen($file, 'r');
$cache = fread($handle, filesize($file));
fclose($handle);
return unserialize($cache);
}
}
}
$this->cache->set($key, $value):
This is useful to enable the cache.
The function set is defined as below:
public function set($key, $value) {
$this->delete($key);
$file = DIR_CACHE . 'cache.' . $key . '.' . (time() + $this->expire);
$handle = fopen($file, 'w');
fwrite($handle, serialize($value));
fclose($handle);
}

$this->cache->delete($key):
This is useful to delete the cache by which we can enable the next cache by setting.
The function delete defined as follows:
public function delete($key) {
$files = glob(DIR_CACHE . 'cache.' . $key . '.*');
if ($files) {
foreach ($files as $file) {
if (file_exists($file)) {
unlink($file);
clearstatcache();
}
}
}
}

opencart function collections, funtion collection of opencart, opencart by example, learn opencart by function and example

Sunday, April 17, 2011

Time to change the word that we speak






Friends it's time to change the words.
Let me give example:
If son wants to take a high costing training then
If father says "I can't afford it." Then it is statement which stop peple to think.
But if he says "How can I afford it?" Then it is question by which the son start to think or activate the mind.

Collection of library function in the opencart by Rupak Nepali




These are the library name that we can get in the opencart
cache, captcha, cart, config, currency, customer, db, document, encryption, image, json, language, length, log, mail, pagination, request, response, session, tax, template, user, weight
How we can use the library:
$this->cache->function_name_available();
List of function name in the respective category:
Cache:
    $this->cache->get($key);
    $this->cache->set($key, $value):
    $this->cache->delete($key):

Captcha:
Captcha contains only two function and they are below:
getCode():
showImage():

Cart:
Functions that are in the cart library of opencart are:
$this->cart->getProducts():
add($product_id, $qty = 1, $options = array()):
update($key, $qty):
remove($key):
clear():
getWeight():
setMinQty():
getSubTotal():
getTaxes():
getTotal():
countProducts():
hasProducts():
hasStock():
hasShipping():
hasDownload():

config:
config consists of 5 functions and they are as follows:
get($key):
set($key, $value):
has($key):
load($filename):

currency:
set($currency):
format($number, $currency = '', $value = '', $format = TRUE):
convert($value, $from, $to):
getId():
getCode():
getValue($currency):
has($currency):

customer:
login($email, $password):
logout():
isLogged():
getId():
getFirstName():
getLastName():
getEmail():
getTelephone():
getFax():
getNewsletter():
getCustomerGroupId():
getAddressId():

db:
query($sql):
escape($value):
countAffected():
getLastId():

document:
setTitle($title):
getTitle():
setDescription($description):
getDescription():
setKeywords($keywords):
getKeywords():
setBase($base):
getBase():
setCharset($charset):
getCharset():
setLanguage($language):
getLanguage():
setDirection($direction):
getDirection():
addLink($href, $rel):
getLinks():
addStyle($href, $rel = 'stylesheet', $media = 'screen'):
getStyles():
addScript($script):
getScripts():
addBreadcrumb($text, $href, $separator = ' > '):
getBreadcrumbs():

encryption:
encrypt($value):
base64_encode()
decrypt($value):

image:
create($image):
save($file, $quality = 100):
resize($width = 0, $height = 0):
watermark($file, $position = 'bottomright'):
crop($top_x, $top_y, $bottom_x, $bottom_y):
rotate($degree, $color = 'FFFFFF'):
filter($filter):
text($text, $x = 0, $y = 0, $size = 5, $color = '000000'):
merge($file, $x = 0, $y = 0, $opacity = 100):
html2rgb($color):

Json:
encode($data):
decode($json, $assoc = FALSE):

Language:

get($key):
load($filename):

Length:
convert($value, $from, $to):
format($value, $unit, $decimal_point = '.', $thousand_point = ','):


log:
write($message):

Mail:
setTo($to):
setFrom($from):
addheader($header, $value):
setSender($sender):
setSubject($subject):
setText($text):
setHtml($html):
addAttachment($file, $filename = ''):
send():

Pagination:
render():

Request:
clean($data):

Response:
addHeader($header):
redirect($url):
setOutput($output, $level = 0):
compress($data, $level = 0):
output():

Session:
$this->session:

Tax:
setZone($country_id, $zone_id):
calculate($value, $tax_class_id, $calculate = TRUE):
getRate($tax_class_id):
getDescription($tax_class_id):
has($tax_class_id):

Template:
fetch($filename):

User:
login($username, $password):
logout():
hasPermission($key, $value):
isLogged():
getId():
getUserName():

Weight:
convert($value, $from, $to):
format($value, $unit, $decimal_point = '.', $thousand_point = ','):