Tuesday, 8 March 2016

Set iframe height dynamically through Javascript / jQuery

Add an event listener in the parent document (the page where you called iframe)

<script type='text/javascript'>
window.addEventListener('message', function(e) {
    var data = e.data[1];
    var eventName = e.data[0];
    if(eventName=='setHeight') { document.getElementById('iframeID').height = data; }
}, false);
</script>


Write below function into your iframe,

This function will fetch document height and called parent page function to set height dynamic.
<script type='text/javascript'>
function setSize() {
  var height = document.body.scrollHeight;
  window.parent.postMessage(["setHeight", height], "*");
}


Call this function inside iframe through onload event
$( window ).load(function() {
  setSize();
});
    OR
<body onLoad="setSize();">
</script>

Friday, 31 July 2015

How to install node js? How to run a Node js on windows?


What is Node js?
A lot of the confusion for newcomers to Node is misunderstanding exactly what it is. The description on nodejs.org definitely doesn't help more.

An important thing to realize is that Nodejs is not a webserver. By itself it doesn't do anything. And It doesn't work like Apache. There is no config file where you point it to you HTML files. If you want it to be a HTTP server, you have to write an HTTP server (with the help of its built-in libraries). Node.js is just another way to execute code on your computer. It is very simply a JavaScript runtime.

Installing Node
Node.js is very easy to install. If you're using Windows or Mac, installers are available on the download page.
https://nodejs.org/#download

I've Installed Node, now what?

It's so easy. Here are the exact steps I just took to run the "Hello World" example found at http://nodejs.org/. This is a quick and non understable example. For a permanent installation you'd want to store the executable in a more reasonable place than the root directory and update your PATH to include its location.

Download the Windows executable here: http://nodejs.org/#download
Copy the file to C:\
Create C:\hello.js
Paste in the following content:
   var http = require('http');

var server = http.createServer(function(req, res) {
  res.writeHead(200);
  res.end('Hello This is my first node script. Thanks - Arpan Thakrar');
});
server.listen(8080);

console.log('Hey This is my first nodejs script. Thanks - Arpan Thakrar');


Save the file. And Go to the
Start -> Run... -> cmd
c:
C:>node hello.js

Output -:
Hey This is my first nodejs script. Thanks - Arpan Thakrar

Note-:
This is a basic of nodejs. This is not a full-featured HTTP server. It can't serve any HTML file or images. In fact, no matter what you request, it will return 'Hey This is my first nodejs script. Thanks - Arpan Thakrar'. However, you can run this and hit http://localhost:8080 in your browser and you'll see the text.

Hey This is my first nodejs script. Thanks - Arpan Thakrar

You might notice something a little different now. Your Node.js application no longer exits. This is because you created a server and your Node.js application will continue to run and respond to requests until you kill it yourself.

If you want this to be a full-featured web server, then you have to do that work. We will learn that in next post :)NJOY!!

That's it. This was done on Windows.

Wednesday, 17 June 2015

How to increase import size in phpmyadmin in WAMP:-


how to increase maximum execution time in php, 
How to increase maximum execution time in php, 
How to change maximum execution time in phpmyadmin, 
phpmyadmin max execution time, phpmyadmin import file size, 
phpmyadmin import file size increase, 
Increase the import file size in phpmyadmin wamp, 
Phpmyadmin increase import file size

Solution 1):-
Please follow below settings in C:\wamp\bin\apache\apache2.2.8\bin\php.ini

Find:
post_max_size = 8M
max_execution_time = 30
upload_max_filesize = 2M
memory_limit = 8M
max_input_time = 60

Change to:
post_max_size = 750M
max_execution_time = 5000
upload_max_filesize = 750M
memory_limit = 1000M
max_input_time = 5000

Then restart your wamp to take effect

Solution 2):-
Add this to an htaccess file:
<IfModule mod_php5.c>
php_value post_max_size 200M
php_value max_execution_time 259200
php_value upload_max_filesize 200M
php_value memory_limit 300M
php_value max_input_time 259200
</IfModule>

Solution 3:-
If you don't have access of your php.ini or dont use htaccess file, you can use ini_set in your php file:
For example - ini_set('max_execution_time', 5000);

You can also refer http://forum.wampserver.com/read.php?2,45000 for more informaion

Saturday, 13 June 2015

Non secure to Secure AJAX call in PHP with Maintaining Session Variables

Want to Non secure to Secure AJAX call in PHP and maintain session?


What is .htaccess file?
".htaccess is a configuration file for use on web servers running the Apache Web Server software.

When a .htaccess file is placed in a directory which is in turn 'loaded via the Apache Web Server', then the .htaccess file is detected and executed by the Apache Web Server software.

These .htaccess files can be used to alter the configuration of the Apache Web Server software to enable/disable additional functionality and features that the Apache Web Server software has to offer."

------------------------------------------------

Write below code in .htaccess file.


SetEnvIf Origin "http(s)?://(www\.)?(yourdomainname.com)$" AccessControlAllowOrigin=$0
Header set Access-Control-Allow-Origin %{AccessControlAllowOrigin}e env=AccessControlAllowOrigin

Header set Access-Control-Allow-Credentials true

-------------------------------------------------------------

In your jQuery AJAX call add below code,

xhrFields : { withCredentials : true }

Example,

$.ajax({ 
 type: 'POST',
url: http://www.yourdominname.com?test.php
data:  $('#formname').serialize(),
xhrFields : { withCredentials : true },
success: function(msg) 
}
});

Thursday, 31 October 2013

Opencart view file path

Add this line into system/engine/controller.php just after the $this->output = ob_get_contents(); on (or about) line 65.

CODE: SELECT ALL
           if( strpos( $_SERVER[ 'SCRIPT_FILENAME' ], '/admin/' ) === false )
              $this->output = '<div style="margin:2px;border: 1px red solid;display:inline-block;"><div style="float:left;color:white;background-color:red;">' . $this->template . '</div><div>' . $this->output . '</div></div>';

opencart Template Path Guide

Thursday, 27 June 2013

Send email from localhost/WAMP Server using sendmail


The new WAMP Server’s PHP and stand-alone PHP v5.3+, are now NOT available with some of the extensions required to implement the previous solution [PHPMailer] (there is a workaround to install the missing extension(s), described in the linked article). So an alternate and much less efficient (slower, but negligible low-speed for development platform (WAMP/localhost)) solution can be implemented, as below:

Solution:
This solution requires sendmail.exe (a Command Line Interface (CLI) executable which accepts email from PHP, connects to an SMTP server and sends email). You will not require to use it by command, don’t bother about it :-) Download the sendmail.zip and follow these steps:
  • Create a folder named “sendmail” in “C:\wamp\”.
  • Extract these 4 files in “sendmail” folder: “sendmail.exe”, “libeay32.dll”, “ssleay32.dll” and “sendmail.ini”.
  • Open the “sendmail.ini” file and configure it as following
    • smtp_server=smtp.gmail.com
    • smtp_port=465
    • smtp_ssl=ssl
    • default_domain=localhost
    • error_logfile=error.log
    • debug_logfile=debug.log
    • auth_username=[your_gmail_account_username]@gmail.com
    • auth_password=[your_gmail_account_password]
    • pop3_server=
    • pop3_username=
    • pop3_password=
    • force_sender=
    • force_recipient=
    • hostname=localhost
    You do not need to specify any value for these properties: pop3_server, pop3_username, pop3_password, force_sender, force_recipient. The error_logfile and debug_logfile settings should be kept blank if you have already sent successful email(s) otherwise size of this file will keep increasing. Enable these log file settings if you don’t get able to send email using sendmail.
  • Enable IMAP Access in your GMail’s Settings -> Forwarding and POP/IMAP -> IMAP Access:
  • Enable “ssl_module” module in Apache server:
  • Enable “php_openssl” and “php_sockets” extensions for PHP compiler:
  • Open php.ini from “C:\wamp\bin\apache\Apache2.2.17\bin” and configure it as following (The php.ini at “C:\wamp\bin\php\php5.3.x” would not work) (You just need to configure the last line in the following code, prefix semicolon (;) against other lines):
    [mail function]
    ; For Win32 only.
    ; http://php.net/smtp
    ;SMTP =
    ; http://php.net/smtp-port
    ;smtp_port = 25
    
    ; For Win32 only.
    ; http://php.net/sendmail-from
    ;sendmail_from = you@domain.com
    ; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
    ; http://php.net/sendmail-path
    sendmail_path = "C:\wamp\sendmail\sendmail.exe -t -i"
  • Restart WAMP Server.
  • Create a PHP file and write the following code in it:
    <?php
    $to       = 'recipient@yahoo.com';
    $subject  = 'Testing sendmail.exe';
    $message  = 'Hi, you just received an email using sendmail!';
    $headers  = 'From: sender@gmail.com' . "\r\n" .
                'Reply-To: sender@gmail.com' . "\r\n" .
                'MIME-Version: 1.0' . "\r\n" .
                'Content-type: text/html; charset=iso-8859-1' . "\r\n" .
                'X-Mailer: PHP/' . phpversion();
    if(mail($to, $subject, $message, $headers))
        echo "Email sent";
    else
        echo "Email sending failed";
    ?>
  • Make appropriate changes in $to and $headers variables to set recipient, sender and reply-to address. Save it as “send-mail.php”. (You can save it anywhere or inside any sub-folder in “C:\wamp\www”.)
  • Open this file in browser, it MUST work now :-)