Пример #1
0
        //get the list of specimens according search pref.
        $num_result = count($coll_search_result);
        //show the results if something is found (list is not empty)
        if ($num_result > 0) {
            $end_data = construct_taxonomy($coll_search_result, $all_tax);
            $end_taxons = $end_data['taxons'];
            $end_ranks = $end_data['ranks'];
            $sel_taxons = $end_data['sel_taxons'];
            //!!!check this array!!!
            print '<p><b>Вот что мы нашли:</b><br>';
            foreach ($end_ranks as $rank) {
                $r_n = $rank['taxon'];
                $r_ps = $rank['pseudonym'];
                $r_count = count($end_taxons["{$r_n}"]);
                print $r_ps . ': ' . $r_count . '<br>';
            }
            print '</p>';
            $rrank = $end_ranks[0]['taxon'];
            $rtaxon = reset($end_taxons["{$rrank}"]);
            print_taxon($rtaxon, $end_ranks[0]['taxon']);
            $rname = $rtaxon['name'];
            $locations = sort_locations($coll_result['locations'], $coll_search_result);
            show_sub_taxa_data($end_taxons, $end_ranks, $rname, 1, $sel_taxons, $site, $base, $locations, $coll_search_result);
        } else {
            print 'Извините, ничего не нашлось :( <a href="' . $site . '&base=' . $base . '&search=yes">Поискать что-нибудь другое</a><br>';
        }
    } else {
        print 'Ой! Вы не сказали, что Вы ищете - все поля формы остались пустыми :( <a href="' . $site . '&base=' . $base . '&search=yes">Уточнить условия поиска (обратно)</a><br>';
    }
} else {
}
Пример #2
0
function show_sub_taxa_data($taxons, $ranks, $name, $level, $spec, $site, $base, $locations, $specimens)
{
    //this function in common as show_sub_taxa (u.s.), but prints also data of specimens from 2 last arguments (calls short_taxon_data function)
    $ranks_count = array();
    $rank_sub = $ranks[$level]['taxon'];
    if (!isset($ranks_count["{$rank_sub}"])) {
        $ranks_count["{$rank_sub}"] = 1;
    } else {
    }
    foreach ($taxons["{$rank_sub}"] as $ssubtax => $ssubcontent) {
        if ($ssubcontent['parent'] == $name) {
            //print taxon data
            $padding = 10 * ($level + 1);
            print '<p style="padding-left: ' . $padding . 'px; margin-top: -1px;  margin-bottom: -1px;">';
            print $ranks_count["{$rank_sub}"] . '. ';
            print_taxon($ssubcontent, $rank_sub);
            $taxon_name = $ssubcontent['name'];
            $taxon_name = trim($taxon_name);
            if (array_search($taxon_name, $spec) !== false) {
                print ' <a href="' . $site . '&base=' . $base . '&txn=' . $taxon_name . '" target="_blank">коллекция</a>';
                short_taxon_data($taxon_name, $locations, $padding, $site, $base);
            } else {
            }
            $ranks_count["{$rank_sub}"]++;
            print '</p>';
            $sublevel = $level;
            $subname = $ssubcontent['name'];
            while (isset($ranks[$sublevel + 1])) {
                $sublevel++;
                show_sub_taxa_data($taxons, $ranks, $subname, $sublevel, $spec, $site, $base, $locations, $specimens);
            }
        } else {
        }
    }
}