# ------------- # Links # ------------- # Links Manager # # File: links.def # Description: Contains the database definition for links. # Author: Alex Krohn # Email: alex@gossamer-threads.com # Web: http://www.gossamer-threads.com/ # Version: 2.0 # # (c) 1998 Gossamer Threads Inc. # # This script is not freeware! Please read the README for full details # on registration and terms of use. # ===================================================================== # Database Definition: LINKS # -------------------------------------------------------- # Definition of your database file. %db_def = ( ID => [0, 'numer', 5, 8, 1, '', ''], Date => [1, 'date', 15, 15, 1, \&get_date, ''], Golf Club Name => [2, 'alpha', 40, 75, 1, '', ''], Address => [3, 'alpha', 40, 75, 1, '', ''], Town => [4, 'alpha', 40, 75, 1, '', ''], County => [5, 'alpha', 40, 75, 1, '', ''], Postcode => [6, 'alpha', 10, 10, 1, '', ''], Telephone => [7, 'alpha', 40, 75, 1, '', ''], Fax Number => [8, 'alpha', 40, 75, 1, '', ''], Description => [9, 'alpha', '40x4', 500, 0, '', ''], Holes => [10, 'numer', 10, 10, 1, '', ''], Yards => [11, 'numer', 10, 10, 1, '', ''], SSI => [12, 'numer', 10, 10, 1, '', ''], Societies => [13, 'alpha', '40x2', 500, 0, '', ''], Catering => [14, 'alpha', '40x2', 500, 0, '', ''], Green Fees => [15, 'alpha', '40x2', 500, 0, '', ''], Category => [16, 'alpha', 0, 150, 1, '', ''], 'Contact Name' => [17, 'alpha', 40, 75, 1, '', ''], 'Contact Email' => [18, 'alpha', 40, 75, 1, '', '.+@.+\..+'], Hits => [19, 'numer', 10, 10, 1, '0', '\d+'], isNew => [20, 'alpha', 0, 5, 0, 'No', ''], isPopular => [21, 'alpha', 0, 5, 0, 'No', ''], Rating => [22, 'numer', 10, 10, 1, '0', '^[\d\.]+$'], Votes => [23, 'numer', 10, 10, 1, '0', '^\d+$'], ReceiveMail => [24, 'alpha', 10, 10, 1, 'Yes', 'No|Yes'], GC Web Site => [25, 'alpha', 40, 75, 1, 'http://', '^http|news|mailto|ftp'] ); # Database file to use -- defined in links.cfg. $db_file_name = $db_links_name; # Counter file to use -- defined in links.cfg. $db_id_file_name = $db_links_id_file_name; # The column name for the database key. $db_key = 'GC'; # Database delimeter. $db_delim = '|'; # Title used in admin output. $html_title = 'Golf Guide UK Database'; $html_object = 'Link'; # Field Number of some important fields. The number is from %db_def above # where the first field equals 0. $db_id = 0; $db_date = 1; $db_gcname = 2; $db_address = 3; $db_town = 4; $db_county = 5; $db_postcode = 6; $db_telephone = 7; $db_fax = 8; $db_description = 9; $db_holes = 10; $db_yards = 11; $db_ssi = 12; $db_societies = 13; $db_catering = 14; $db_greenfees = 15; $db_category = 16; $db_contact_name = 17; $db_contact_email = 18; $db_hits = 19; $db_isnew = 20; $db_ispop = 21; $db_rating = 22; $db_votes = 23; $db_receiveemail = 24; $db_website = 25; # Field number to sort links by: $db_sort_links = 1; # Field names you want to allow visitors to search on: @search_fields = (2,3,4,5,6); # 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' ); # 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 tag for you using the options specified in the hash. %db_radio_fields = ( ); # Maximum number of hits returned in a search. Can be overridden in the search # options. $db_max_hits = 10; # Use the built in key tracker. $db_key_track = 1; # =========================================================================== # Build up some variables from your definitions. Internal use only. @db_cols = (); foreach (sort { $db_def{$a}[0] <=> $db_def{$b}[0] } keys %db_def) { push (@db_cols, $_); $db_sort{$_} = $db_def{$_}[1]; $db_form_len{$_} = $db_def{$_}[2]; $db_lengths{$_} = $db_def{$_}[3]; $db_not_null{$_} = $db_def{$_}[4]; $db_defaults{$_} = $db_def{$_}[5]; $db_valid_types{$_} = $db_def{$_}[6]; ($_ eq $db_key) and $db_key_pos = $db_def{$_}[0]; } 1;