Wednesday, April 20, 2011

How to use PHP code in HTML file

Many places, we feel that we can give better result if it would possible to use PHP code instead of javascript code in HTML page. Below is the way to use php code in the html page.

Html file name is "abc.html" :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Use PHP in HTML file</title>
</head>

<body> 
<!-- We can also pass the parameters to PHP as query string -->
<script src="xyz.php?uid=10&pid=string value"></script>
</body>
</html>
PHP file name is "xyz.php":
<?php
header("application/javascript");
$uid=$_GET['uid'];$pid=$_GET['pid'];
$ip=$_SERVER['REMOTE_ADDR'];
$mytime=date('m-d-Y H:i:s');
echo "document.write('Your IP is <b>$ip</b><br />Server date and time is <b>$mytime</b>');";
echo "document.write('<br />$pid');";
?>

Output :
Your IP is 127.0.0.1
Server date and time is 04-27-2011 01:01:44
string value

 Please feel free to provide your valuable feedback.

Tuesday, April 19, 2011

Enhanced Extravote plugin in joomla

Extravote is a very popular and useful 5 star rating plugin to rate an article. So, if a page contains multiple content items, it will display mulitple times on a page and works great. We can also use this plugin in third party extensions. But, there is a major issue with this plugin which has not been considered by developers.

About the issue : Just click on a star to give your rating for an article. Your vote will be counted and system will display message "Thanks for voting". If you try to vote again, system will display message "You have already voted". But, with this message, total vote will be decreased by 1. It will be corrected only when you refresh the page. If you are the first one to vote an article, you will notice that, after repeating the vote second time, you will get the message "You have already voted" and total vote become 0. I have consider the issue and debug the code. Since, this plugin is using AJAX for whole functionality, value passed to the javascript function don't change. Finally, I have change the way of implementation and it woks without any issue.
I have not only fix this issue, also enhanced its functionality.

Monday, April 4, 2011

Call plugin in third party extension of joomla

global $mainframe;
        include_once('components/com_content/models/article.php');
        include_once('components/com_content/helpers/query.php');
        $dispatcher =& JDispatcher::getInstance();
        $articleObject=new ContentModelArticle();
        $id= JRequest::getVar('content_id');
        $limitstart    = JRequest::getVar('limitstart', 0, '', 'int');
        $articleObject->setId($id);
        $item=new JObject;
        $item->text = $articleObject->getArticle(); 
        $item->params = clone($mainframe->getParams('com_content'));
        JPluginHelper::importPlugin('content');
        $results=$dispatcher->trigger('onBeforeDisplayContent', array (& $item->text, & $item->params, 0));
        echo $results[0];

Saturday, April 2, 2011

FFMPEG - a boon from open source community

FFMPEG an open source software is a product of Google summer of code. It is very useful in the manipulation of video, audio and image. Benefits of FFMPEG are below:
  • Extract n number of thumbnails from video and vice-versa
  • Convert types of video and audio
  • Extract audio and video for specific duration from audio/video
  • Extract audio from video
  • Mix audio and video
  • Extract thumbnails from an image
It is very useful for web applications because in many cases, we need to render light weight images and videos.
Click here to download ffmpeg software
Click here to download ffmpeg help and list of commands
Click here to download ffmpeg FAQ
Click here to download ffmpeg commands with examples
Click here to download supported  file formats and codecs for Audio and video files 


    Wednesday, March 23, 2011

    Forcing to download a zip file in all browsers

    Friends,
    Have you ever gotten a chance to force the browser for downloading a zip file? Hopefully yes. You will not get any issue unless and untill it contains multiple zip files i.e. nested zip files. Behavior is also different for IE and firefox. Below is the code to download a zip file(may be single level or nested)

    <?php
     ob_clean();
     $yourfile="rnd_source.zip"; // file which is stored on the server
     $dfile="rnd.zip";  // name of the file which will be downloaded
     $fp = @fopen($yourfile, 'rb');
     if (strstr($_SERVER['HTTP_USER_AGENT'], "MSIE"))
     {
            header('Content-Type: "application/x-zip-compressed"');
            header('Content-Disposition: attachment; filename="'.$dfile.'"');
            header('Expires: 0');
            header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
            header("Content-Transfer-Encoding: binary");
            header('Pragma: public');
            header("Content-Length: ".filesize($yourfile));
    }
    else
    {
            header('Content-Type: "application/x-zip-compressed"');
            header('Content-Disposition: attachment; filename="'.$dfile.'"');
            header("Content-Transfer-Encoding: binary");
            header('Expires: 0');
            header("Content-Length: ".filesize($yourfile));
    }

    fpassthru($fp);
    fclose($fp);
    ?>
    Provide your valuable comments please.............if you get any issue or wanna anything to share.

    Friday, January 28, 2011

    how to configure Phpmyadmin and use mysql on terminal in UBUNTU/LINUX

    To configure phpmyadmin, use synaptic Package manager.

    To run mysql on terminal, simply go to terminal and write command as below:

    aanand@aanand-desktop:~$ mysql --user=root --password=root
    Here, you can user the user and password as you have supplied during installation.

    Now, you will see messages as below:


    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 26
    Server version: 5.0.51a-3ubuntu5.7 (Ubuntu)

    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

    mysql>

    Your system is ready to run mysql commands and execute queries.
    To test, you can write commands like
    mysql>show databases;
    mysql>use test;
    mysql>show tables;
    To get the help, use help command as below:
    mysql>\h;
    mysql>\help;

    Sunday, January 16, 2011

    The best way to handle date and time in PHP and MySQL

    Usually we use date() function with their different formats. When we have to store the date in table, we convert the date in yyyy-mm-dd format if data-type of column is Date or yyyy-mm-dd HH:mm:ss format if data-type of column is datetime . In the same way, before use of these values, after fetching, need to convert these according to our required format. But, doing all the above process, we have to use explode() and list() function many times. But, using strtotime() is the best way to handle date in different formats.
    strtotime() is a function that converts a date which is in string format into unix timestamp. Please select the data-type as timestamp instead date or datetime when define table structure.
    At the time of saving, we have to just pass the date value which is in string format as argument of strtotime() function and get  the timestamp as output of this function. Now, we can save this timestamp in the table.
    At the time of using this value, after fetching pass this timestamp value in the date() function as second parameter. Format will be as below:
    <?php 
    //Before saving the value in table,
    $timestamp_field_value=strtotime('2010-12-23 12:55:32');
    //After fetching the value from table,
    echo date('Y-m-d',$timestamp_field_value);
    ?>

    Important queries based formulas to watch performance of a MySQL based application

    (1) Session Vs global status variables value select G.variable_name,G.variable_value GlobalValue,S.variable_value SessionValue from (selec...