use Encode qw(decode encode);
use File::Copy qw(cp);

$destWWW = "/var/www/html";
$favicon_dir = "/opt/fah/folding/website/site/images_site";

$copy_system = "cp -f";

$test = 0;

@unexpected_color = ( "rouge" );

print("Recherche favicon\n");

sub enleve_text {
  local ($text_enleve) = @_;
  $text_enleve =~ s/^.*favicon_//g;
  $text_enleve =~ s/.ico//g;
  return $text_enleve;
}

sub ok_couleur {
  local ($my_color, $debug_info) = @_;
  foreach $unexpected_color (@unexpected_color) {
    if ($unexpected_color eq $my_color) {
      if ($debug_info == 1) { print("Pas cette couleur [$unexpected_color]\n"); }
      return 0;
    }
  }
  return 1;
}

sub find_next {
  local ($couleur, $debug_info) = @_;
  $list_files = $favicon_dir."/favicon_*.ico";
  if ($debug_info == 1) { print("File list: [".$list_files."]\n"); }
  @fichiers = glob($list_files);
  
  $prochaine_couleur = 0;
  foreach $fichier (@fichiers) {
    $couleur_fichier = enleve_text($fichier);
    if ($debug_info == 1) { print("Couleur dans le fichier = [$couleur_fichier]\n"); }
    if (ok_couleur($couleur_fichier, $debug_info)) {
      if ($couleur eq $couleur_fichier) {
        if ($debug_info == 1) { print("Couleur sauvee = couleur fichier = $couleur\n"); }
        $prochaine_couleur = 1;
        next;
      } else {
        if ($prochaine_couleur == 1) {
          if ($debug_info == 1) { print("La prochaine couleur [$couleur_fichier]\n"); }
          $ma_couleur = $couleur_fichier;
          last;
        }
      }
    } else {
      if ($debug_info == 1) { print("Pas la bonne couleur !\n"); }
      next;
    }
  }
  if ($ma_couleur eq "") {
    $ma_couleur = enleve_text($fichiers[0]);
  }
  if ($debug_info == 1) { print("Ma couleur = [$ma_couleur]\n"); }
  return $ma_couleur;
}

open(favicon, "favicon.res");
$couleur_extraite = <favicon>;
close(favicon);
if ($test == 1) { print("Couleur extraite [$couleur_extraite]\n"); }

$vieille_couleur = (split(/\n/, $couleur_extraite))[0];
if ($test == 1) { print("Vieille couleur [$vieille_couleur]\n"); }

$nouvelle_couleur = find_next($vieille_couleur, $test);
print("Nouvelle couleur = [$nouvelle_couleur]\n");

cp($favicon_dir."/favicon_".$nouvelle_couleur.".ico", $destWWW."/favicon.ico") or die "Impossible de copier...";

open(favicon, '>:utf8', "favicon.res");
print favicon ($nouvelle_couleur);
close(favicon);

exit;
1;
