<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">#!/usr/bin/perl -w
use Image::Magick;
use DBI;

my $list=0;
sub affichage($)
{
    $list=0;
    $code=0;
    $contenu = shift;
    @contenu = split("\n+",$contenu);
    for($i=0;$i&lt;@contenu;$i++)
    {
	$contenu[$i] =~ s/&amp;(?!.{1,3};)/&amp;amp;/g;
	$contenu[$i] =~ s/__(.+?)__/&lt;span class="underline"&gt;$1&lt;\/span&gt;/g;    

	if ($contenu[$i] =~ /^\-(.{1,})/)
	{
	    if ($list==0) { $contenu[$i] =~ s/^\-(.{1,})/&lt;ul&gt;&lt;li&gt;$1&lt;\/li&gt;/g; }
	    else  { $contenu[$i] =~ s/^\-(.{1,})/&lt;li&gt;$1&lt;\/li&gt;/g; }
	    $list=1;
	}
	elsif($list) { $contenu[$i] =~ s/^(.+)$/&lt;\/ul&gt;&lt;p&gt;$1 $list&lt;\/p&gt;/g; $list=0;}
	
	elsif(  $contenu[$i] =~ /\[code]/)
	    {
		$contenu[$i] =~ s/\[code\]/&lt;pre&gt;/; 
		$code =  1;
	    }
	elsif(  $contenu[$i] =~ /\[\/code\]/)
	    {
		$contenu[$i] =~ s/\[\/code\]/&lt;\/pre&gt;/; 
		$code =  0;
	    }
	elsif(!$code) { $contenu[$i] =~ s/(.+)/&lt;p&gt;$1&lt;\/p&gt;/g;
	}
	
    }
    if ($list) { push(@contenu,"&lt;/ul&gt;"); }
    return join("\n",@contenu);    
}



sub miniature($)
{

$_ = shift;

if (! -f $_) { print  "$_ introuvable\n"; }
else 
{


    $image = Image::Magick-&gt;new;
    $x = $image-&gt;Read("$_");
    
    return 0 if "$x";
    
    $newfile = $_;
    $newfile =~ s/(.*\/)(.+)/$1.min_$2/;

    $x = $image-&gt;Resize(geometry=&gt;'75x75');
    warn "$x" if "$x";
    $x = $image-&gt;Write("$newfile");
    warn "$x" if "$x";
}	
}


sub connect_db()
{
    $dbh  = DBI-&gt;connect("dbi:Pg:dbname=web;host=localhost;port=5432","tfe","prout123") or die $dbh-&gt;errstr();
    return $dbh;
}


sub  highlight($)
{
$_ = shift;
s/&amp;/&amp;amp;/g;
s/\&lt;/&amp;lt;/g;
s/\&lt;/&amp;gt;/g;

my @contenu = split //,$_;
my @ouverts=();
my %var = (  "[" =&gt; "]" , "{" =&gt; "}"  );
my $ouverture;
my $precedant = "";
my $recherche = "";

my $temp;

for $i(0..$#contenu)
{
    $temp =$contenu[$i];
    $contenu[$i] =~ s/\n/\\n/g;
    if ($contenu[$i] =~  /[\n]/ &amp;&amp; $ouverture eq "com")
    {
	$contenu[$i] .= "&lt;/span&gt;"; 
	$ouverture= undef;
     }

    elsif ($contenu[$i] eq "#" &amp;&amp; $precedant ne "\\" &amp;&amp; $precedant ne "\$" &amp;&amp; !$ouverte) 
    {  
	$contenu[$i] =~ s/(.)/&lt;span class=\"com\"&gt;$1/;  
	$ouverture = "com"; 
    }
    
    elsif (($contenu[$i] eq "\"" || $contenu[$i] eq "\'") &amp;&amp; !$ouverture)
    {
	$ouverture = "quote";
	$recherche = $contenu[$i];
	$contenu[$i] =~ s/(.)/&lt;span class=\"quote\"&gt;$1/; 
    
    }
    
    elsif($contenu[$i] eq "$recherche" &amp;&amp; $precedant ne "\\" &amp;&amp; $ouverture ne "com" ) {
	$ouverture = undef;
	$contenu[$i] .= "&lt;/span&gt;"; 
	}
    
    
    
    
    
    $precedant  = $temp;
    



}


return join("",@contenu);
}





return 1;



</pre></body></html>