+ opendir(DIR,"$Conf::dbdir/meta");
+ my @files = readdir(DIR);
+ closedir(DIR);
+ foreach $file (@files) {
+ next if ( $file eq "." );
+ next if ( $file eq ".." );
+ open(FILE, "<$Conf::dbdir/meta/$file");
+ @meta = <FILE>;
+ close(FILE);
+ foreach $line (@meta) {
+ @templine = split(/\: /,$line);
+ if ("$templine[0]" eq "Name") {
+ $name = $templine[1];
+ chomp($name);
+ } elsif ("$templine[0]" eq "ProgVersion") {
+ $version = $templine[1];
+ chomp($version);
+ } elsif ("$templine[0]" eq "Release") {
+ $release = $templine[1];
+ chomp($release);
+ }
+ }
+ foreach $prog (@db) {
+ @templine = split(/\;/,$prog);
+ if (("$name" eq "$templine[0]") && ("$release" < "$templine[2]" )) {
+ push(@updatepaks,$name);
+ if ("$forweb" eq "forweb") {
+ print "<option value=\"$name\">Update: $name -- Version: $version -> $templine[1] -- Release: $release -> $templine[2]</option>\n";
+ } else {
+ my $command = "Update: $name\nVersion: $version -> $templine[1]\nRelease: $release -> $templine[2]\n";
+ if ("$Pakfire::enable_colors" eq "1") {
+ print "$color{'lila'}$command$color{'normal'}\n";
+ } else {
+ print "$command\n";
+ }
+ }
+ }
+ }
+ }
+ return @updatepaks;
+ } else {
+ my $line;
+ my $use_color;
+ my @templine;
+ my $count;
+ foreach $line (sort @db) {
+ next unless ($line =~ /.*;.*;.*;/ );
+ $use_color = "";
+ $count++;
+ @templine = split(/\;/,$line);
+ if ("$filter" eq "notinstalled") {
+ next if ( -e "$Conf::dbdir/installed/meta-$templine[0]" );
+ } elsif ("$filter" eq "installed") {
+ next unless ( -e "$Conf::dbdir/installed/meta-$templine[0]" );
+ }
+ if ("$forweb" eq "forweb") {
+ print "<option value=\"$templine[0]\">$templine[0]-$templine[1]-$templine[2]</option>\n";
+ } else {
+ if ("$Pakfire::enable_colors" eq "1") {
+ if (&isinstalled("$templine[0]")) {
+ $use_color = "$color{'red'}"
+ } else {
+ $use_color = "$color{'green'}"
+ }
+ }
+ print "${use_color}Name: $templine[0]\nProgVersion: $templine[1]\nRelease: $templine[2]$color{'normal'}\n\n";
+ }