Wednesday 12 July 2017

Get city name from latitude longitude in php

function getcityname($latitude,$longitude) // get city name from lat long.
{
$geolocation = $latitude.','.$longitude;
$request = 'http://maps.googleapis.com/maps/api/geocode/json?latlng='.$geolocation.'&sensor=false';
$file_contents = file_get_contents($request);
$json_decode = json_decode($file_contents);
if(isset($json_decode->results[0])) {
    $response = array();
    foreach($json_decode->results[0]->address_components as $addressComponet) {
        if(in_array('political', $addressComponet->types)) {
                $response[] = $addressComponet->long_name;
        }
    }

    if(isset($response[0])){ $first  =  $response[0];  } else { $first  = 'null'; }
    if(isset($response[1])){ $second =  $response[1];  } else { $second = 'null'; }
    if(isset($response[2])){ $third  =  $response[2];  } else { $third  = 'null'; }
    if(isset($response[3])){ $fourth =  $response[3];  } else { $fourth = 'null'; }
    if(isset($response[4])){ $fifth  =  $response[4];  } else { $fifth  = 'null'; }

    if( $first != 'null' && $second != 'null' && $third != 'null' && $fourth != 'null' && $fifth != 'null' ) {
         $city = $second;
    }
    else if ( $first != 'null' && $second != 'null' && $third != 'null' && $fourth != 'null' && $fifth == 'null'  ) {
         $city = $second;
    }
    else if ( $first != 'null' && $second != 'null' && $third != 'null' && $fourth == 'null' && $fifth == 'null' ) {
        $city = $first;
    }
    else if ( $first != 'null' && $second != 'null' && $third == 'null' && $fourth == 'null' && $fifth == 'null'  ) {
       $city = $first;
     
    }
return $city;
  }

}

Friday 26 May 2017

Magento fax field replace with mobile number

Open file app/locale/en_US/Mage_Page.csv 
Paste the below code at last line
"Fax","Mobile"

For changes in admin panel Go to admin->system->configuration-> customer configuration 
And open the address template tab. Then replace all F (Fax) With (Mobile) in all tabs
1. Text
2. HTML
3. PDF
4. JavaScript Template
The changes will be work on all order,invoice,shipment history and email all places.

Magento Set reviews limit on product page

Copy /app/code/core/Mage/Review/Block/Product/View/View.php to
 /app/code/local/Mage/Review/Block/Product/View.php. with following code :-

Find the function getReviewsCollection() and replce with below function.

public function getReviewsCollection()
    {
        if (null === $this->_reviewsCollection) {
            $this->_reviewsCollection = Mage::getModel('review/review')->getCollection()
                ->addStoreFilter(Mage::app()->getStore()->getId())
                ->addStatusFilter(Mage_Review_Model_Review::STATUS_APPROVED)
                ->addEntityFilter('product', $this->getProduct()->getId())
                ->setDateOrder();
                $this->_reviewsCollection->getSelect()->limit(5);
        }
        return $this->_reviewsCollection;
    }

Add Payment Method Custom column in admin > sales > order

1.)  Copy /app/code/core/Mage/Adminhtml/Block/Sales/Order/Grid.php to
 /app/code/local/Mage/Adminhtml/Block/Sales/Order/Grid.php. 

And replace with this function.

protected function _prepareCollection()
    {
         $collection = Mage::getResourceModel($this->_getCollectionClass());
         $collection->join(array('payment'=>'sales/order_payment'),'main_table.entity_id=parent_id','method');
         $this->setCollection($collection);
         return Mage_Adminhtml_Block_Widget_Grid::_prepareCollection();
         // end here //
    }

2.)  Search the function _prepareColumns() and add below code in this function
 

$payments = Mage::getSingleton('payment/config')->getActiveMethods();

        $methods = array();
        foreach ($payments as $paymentCode=>$paymentModel)
        {
                $paymentTitle = Mage::getStoreConfig('payment/'.$paymentCode.'/title');
                $methods[$paymentCode] = $paymentTitle;
        }

        $this->addColumn('method', array(
                'header' => Mage::helper('sales')->__('Payment Method'),
                        'index' => 'method',
                        'filter_index' => 'payment.method',
                        'type'  => 'options',
                        'width' => '70px',
                        'options' => $methods,
                ));
        // End here

Tuesday 21 February 2017

how to change usps shipping method title in magento

First open the below directory file

app/code/core/Mage/Sales/Model/Quote/Address/Rate.php

Please replace


->setMethodTitle($rate->getMethodTitle())

with

->setMethodTitle(Mage::helper('shipping')->__($rate->getMethodTitle()))

And Make changes into the Mage_Shipping.csv file as you wish.

Thursday 19 January 2017

New XAMPP security concept

Access forbidden!

Access to the requested directory is only available from the local network.

This setting can be configured in the file "httpd-xampp.conf".


This is an error mostly shows on xampp server. let’s discuss how to access Phpmyadmin when not accessible in network or using ip on xampp.

Error:- Access forbidden! New XAMPP security concept: Access to the requested object is only available from the local network.
This setting can be configured in the file httpd-xampp.conf.

This is because there are some new security issue applied so we can access it only on local pc not to full network or using ip. For access phpmyadmin using ip or on network you need to change some configuration.

1. Go to :- D:\xampp\apache\conf\extra\httpd-xampp.conf
2. Paste below code in the end of file

<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
 #       Require local
Require all granted
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>

Thursday 5 January 2017

How to use Google reCAPTCHA in PHP

Google has discharged the new reCAPTCHA. Utilizing reCAPTCHA clients can demonstrate they are human without understanding a CAPTCHA. They require only a solitary snap to affirm they are not a robot. In this way, reCAPTCHA will shield your site from spam with better client encounter. You can without much of a stretch incorporate Google reCAPTCHA in PHP script.

We have made a contact frame with the new Google reCAPTCHA utilizing PHP. Investigate the demo of Google reCAPTCHA in PHP from the Demo connect. The reCAPTCHA joining procedure is given underneath.



Get reCAPTCHA api keys:

For adding reCAPTCHA to your site, you have to enlist your site and get reCAPTCHA API keys.

Enlist your site at Google from here – https://www.google.com/recaptcha/admin



Get your site key that's used to display the reCAPTCHA widget.

Get your Secret key helps authorizes communication between your site and the reCAPTCHA server.

Html Code :-

<script src="https://www.google.com/recaptcha/api.js" async defer></script>


<form action="" method="POST">
    <input type="text" name="name" value="" />
    <input type="text" name="email" value="" />
    <textarea type="text" name="message"></textarea>
    <div class="g-recaptcha" data-sitekey="9ABCGUTKOHdJnGhsKH--DDHD"></div>
    <input type="submit" name="submit" value="SUBMIT">

</form>

Php Code :- 

<?php
if(isset($_POST['submit']) && !empty($_POST['submit'])):
    if(isset($_POST['g-recaptcha-response']) && !empty($_POST['g-recaptcha-response'])):
        //your site secret key
        $secret = '6LeXrhAUAAAAAMnkNXY0S8AyUI0vklLR5jaSfK5L';
        //get verify response data
        $verifyResponse = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret='.$secret.'&response='.$_POST['g-recaptcha-response']);
        $responseData = json_decode($verifyResponse);
        if($responseData->success):
            //contact form submission code
            $name = !empty($_POST['name'])?$_POST['name']:'';
            $email = !empty($_POST['email'])?$_POST['email']:'';
            $message = !empty($_POST['message'])?$_POST['message']:'';
         
            $to = 'yogi.lalit2391@gmail.com';
            $subject = 'New contact form have been submitted';
            $htmlContent = "
                <h1>Contact request details</h1>
                <p><b>Name: </b>".$name."</p>
                <p><b>Email: </b>".$email."</p>
                <p><b>Message: </b>".$message."</p>
            ";
         
            $headers = "MIME-Version: 1.0" . "\r\n";
            $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
         
            $headers .= 'From:'.$name.' <'.$email.'>' . "\r\n";
         
            @mail($to,$subject,$htmlContent,$headers);
         
            $succMsg = 'Your form have submitted successfully.';
        else:
            $errMsg = 'Invalid captcha value.';
        endif;
    else:
        $errMsg = 'Please click on the reCAPTCHA box.';
    endif;
else:
    $errMsg = '';
    $succMsg = '';
endif;

?>