Example #1
0
function show_sub_taxa($taxons, $ranks, $name, $level)
{
    //print tree of all taxons ($taxons) in order of ranks according $ranks, beginning from taxon with name $name of level $level
    $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">';
            print $ranks_count["{$rank_sub}"] . '. ';
            print_taxon($ssubcontent, $rank_sub);
            $taxon_name = $ssubcontent['name'];
            $ranks_count["{$rank_sub}"]++;
            print '</p>';
            $sublevel = $level;
            $subname = $ssubcontent['name'];
            while (isset($ranks[$sublevel + 1])) {
                $sublevel++;
                show_sub_taxa($taxons, $ranks, $subname, $sublevel);
            }
        } else {
        }
    }
}
Example #2
0
                                $schname = $children->getName();
                                $taxons["{$t}"][$tax_name][$schname] = array();
                                foreach ($children->children() as $s_children) {
                                    $it_name = $s_children->getName();
                                    $taxons["{$t}"][$tax_name][$schname][$it_name] = trim($s_children);
                                }
                            }
                        }
                    }
                }
                ksort($taxons["{$t}"]);
            }
            $root_rank = $ranks[0]['taxon'];
            $root_tax = array_shift($taxons["{$root_rank}"]);
            print '<p>';
            print_taxon($root_tax, $root_rank);
            print '</p>';
            $name = $root_tax['name'];
            show_sub_taxa($taxons, $ranks, $name, 1);
        } else {
        }
        include 'template/right';
    } else {
        include 'template/top';
        print 'К сожалению, <b>' . $c_user['name'] . '</b>, Вы - <b>' . $c_user['role_ps'] . '</b>, а не администратор системы. Попробуйте выйти и войти еще раз или свяжитесь с администратором системы для изменения Вашего статуса.';
        include 'template/form_logoff';
    }
} else {
    include 'template/top';
    print 'Здравствуйте! Мы Вас не знаем. Если Вы наш пользователь - представьтесь, пожалуйста';
    include 'template/form_login';
Example #3
0
foreach ($sp_ind->series as $series) {
    foreach ($series->specimen as $specimen) {
        $taxon = $specimen->taxon;
        $taxon = trim($taxon);
        if (!isset($spec["{$taxon}"])) {
            $spec[] = $taxon;
        } else {
        }
    }
}
ksort($spec);
//-------------------------------------------------------
//-------------------------------------------------------
$file = $xmldir . $tree . '.xml';
$xml = simplexml_load_file('kgbase/base/bases/' . $base . '/' . $index['taxonomy']);
$all_taxonomy = convert_taxonomy($xml);
$ranks = $all_taxonomy['ranks'];
$taxons = $all_taxonomy['taxons'];
//---print taxons
//count taxons
print 'Всего таксонов (по рангам):<br>';
foreach ($ranks as $lev => $rank) {
    $tax_count = count($taxons[$rank['taxon']]);
    $ranks[$lev]['count'] = 1;
    print '- ' . $rank['pseudonym'] . ': ' . $tax_count . '.<br>';
}
//root
$rtaxon = array_shift($taxons[$ranks[0]['taxon']]);
print_taxon($rtaxon, $ranks[0]['taxon']);
$rname = $rtaxon['name'];
show_sub_taxa($taxons, $ranks, $rname, 1, $spec, $site, $base);
Example #4
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 {
}
Example #5
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 {
        }
    }
}