Example #1
0
function show_sub_taxa($taxons, $ranks, $name, $level, $spec, $site, $base)
{
    //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; 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>';
            } else {
            }
            $ranks_count["{$rank_sub}"]++;
            print '</p>';
            $sublevel = $level;
            $subname = $ssubcontent['name'];
            while (isset($ranks[$sublevel + 1])) {
                $sublevel++;
                show_sub_taxa($taxons, $ranks, $subname, $sublevel, $spec, $site, $base);
            }
        } else {
        }
    }
}
Example #2
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 #3
0
                                $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 #4
0
    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);