How remove NULL value from array in Angular JS?

Hello Friends!

I hope you are doing well.

This my first post on angular JS. I was getting a issue during ng-repeat loop in IE8 browser, loop was working fine in all browsers but in IE8, it was repeating one more extra time. that’s mean if actual loop is running 4 time then same loop is repeating 5 times in IE8, means one time extra.

During review issue i have found that in array there were a null value was adding by default in IE8 browsers and that’s why loop was running one extra time.

If you are also getting this type of issue then you can try given below steps for resolved to issue.

  1. Define a new function in your controller file
    app.filter('emptyFilter', function() {
      return function(array) {
        var filteredArray = [];
          angular.forEach(array, function(item) {
            if (item) filteredArray.push(item);
          });
        return filteredArray;  
      };
    });
  2. add empty filter function with ng-repeat
    <ul>
    <li ng-repeat="x in students| emptyFilter">x.name</li>
    </ul>

Note: here students is a array variable.

I hope you all will enjoy my this post:)

Tagged with: , , ,
Posted in Angular JS

Geting UPS Shipping Rate By PHP

<!-- Create Function -->
<?php
function ups($dest_zip,$service,$weight,$length,$width,$height) {

	// ========== UPDATE FOLLWINGS WITH YOUR CREDENTIALS ===========

	$AccessLicenseNumber = '###########'; // License number
	$UserId = '########'; // Username
	$Password = '########'; // Password
	$PostalCode = '######'; // Zipcode you are shipping FROM
	$ShipperNumber = '#####'; //  UPS shipper number

	
    	$data ="<?xml version=\"1.0\"?>
    	<AccessRequest xml:lang=\"en-US\">
    		<AccessLicenseNumber>$AccessLicenseNumber</AccessLicenseNumber>
    		<UserId>$UserId</UserId>
    		<Password>$Password</Password>
    	</AccessRequest>
    	<?xml version=\"1.0\"?>
    	<RatingServiceSelectionRequest xml:lang=\"en-US\">
    		<Request>
    			<TransactionReference>
    				<CustomerContext>Bare Bones Rate Request</CustomerContext>
    				<XpciVersion>1.0001</XpciVersion>
    			</TransactionReference>
    			<RequestAction>Rate</RequestAction>
    			<RequestOption>Rate</RequestOption>
    		</Request>
    	<PickupType>
    		<Code>01</Code>
    	</PickupType>
    	<Shipment>
    		<Shipper>
    			<Address>
    				<PostalCode>$PostalCode</PostalCode>
    				<CountryCode>US</CountryCode>
    			</Address>
			<ShipperNumber>$ShipperNumber</ShipperNumber>
    		</Shipper>
    		<ShipTo>
    			<Address>
    				<PostalCode>$dest_zip</PostalCode>
    				<CountryCode>US</CountryCode>
				<ResidentialAddressIndicator/>
    			</Address>
    		</ShipTo>
    		<ShipFrom>
    			<Address>
    				<PostalCode>$PostalCode</PostalCode>
    				<CountryCode>US</CountryCode>
    			</Address>
    		</ShipFrom>
    		<Service>
    			<Code>$service</Code>
    		</Service>
    		<Package>
    			<PackagingType>
    				<Code>02</Code>
    			</PackagingType>
    			<Dimensions>
    				<UnitOfMeasurement>
    					<Code>IN</Code>
    				</UnitOfMeasurement>
    				<Length>$length</Length>
    				<Width>$width</Width>
    				<Height>$height</Height>
    			</Dimensions>
    			<PackageWeight>
    				<UnitOfMeasurement>
    					<Code>LBS</Code>
    				</UnitOfMeasurement>
    				<Weight>$weight</Weight>
    			</PackageWeight>
    		</Package>
    	</Shipment>
    	</RatingServiceSelectionRequest>";
    	$ch = curl_init("https://www.ups.com/ups.app/xml/Rate");
    	curl_setopt($ch, CURLOPT_HEADER, 1);
    	curl_setopt($ch,CURLOPT_POST,1);
    	curl_setopt($ch,CURLOPT_TIMEOUT, 60);
    	curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
    	curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);
    	curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);
    	curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
    	$result=curl_exec ($ch);
	echo '<!-- '. $result. ' -->'; // THIS LINE IS FOR DEBUG PURPOSES ONLY-IT WILL SHOW IN HTML COMMENTS
    	$data = strstr($result, '<?');
    	$xml_parser = xml_parser_create();
    	xml_parse_into_struct($xml_parser, $data, $vals, $index);
    	xml_parser_free($xml_parser);
    	$params = array();
    	$level = array();
    	foreach ($vals as $xml_elem) {
    	 if ($xml_elem['type'] == 'open') {
    	if (array_key_exists('attributes',$xml_elem)) {
    		 list($level[$xml_elem['level']],$extra) = array_values($xml_elem['attributes']);
    	} else {
    		 $level[$xml_elem['level']] = $xml_elem['tag'];
    	}
    	 }
    	 if ($xml_elem['type'] == 'complete') {
    	$start_level = 1;
    	$php_stmt = '$params';
    	while($start_level < $xml_elem['level']) {
    		 $php_stmt .= '[$level['.$start_level.']]';
    		 $start_level++;
    	}
    	$php_stmt .= '[$xml_elem[\'tag\']] = $xml_elem[\'value\'];';
    	eval($php_stmt);
    	 }
    	}
    	curl_close($ch);
    	return $params['RATINGSERVICESELECTIONRESPONSE']['RATEDSHIPMENT']['TOTALCHARGES']['MONETARYVALUE'];
    }
?>
<!-- Add Funtion where you need to get values -->
<?php
include("ups.php");

$service = '03';
$length = '5';
$width = '5';
$height = '5';
$weight = '5';
$dest_zip = '90210';


$rate = ups($dest_zip,$service,$weight,$length,$width,$height);

echo $rate;


?>

Tahnks:)

Posted in PHP

Released a new “WP Importer” wordpress plugin

Hello Friends!!

I hope your are doing well.

I want let you know all that recently we have released new wordpress plugin. This plugin will be very helpful for manage to page/post content on your site.  Using our this plugin you will able to import post/page content using a csv file.

Please have a look on below link for download “WP Importer” plugin.

https://wordpress.org/plugins/wp-importer/

 

Please don’t forget to leave your feedback and suggestions for make it much more user friendly.

 

Tagged with: , , , ,
Posted in Wordpress

Some useful custom mysql query for get data form wordpress tables

Get post title, custom meta value and assigned category name using mysql query?

SELECT wp_posts.ID, wp_posts.post_title, wp_terms.name as category, myvideo.meta_value AS video_id, coutryval.meta_value AS country
FROM wp_posts
LEFT JOIN wp_postmeta as coutryval ON wp_posts.ID = coutryval.post_id
LEFT JOIN wp_postmeta as myvideo ON wp_posts.ID = myvideo.post_id
LEFT JOIN wp_term_relationships ON(wp_posts.ID = wp_term_relationships.object_id)
LEFT JOIN wp_term_taxonomy ON(wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id)
LEFT JOIN wp_terms ON (wp_term_taxonomy.term_id = wp_terms.term_id)
WHERE 1
AND myvideo.meta_key = '_client_comp_vid_id'
AND coutryval.meta_key = '_country'
AND wp_posts.post_type = 'client_competitions' AND ((wp_posts.post_status = 'publish')) GROUP BY wp_posts.ID ORDER BY wp_posts.post_date DESC limit 0, 700

Get post title, custom meta value,assigned category name and featured image path using mysql query?

SELECT wp_posts.ID, wp_posts.post_title, wp_terms.name as category, myvideo.meta_value AS video_id, coutryval.meta_value AS country, img.meta_value AS image_id , imgtable.guid as image_path
FROM wp_posts
LEFT JOIN wp_postmeta as coutryval ON wp_posts.ID = coutryval.post_id
LEFT JOIN wp_postmeta as myvideo ON wp_posts.ID = myvideo.post_id
LEFT JOIN wp_postmeta as img ON wp_posts.ID = img.post_id
LEFT JOIN wp_posts as imgtable ON wp_posts.ID = imgtable.post_parent
LEFT JOIN wp_term_relationships ON(wp_posts.ID = wp_term_relationships.object_id)
LEFT JOIN wp_term_taxonomy ON(wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id)
LEFT JOIN wp_terms ON (wp_term_taxonomy.term_id = wp_terms.term_id)
WHERE 1
AND myvideo.meta_key = '_client_comp_vid_id'
AND coutryval.meta_key = '_country'
AND img.meta_key = '_thumbnail_id'
AND wp_posts.post_type = 'client_competitions' AND ((wp_posts.post_status = 'publish')) GROUP BY wp_posts.ID ORDER BY wp_posts.post_date DESC 
Posted in Wordpress

Released Two More Plugins : WordPress

Hello Friends!!

I hope you are doing well and waiting for Christmas and New year:)

I want let you know all that i have released two more wordpress plugins

Tweets Slider and RG Responsive Gallery

Tweets Slider

“tweets-slider” is the very simple plugin to show your tweets as slider on your website.you can show your top 10 tweets as slider.

Features

  • Define to slider speed
  • Shortcode

Shortcode

[tweets_slider]

 

RG Responsive Gallery

“rg-responsive-gallery” is the very simple plugin for add to image gallery on your site. Using “rg-responsive-gallery” plugin we can easily add gallery on any page/post using shortcode. It’s a responsive plugin.

Features

  • Responsive gallery
  • Shortcode

Shortcode

[rr_gallery slider_slug=”ENTER SLIDER SLUG”]

 

Please don’t forget to give your suggestions and review about my both plugin.

Enjoy.

Tagged with: , , ,
Posted in Wordpress

How add Meta Title field on category pages: Opencart

Hello Friends,

I hope you all are doing very well:)

In my last post https://raghunathgurjar.wordpress.com/2015/11/17/how-add-meta-title-field-on-product-pages-opencart/, i have explain you instruction for add to “Meta Title” on product pages. Now here i am given you steps by steps instruction to add new meta title fields on category pages by edit in exist files, please follow given below steps:

First of all you will need to add new meta_title fields under “oc_category_description” table into your database. You will need to run given below mysql query.

ALTER TABLE oc_category_description ADD meta_title VARCHAR(100) NOT NULL

Now you will need to define text of meta title into catalog language file
admin/language/english/catalog/category.php

Search $_['entry_meta_keyword']      = 'Meta Tag Keywords:'; (around line no. 20) and add 
$_['entry_meta_title']      = 'Meta Title:';

Now you will need to add Meta Title field into category through add/edit form tpl file
admin/view/template/catalog/category_form.tpl
Search “$entry_meta_description” (around line no. 30) and add mew row

<tr>
<td><?php echo $entry_meta_title; ?></td>
<td><input type="text" name="category_description[<?php echo $language['language_id']; ?>][meta_title]" value="<?php echo isset($category_description[$language['language_id']]) ? $category_description[$language['language_id']]['meta_title'] : ''; ?>" size="100"/></td>
</tr>

In next step you will need to update catalog controller file
/admin/controller/catalog/category.php
Search

$this->data['entry_meta_keyword'] = $this->language->get('entry_meta_keyword');

add above OR below

$this->data['entry_meta_title'] = $this->language->get('entry_meta_title');

In next step you will need to update catalog model file
/admin/model/catalog/category.php
Under addCategory() function search $data[‘category_description’] foreach loop (around line no. 12) and add new meta title filed into mysql query.Updated loop will be look like this

foreach ($data['category_description'] as $language_id => $value) {
            $this->db->query("INSERT INTO " . DB_PREFIX . "category_description SET category_id = '" . (int)$category_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', meta_title = '" . $this->db->escape($value['meta_title']) . "' meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', description = '" . $this->db->escape($value['description']) . "'");
        }

Now under editCategory() function search category description foreach loop (around line no. 66) and replace it with given below updated

foreach ($data['category_description'] as $language_id => $value) {
            $this->db->query("INSERT INTO " . DB_PREFIX . "category_description SET category_id = '" . (int)$category_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', meta_title = '" . $this->db->escape($value['meta_title']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', description = '" . $this->db->escape($value['description']) . "'");
        }

Now under getProductDescriptions() function search foreach ($query->rows as $result) { loop (around line no. 410) and add meta_titleUnder getCategoryDescriptions() function search foreach loop (around line no. 233)

foreach ($query->rows as $result) {
            $category_description_data[$result['language_id']] = array(
                'name'             => $result['name'],
                'meta_keyword'     => $result['meta_keyword'],
                'meta_description' => $result['meta_description'],
                'description'      => $result['description']
            );
        }

and replaced it with given below foreach field

foreach ($query->rows as $result) {
            $category_description_data[$result['language_id']] = array(
                'name'             => $result['name'],
                'meta_keyword'     => $result['meta_keyword'],
                'meta_title'     => $result['meta_title'],
                'meta_description' => $result['meta_description'],
                'description'      => $result['description']
            );
        }

Now you have done all work for admin section, you can test it by edit/add any category

Lets now implement meta title into front-end

shop/catalog/controller/product/category.php

Under index() function search

$this->document->setTitle($category_info['name']);

(around line no. 92) and replaced this line with given below code

if(isset($category_info['meta_title']) && $category_info['meta_title']!='')
{$metatitle=    $category_info['meta_title'];}
else{
$metatitle=$category_info['name']; //by default get category title
}
$this->document->setTitle($metatitle);    

That's ALL!!
Tagged with: , , ,
Posted in Opencart

How add Meta Title field on product pages: Opencart

opencart-product-meta-title

Hello Friends,

I hope you all are doing very well:)

As you all know that by default Opencart not provide an option for add to “Meta Title”. There are some SEO opencart modules aveliable for add to “Meta Title” option but almost they are paid. I am here given you steps by steps instruction to add new meta title fields on product pages by edit in exist files, please follow given below steps:

First of all you will need to add new meta_title fields under “oc_product_description” table into your database. You will need to run given below mysql query.

ALTER TABLE oc_product_description ADD meta_title VARCHAR(100) NOT NULL

Now you will need to define text of meta title into catalog language file
admin/language/english/catalog/product.php

Search $_['entry_meta_keyword']      = 'Meta Tag Keywords:'; (around line no. 30) and add
$_['entry_meta_title']      = 'Meta Title:';

Now you will need to add Meta Title field into product add/edit form
admin/view/template/catalog/product_form.tpl
Seach “$entry_meta_description” (around line no. 30) and add mew row

<tr>
<td><?php echo $entry_meta_title; ?></td>
<td><input type="text" name="product_description[<?php echo $language['language_id']; ?>][meta_title]" size="100" value="<!--?php echo isset($product_description[$language['language_id']]) ? $product_description[$language['language_id']]['meta_title'] : ''; ?>" />
</td>
</tr>

In next step you will need to update catalog controller file
/admin/controller/catalog/product.php
Search

$this->data['entry_meta_keyword'] = $this->language->get('entry_meta_keyword');

(around line no. 542)
add above OR below

$this->data['entry_meta_title'] = $this->language->get('entry_meta_title');

In next step you will need to update catalog model file
/admin/model/catalog/product.php
Under addProduct() function find foreach loop

foreach ($data['product_description'] as $language_id => $value)

(around line no. 15) and add new meta title filed into mysql query.

foreach ($data['product_description'] as $language_id => $value)
{
$legend_data = $value['legend_origin']."|".$value['legend_material']."|".$value['legend_stackable']."|".$value['legend_assemble']."|".$value['legend_outdoor']."|".$value['legend_warranty'];
$this->db->query("INSERT INTO " . DB_PREFIX . "product_description SET product_id = '" . (int)$product_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', meta_title = '" . $this->db->escape($value['meta_title']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', description = '" . $this->db->escape($value['description']) . "', tag = '" . $this->db->escape($value['tag']) . "', legends = '".$this->db->escape($legend_data)."', colour_info = '".$this->db->escape($value['colour_info'])."'");
}

Now under editProduct() function search foreach ($data[‘product_description’] as $language_id => $value) { loop (around line no. 132)

updated foreach loop will be look like this

foreach ($data['product_description'] as $language_id => $value) {
$legend_data = $value['legend_origin']."|".$value['legend_material']."|".$value['legend_stackable']."|".$value['legend_assemble']."|".$value['legend_outdoor']."|".$value['legend_warranty'];
$this->db->query("INSERT INTO " . DB_PREFIX . "product_description SET product_id = '" . (int)$product_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', meta_title = '" . $this->db->escape($value['meta_title']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', description = '" . $this->db->escape($value['description']) . "', tag = '" . $this->db->escape($value['tag']) . "', legends = '".$this->db->escape($legend_data)."', colour_info = '".$this->db->escape($value['colour_info'])."'");
}

Now under getProductDescriptions() function search foreach ($query->rows as $result) { loop (around line no. 410) and add meta_title field into this
updated loop will be look like this

foreach ($query->rows as $result) {
if ($result['legends'] != "")
{
$legend_data = explode("|", $result['legends']);
$product_description_data[$result['language_id']] = array(
'name'             => $result['name'],
'description'      => $result['description'],
'meta_title'     => $result['meta_title'],
'meta_keyword'     => $result['meta_keyword'],

'meta_description' => $result['meta_description'],
'tag'              => $result['tag'],
'legend_origin'    => $legend_data[0],
'legend_material'  => $legend_data[1],
'legend_stackable' => $legend_data[2],
'legend_assemble'  => $legend_data[3],
'legend_outdoor'   => $legend_data[4],
'legend_warranty'  => $legend_data[5],
'colour_info'  => $result['colour_info']
);
}
else
{
$product_description_data[$result['language_id']] = array(
'name'             => $result['name'],
'description'      => $result['description'],
'meta_title'     => $result['meta_title'],
'meta_keyword'     => $result['meta_keyword'],
'meta_description' => $result['meta_description'],
'tag'              => $result['tag'],
'legend_origin'    => "",
'legend_material'  => "",
'legend_stackable' => "",
'legend_assemble'  => "",
'legend_outdoor'   => "",
'legend_warranty'  => "",
'colour_info'  => $result['colour_info']
);
}
}

Now you have done all work for admin section, you can test it by edit/add any product/category

Lets now implement meta title into front-end

/catalog/model/catalog/product.php
Search getProduct() function (around line no.7) and add new field meta_title into MySql select query.
seach “meta_description” and add new meta_title field in same way into return array.

shop/catalog/controller/product/product.php
Under index() function search $this->document->setTitle($product_info[‘name’]); (around line no. 222) and replaced this line with given below code

if(isset($product_info['meta_title']) && $product_info['meta_title']!='')
{
$metatitle=    $product_info['meta_title'];
}
else
{
$metatitle=$product_info['name']; // set by default product title as meta title
}
$this->document->setTitle($metatitle);

That’s all!!

Tagged with: , ,
Posted in Opencart
Follow

Get every new post delivered to your Inbox.

Join 178 other followers

%d bloggers like this: