#!/usr/bin/perl

#
# $Id$
#

use lib qw(generator/lib);

use strict;

require 'lib.pl';
require 'base.config.pl';
require 'generator.config.pl';

# init.
my $articlelist;

# top page.
my $index = lib::load_template($generator::opoindex);

# list html.
my $list = lib::load_template($generator::opoindexpart);

# read data.
my $lock = lib::lock($base::LockDir, $base::LockFile, $base::LockTime, $base::LockRetry);

my @data = lib::read_data($base::SaveFile, 'top');

lib::unlock($lock);

# date sort.
foreach(@data) {

    @::rowd = split /\t/;

    push(@::tmp2, $::rowd[6]);
    push(@::tmp3, $::rowd[4]);
    push(@::tmp4, $::rowd[5]);
    push(@::tmp5, $::rowd[1]);

}
@::sort_list =
    @data[sort
    {
        $::tmp2[$b] <=> $::tmp2[$a] or
        $::tmp3[$b] <=> $::tmp3[$a] or
        $::tmp4[$b] <=> $::tmp4[$a] or
        $::tmp5[$b] <=> $::tmp5[$a]
    }
    0 .. $#::tmp2];

# make list.
foreach (@::sort_list) {

    my @line = split(/\t/, $_);

    my $tmp = $list;

    if ($line[$generator::list{'classification'}] eq 'Recruiting') 
    {
        foreach my $name (@generator::formname) 
        {
            $line[$generator::list{$name}] = lib::htmlsecurechars($line[$generator::list{$name}], 'compbr');
            
            if ($name eq 'description' || $name eq 'duties' || $name eq 'requirements')
            {
                $line[$generator::list{$name}] =~ s/(s?https?:\/\/[-_.!~*'\(\)a-zA-Z0-9;\/\?\:\@\&\=\+\$\,\%\#]+)/<a href="$1" target="_blank">$1<\/a>/g;
            }
            $tmp = lib::assign($name, $tmp, $line[$generator::list{$name}]);
        }
        $tmp = lib::assign('labelfor', $tmp, $line[$generator::list{'id'}]);
        $articlelist .= $tmp;
    }
}

$index = lib::assign('recruitlist', $index, $articlelist);

lib::display($index);

exit;
