< Browse > Home / Archive: December 2008

| RSS

pChart is a charting library for PHP that allows generation of dynamic good looking GD based charts. Ever since I saw a small demo of charts in their website, it was attracted to try this product; I didn’t get a chance until last week.

Installing pChart in XAMPP and in Linux (Ubuntu)

The ‘pChart‘ download comes with a numerous list of files and folders, although you will need only about two major folders. They are

  • /pChart
  • /Fonts

In XAMPP

You can copy both the folders to your global includes folder, so that they can be accessed from anywhere across the system. Say C:\xampp\php-includes\pChart and
C:\xampp\php-includes\Fonts or you can reference them directly using the full path name. The library includes are usually kept outside the htdocs folder for security reasons.

In Linux (Ubuntu)

You can copy both the folders to your global includes folder, so that they can be accessed from anywhere across the system. Say /var/www/php-includes/pChart and
/var/www/php-includes/fonts or you can reference them directly using the full path name.

In this example of creating a bar chart we will use XAMPP, full paths, whereas the examples provided in the pChart download will tell you about how to use the includes folder option. It is best add the folder to the php include setting, so that it can be referenced from anywhere.

Configuring the pChart charting setup in XAMPP

Now we will start placing the php file that will generate the chart, lets create some folders called

  • C:\xampp\htdocs\charting-test\
  • C:\xampp\htdocs\charting-test\cache-images\

Now create a file called index.php in charting-test folder that will generate the chart. The generated charts are stored in cache-images folder and can be rendered from that folder.


<?php
define ('CHART_ENGINE_ROOT','C:\\xampp\\php-includes\\');
include_once CHART_ENGINE_ROOT.'pChart\\pChart.class';
include_once CHART_ENGINE_ROOT.'pChart\\pData.class';

$chartFileName = $_SERVER['REQUEST_TIME']."_testChart.png";

$dataRow = Array();
$dataRow[0]['studentName']= "Praveen";
$dataRow[0]['studentMarks']= 52;
$dataRow[1]['studentName']= "Krishna";
$dataRow[1]['studentMarks']= 20;
$dataRow[2]['studentName']= "Joseph";
$dataRow[2]['studentMarks']= 35;
$dataRow[3]['studentName']= "Deepak";
$dataRow[3]['studentMarks']= 26;
$dataRow[4]['studentName']= "Martin";
$dataRow[4]['studentMarks']= 37;
$dataRow[5]['studentName']= "Vijay";
$dataRow[5]['studentMarks']= 19;

// Dataset definition
$DataSet = new pData;
for ($i=0; $i<6; $i++) {
$dispStudName = $dataRow[$i]['studentName'];
$dispStudMarks = $dataRow[$i]['studentMarks'];
$DataSet->AddPoint($dispStudName,"Names");
$DataSet->AddPoint($dispStudMarks,"Marks");
}
$DataSet->AddAllSeries();
$DataSet->RemoveSerie("Names");
$DataSet->SetAbsciseLabelSerie("Names");
$DataSet->SetSerieName("Marks","Marks");
$DataSet->SetYAxisName("Marks");

// Initialise the graph
$Test = new pChart(700,270);
$Test->setFontProperties(CHART_ENGINE_ROOT."Fonts\\tahoma.ttf",9);
$Test->setGraphArea(70,30,680,200);
$Test->drawFilledRoundedRectangle(7,7,693,263,5,240,240,240);
$Test->drawRoundedRectangle(5,5,695,265,5,270,270,270);
$Test->drawGraphArea(255,255,255,TRUE);
$Test->drawScale($DataSet->GetData(),$DataSet->GetDataDescription(),SCALE_NORMAL,150,150,150,TRUE,45,2,TRUE);
$Test->drawGrid(4,TRUE,230,230,230,50);

// Draw the 0 line
$Test->setFontProperties(CHART_ENGINE_ROOT."Fonts\\tahoma.ttf",6);
$Test->drawTreshold(0,143,55,72,TRUE,TRUE);

// Draw the bar graph
$Test->drawBarGraph($DataSet->GetData(),$DataSet->GetDataDescription());

// Finish the graph
$Test->setFontProperties(CHART_ENGINE_ROOT."Fonts\\tahoma.ttf",8);
$Test->drawLegend(575,35,$DataSet->GetDataDescription(),255,255,255);
$Test->setFontProperties(CHART_ENGINE_ROOT."Fonts\\tahoma.ttf",10);
$Test->drawTitle(60,22,"Student Marks Comparision",50,50,50,585);
$Test->Render("cache-images/".$chartFileName);
$Test->ReportWarnings();

$webPrintStr = <<<
<img src="cache-images/$chartFileName" alt="" />
ETEXT;

echo $webPrintStr;
?>

Resulting Chart

The charts are really cool :)

[ View Post ]

The user friendliness of TortoiseSVN is probably the best feature that Windows ever had, that linux didn’t. Having searched through a wide number of sites and blogs trying to find a good alternative for Tortoise SVN, I was able to shortlist the following tools

My Personal best choices are,

  1. Subclipse for Eclipse
  2. KDESVN + Nautilus Scripts for Standalone clients

KDESVN + Nautilus Script as Standalone SVN clients

KDESVN is a Visual SVN Client tool that can be installed in Ubuntu. Try this command to install it

>> sudo apt-get install subversion kdesvn kompare

KDESVN gives users the ability to connect to a subversion repository and perform operations. But the coolest thing about Tortoise SVN is that its accessibility, it is available everywhere on the right click menu. So in order to replicate the ease of use, we will need to replicate the right click functionality in local file browser (which is nautilus). This can be done using a few nautilus scripts

KDESVN connected to nautilus script

KDESVN connected to nautilus script

After Installation, you will have to configure the rightclick menu scripts here

>> ~/.gnome2/nautilus-scripts

create a file called “kdesvn.sh” with the following contents

>> #!/bin/sh
>> kdesvn $1

assign execute rights to that file

>> chmod +x kdesvn.sh

Now open the file browser, you will be able to see KDESVN in the scripts context menu. To activate the SVN client, select some folder in local repository, and try the menu. It will popup the KDESVN interface.

[ View Post ]

Install/ Upgrade OpenOffice 3.0 in Ubuntu 8.04

Ubuntu 8.04 comes with openoffice 2.x version, even after updating with apt-get you will only get the latest build of the 2.x version open office. In order to upgrade to the latest version of open office (which is the 3.0 version), you will have to uninstall the existing version of open office. download the latest verion and install it.

The installation process is as follows

1) Download the latest verion of Open office from the following site, http://download.openoffice.org/other.html. You will need to choose “Linux DEB” for ubuntu.

2) Once you have downloaded the installer (say OOo_3.0.0_LinuxIntel_install_en-US_deb.tar.gz), you can extract the file to a temp folder say /home/krishna/Desktop/Office3Install/

3) Now having kept the setup files ready, uninstall teh existing verion of OpenOffice. This can be done using the command.

sudo apt-get remove openoffice*.*

4) Now to Install the OpenOffice 3.0 Version navigate the folder where the files are extracted and run the following command

sudo dpkg -i /home/krishna/Desktop/Office3Install/DEBS/*.deb

5) Once the Installation is complete, you can add the OpenOffice 3.0 to the gnome menu.

sudo dpkg -i /home/krishna/Desktop/Office3Install/DEBS/desktop-integration/*.deb

Thats it, OpenOffice is upgraded now :)

[ View Post ]

Welcome to Click Offline

[ More ] Dec 20, 2008 | No Comments | Posted in General |

Hello and welcome you all to ClickOffline.com. ClickOffline is primarily targeted to web development practices and systems. Some of the technology areas include

  • PHP, ASP.net
  • Apache, Tomcat and IIS Web Servers
  • (X)HTML, XML, JS and CSS
  • Development Practices
[ View Post ]