#!/usr/bin/perl -w


use strict;			# Toutes les variables doivent etre declarees
use warnings;			# Verification de la syntaxe
use File::Copy;			# Utilisation de la fonction copy
use Switch;			# Utilisation des switch
use Carp;


my $VERSION = '0.1.2';
my $PACKAGE = 'print-pdf.pl';


#########################################################################################
# RAFFRAICHIR LA CONSOLE
#########################################################################################
system('clear');


#########################################################################################
# DETECTION SI MODE ADMINISTRATEUR
#########################################################################################
my $ModeAdministrateur = ($> != 0) ? "FALSE" : "TRUE";


#########################################################################################
# PRESENTAION DE LA BESTIOLLE
#########################################################################################
print " ___________________________________________________________________
|                                                                   |
|          $PACKAGE                    $VERSION                    |
|___________________________________________________________________|
|                                                                   |
|  Script d\'utilisation de: cmdlnprint_0_5_1.xpi                    |
|                                                                   |
|     Script cree par:                                              |
|            b52         http://www.xcfa.tuxfamily.org/             |
|            leonux      http://ubunteros.tuxfamily.org/            |
|            Christophe  http://www.road2mayotte.org/               |
|     Licence GPL 2                                                 |
|___________________________________________________________________|
|                                                                   |","\n";

#########################################################################################
# ROOT ?
#########################################################################################

if ($ModeAdministrateur =~ "TRUE") {
	print "|   VOUS ETES ADMINISTRATEUR :  mise a jour du script               |\n";
} else {
	print "|   VOUS N'ETES PAS ADMINISTRATEUR : Utilisation de: print-pdf.pl   |\n";
}
print "|___________________________________________________________________|\n\n";


#########################################################################################
# AFFICHAGE D'UN ENTETE
#########################################################################################
sub affiche_entete
{
	print "\n";
	print "+=============================================================================\n";
	print "|  $_[0]\n";
	print "+=============================================================================\n";
}


#########################################################################################
# INSTALLATION DE LA DERNIERE VERSION DE: print-pdf
#########################################################################################
if ($ModeAdministrateur =~ "TRUE") {
	mkdir("/tmp/print_pdf");
	system("wget --quiet  --directory-prefix=/tmp/print_pdf http://download.tuxfamily.org/xcfaudio/PlusPlus/pdf/print-pdf.pl");
	copy ("/tmp/print_pdf/print-pdf.pl", "/usr/bin/print-pdf.pl");
	system ("chmod +x /usr/bin/print-pdf.pl");
	system ("rm -rf /tmp/print_pdf");
	affiche_entete ("La mise a jour de: print-pdf.pl est effectuee.");
	exit 0;
}


#########################################################################################
# RECUPERAION DE $HOME
#########################################################################################
my $HOME = `echo \$HOME`;
chomp($HOME);


#########################################################################################
# EMPLACEMENT DE .bashrc
#########################################################################################
my $PathBashrc = $HOME . "/.bashrc";


#########################################################################################
# TEST DE L ALIAS ET INSCRIPTION SI ABSENT
#########################################################################################
affiche_entete ("TEST SI L'ALIAS pdf='print-pdf.pl' EST DANS VOTRE \$HOME/bashrc");
my $BoolAlias = `grep pdf $PathBashrc`;
if ($BoolAlias =~ "alias pdf='print-pdf.pl'") {
	# affiche_entete ("L ALIAS EST DEJA PRESENT");
} else {
	`echo "alias pdf='print-pdf.pl'" >> $PathBashrc`;
	affiche_entete ("Mise a jour de l'alias: ok\nPour la prise en compte de l'alias [ pdf ], vous devrez effectuer un: Crtl + BackSpace");
}


#########################################################################################
# TEST DE L EXTENTION cmdlnprint_0_5_1.xpi POUR FIREFOX
#########################################################################################
affiche_entete ("RECHERCHE DE: cmdlnprint.js DANS VOTRE \$HOME");
my $StrFind = `find $HOME -name cmdlnprint.js`;
if ($StrFind =~ "cmdlnprint.js") {
	# affiche_entete ("L'extention est deja presente");
} else {
	affiche_entete ("CHARGEMENT ET INSTALLATION DE cmdlnprint_0_5_1.xpi avec firefox");
	system("wget --quiet http://torisugari.googlepages.com/cmdlnprint_0_5_1.xpi");
	system("firefox ./cmdlnprint_0_5_1.xpi");
}

if (@ARGV != 3) {
	affiche_entete ("(pdf) print-pdf.pl REQUIERT 3 PARAMETRES");
	print "\tpdf <Adresse Web> <pdf | png | ps> <Nom du fichier>\n";
	print "\n";
	exit 1;
}


my $NomDuFichier = $ARGV[2] . ".pdf";
my $mode;
my $ParamDeux = lc($ARGV[1]);


switch($ParamDeux) {
	case "printer" {
		$mode = 0;
	}
	case "pdf" {
		$NomDuFichier = $ARGV[2] . ".pdf";
		$mode = 1;
	}
	case "png" {
		$NomDuFichier = $ARGV[2] . ".png";
		$mode = 2;
	}
	case "ps" {
		$NomDuFichier = $ARGV[2] . ".ps";
		$mode = 3;
	}
	else {
		affiche_entete ("Mauvaise configuration du deuxieme parametre  :/");
		exit 1;
	}
}


#########################################################################################
# RECHERCHE DU PATHNAME ACTUEL
#########################################################################################
my $path_pwd = `pwd`;
my $path_download;
chomp($path_pwd);

system("firefox -print $ARGV[0] -printmode $mode -printfile $path_pwd/$NomDuFichier");
print "firefox -print $ARGV[0] -printmode $mode -printfile $path_pwd/$NomDuFichier\n";
print "\n\n";
exit 0;

