l_brn_crnr.gif (52 bytes) Priority Mod

PRIORITY and LOGO LINKS MOD

Logo Links, gives you the ability to have the company logo next to the description and sorts and place's that site to the top of the search without giving up on the cool or whats's new sorts.

All changes are in RED

in the links.def :

find:

# Definition of your database file.

%db_def = (

ID              => [0, 'numer', 5, 8, 1, '', ''],
Title           => [1, 'alpha', 40, 75, 1, '', ''],
URL             => [2, 'alpha', 40, 75, 1, 'http://', '^http|news|mailto|ftp'],
Date            => [3, 'date', 15, 15, 1, \&get_date,''],
Category        => [4, 'alpha', 0, 150, 1, '', ''],
Description     => [5, 'alpha', '40x3', 500, 0, '', ''],
'Contact Name'  => [6, 'alpha', 40, 75, 1, '', ''],
'Contact Email' => [7, 'alpha', 40, 75, 1, '', '.+@.+\..+'],
Hits            => [8, 'numer', 10, 10, 1, '0', '\d+'],
isNew           => [9, 'alpha', 0, 5, 0, 'Yes', ''],
isPopular       => [10, 'alpha', 0, 5, 0, 'No', ''],
Rating          => [11, 'numer', 10, 10, 1, 0, '^[\d\.]+$'],
Votes           => [12, 'numer', 10, 10, 1, 0, '^\d+$'],
ReceiveMail     => [13, 'alpha', 10, 10, 1, 'Yes', 'No|Yes'] 

);

add 4 new fields in links.def:
# Definition of your database file.

%db_def = (

ID              => [0, 'numer', 5, 8, 1, '', ''],
Title           => [1, 'alpha', 40, 75, 1, '', ''],
URL             => [2, 'alpha', 40, 75, 1, 'http://', '^http|news|mailto|ftp'],
Date            => [3, 'date', 15, 15, 1, \&get_date,''],
Category        => [4, 'alpha', 0, 150, 1, '', ''],
Description     => [5, 'alpha', '40x3', 500, 0, '', ''],
'Contact Name'  => [6, 'alpha', 40, 75, 1, '', ''],
'Contact Email' => [7, 'alpha', 40, 75, 1, '', '.+@.+\..+'],
Hits            => [8, 'numer', 10, 10, 1, '0', '\d+'],
isNew           => [9, 'alpha', 0, 5, 0, 'Yes', ''],
isPopular       => [10, 'alpha', 0, 5, 0, 'No', ''],
Rating          => [11, 'numer', 10, 10, 1, 0, '^[\d\.]+$'],
Votes           => [12, 'numer', 10, 10, 1, 0, '^\d+$'],
ReceiveMail     => [13, 'alpha', 10, 10, 1, 'Yes', 'No|Yes'],
Graphic 	=> [14, 'alpha', 40, 75, 0, '', ''],
Gwidth 		=> [15, 'alpha', 5, 5, 0, '', ''],
Gheight 	=> [16, 'alpha', 5, 5, 0, '', ''],
Priority 	=> [17, 'alpha', 0, 5, 1, 'No', 'No|Yes'] 

);

Next find in links.def:
# Field Number of some important fields. The number is from %db_def above

    # where the first field equals 0.
    $db_alt = 5;	
    $db_category = 4;		$db_modified = 3;	$db_url = 2; 
    $db_hits = 9;		$db_isnew = 10;		$db_ispop = 11;
    $db_contact_name = 7;	$db_contact_email = 8;	$db_title = 1;
    $db_votes = 13;		$db_rating = 12;	$db_mail = 14;
And add a new $db:
# Field Number of some important fields. The number is from %db_def above

    # where the first field equals 0.
    $db_alt = 5;		$db_priority = 17;
    $db_category = 4;		$db_modified = 3;	$db_url = 2; 
    $db_hits = 9;		$db_isnew = 10;		$db_ispop = 11;
    $db_contact_name = 7;	$db_contact_email = 8;	$db_title = 1;
    $db_votes = 13;		$db_rating = 12;	$db_mail = 14;
Next find in links.def:
# System defaults. When adding new links or modifying links, these fields
# can not be overwritten by a user. 
    %add_system_fields = ( 

    isNew => 'No', 
    isPopular => 'No', 
    Hits => '0', 
    Rating => 0, 
    Votes => 0, 
    ReceiveMail => 'Yes'
); 
And replace with:
# System defaults. When adding new links or modifying links, these fields
# can not be overwritten by a user. 
    %add_system_fields = ( 

    isNew => 'No', 
    isPopular => 'No', 
    Hits => '0', 
    Priority => 'No',
    Rating => 0, 
    Votes => 0, 
    ReceiveMail => 'Yes'
); 
Next find in links.def:
# Hash of column names to possible options. If you want to use a select form
# field, you can use &build_select_field in your HTML page. This routine will
# make a <SELECT> input tag using the following values:

    %db_select_fields = ( 

    isNew => 'Yes,No',
    isPopular => 'Yes,No',
    ReceiveMail => 'Yes,No'

    );
And replace with:
# Hash of column names to possible options. If you want to use a select form
# field, you can use &build_select_field in your HTML page. This routine will
# make a <SELECT> input tag using the following values:
    %db_select_fields = ( 
    isNew => 'Yes,No',
    isPopular => 'Yes,No',
    ReceiveMail => 'Yes,No',
    Priority => 'Yes,No'
);
Now we go to db_utils.pl

And find:

sub build_sorthit {
# --------------------------------------------------------
# This function sorts a list of links. It has been modified to sort
# new links first, then cool links, then the rest alphabetically. By modifying
# the sort function below, you can sort the links however you like (by date,
# or random, etc.).
#
    my (@unsorted) = @_;
    my ($num) = ($#unsorted+1) / ($#db_cols+1);
    my (%sortby, %isnew, %iscool, $hit, $i, @sorted);
    for ($i = 0; $i < $num; $i++) {
    $sortby{$i} = $unsorted[$db_sort_links + ($i * ($#db_cols+1))];
     ($unsorted[$db_isnew + ($i * ($#db_cols+1))] eq "Yes") and ($isnew{$i} = 1); 
    ($unsorted[$db_ispop + ($i * ($#db_cols+1))] eq "Yes") and ($iscool{$i} = 1); 
    }
    foreach $hit (sort { 
    ($isnew{$b} and !$isnew{$a}) and return 1; 
    ($isnew{$a} and !$isnew{$b}) and return -1; 
    ($iscool{$b} and !$iscool{$a}) and return 1; 
    ($iscool{$a} and !$iscool{$b}) and return -1;
    ($isnew{$a} and $isnew{$b}) and return lc($sortby{$a}) cmp lc($sortby{$b}); 
    ($iscool{$a} and $iscool{$b}) and return lc($sortby{$a}) cmp lc($sortby{$b}); 
    return lc($sortby{$a}) cmp lc($sortby{$b});
    } (keys %sortby)) {
    $first = ($hit * $#db_cols) + $hit;
    $last = ($hit * $#db_cols) + $#db_cols + $hit; 
    push (@sorted, @unsorted[$first .. $last]);
    } 
    return @sorted;
    }
 And replace with:
sub build_sorthit {
# --------------------------------------------------------
# This function sorts a list of links. It has been modified to sort
# new links first, then cool links, then the rest alphabetically. By modifying
# the sort function below, you can sort the links however you like (by date,
# or random, etc.).
#
    my (@unsorted) = @_;
    my ($num) = ($#unsorted+1) / ($#db_cols+1);
    my (%sortby, %priority, %isnew, %iscool, $hit, $i, @sorted);
    for ($i = 0; $i < $num; $i++) {
    $sortby{$i} = $unsorted[$db_sort_links + ($i * ($#db_cols+1))];
    ($unsorted[$db_priority + ($i * ($#db_cols+1))] eq "Yes") and ($priority{$i} = 1);
    ($unsorted[$db_isnew + ($i * ($#db_cols+1))] eq "Yes") and ($isnew{$i} = 1); 
    ($unsorted[$db_ispop + ($i * ($#db_cols+1))] eq "Yes") and ($iscool{$i} = 1); 
    }
    foreach $hit (sort { 
    ($priority{$b} and !$priority{$a}) and return 1; 
    ($priority{$a} and !$priority{$b}) and return -1;
    ($isnew{$b} and !$isnew{$a}) and return 1; 
    ($isnew{$a} and !$isnew{$b}) and return -1; 
    ($iscool{$b} and !$iscool{$a}) and return 1; 
    ($iscool{$a} and !$iscool{$b}) and return -1;
    ($priority{$a} and $priority{$b}) and return lc($sortby{$a}) cmp lc($sortby{$b}); 
    ($isnew{$a} and $isnew{$b}) and return lc($sortby{$a}) cmp lc($sortby{$b}); 
    ($iscool{$a} and $iscool{$b}) and return lc($sortby{$a}) cmp lc($sortby{$b}); 
    return lc($sortby{$a}) cmp lc($sortby{$b});
    } (keys %sortby)) {
    $first = ($hit * $#db_cols) + $hit;
    $last = ($hit * $#db_cols) + $#db_cols + $hit; 
    push (@sorted, @unsorted[$first .. $last]);
    } 
    return @sorted;
    }
And finally:

In link.html

Place this where ever you want the logo to appear

<%if Graphic%>

<a href="<%db_cgi_url%>/jump.cgi?ID=<%ID%>" target="_blank"><img src="<%Graphic%>" width="<%Gwidth%>" height="<%Gheight%>" alt="<%Title%>" border="0"></a>

<%endif%>

 Joker

Concepts 2000 Online
http://www.concepts2000.com/
tech@concepts2000.com