';
return $text;
}
function semantic_visits_rdf_person($text) {
# Countries.
$countries = get_semantic_visits_countries();
foreach ($countries as $country) {
$text .= "\n\t" . '
' . $country['code'] . '';
if ('' != $country['name'])
$text .= '
' . $country['name'] . '';
if ('' != $country['uri'])
$text .= '
';
$text .= '
';
}
# US states.
$usstates = get_semantic_visits_usstates();
foreach ($usstates as $usstate) {
$text .= "\n\t" . '
' . $usstate['code'] . '';
if ('' != $usstate['name'])
$text .= '
' . $usstate['name'] . '';
if ('' != $usstate['uri'])
$text .= '
';
$text .= '
';
}
# CA regions.
$caregions = get_semantic_visits_caregions();
foreach ($caregions as $caregion) {
$text .= "\n\t" . '
' . $caregion['code'] . '';
if ('' != $caregion['name'])
$text .= '
' . $caregion['name'] . '';
if ('' != $caregion['uri'])
$text .= '
';
$text .= '
';
}
return $text;
}
function semantic_visits_html_person($text) {
# Countries.
$countries = get_semantic_visits_countries();
if (sizeof($countries)) {
$text .= "\t\t\t" . '
Visited countries:'
. '' . sizeof($countries) . ' ('
. join(', ', array_map('semantic_visits_linked_region_name', $countries))
. ')
' . get_semantic_visits_countries_image($countries) . '';
}
# US states.
$usstates = get_semantic_visits_usstates();
if (sizeof($usstates)) {
$text .= "\n\t\t\t" . 'Visited US states:'
. '' . sizeof($usstates) . ' ('
. join(', ', array_map('semantic_visits_linked_region_name', $usstates))
. ')
' . get_semantic_visits_usstates_image($usstates) . '';
}
# CA regions.
$caregions = get_semantic_visits_caregions();
if (sizeof($caregions)) {
$text .= "\n\t\t\t" . 'Visited Canadian regions:'
. '' . sizeof($caregions) . ' ('
. join(', ', array_map('semantic_visits_linked_region_name', $caregions))
. ')
' . get_semantic_visits_caregions_image($caregions) . '';
}
return $text;
}
function semantic_visits_region_name($region) {
if ('' != $region['name'])
return $region['name'];
return $region['code'];
}
function semantic_visits_linked_region_name($region) {
if ('' != $region['uri'])
return ''
. semantic_visits_region_name($region) . '';
return semantic_visits_region_name($region);
}
function get_semantic_visits_countries_image($countries = array()) {
if (!sizeof($countries))
$countries = get_semantic_visits_countries();
if (!sizeof($countries))
return '';
return ') . ')
create your own visited '
. 'country map or write about '
. 'it on the open travel guide';
}
function get_semantic_visits_usstates_image($usstates = array()) {
if (!sizeof($usstates))
$usstates = get_semantic_visits_usstates();
if (!sizeof($usstates))
return '';
return ') . ')
create your own personalised '
. 'map of the USA or write about '
. 'it on the open travel guide';
}
function get_semantic_visits_caregions_image($caregions = array()) {
if (!sizeof($caregions))
$caregions = get_semantic_visits_caregions();
if (!sizeof($caregions))
return '';
return ') . ')
create your own personalised '
. 'map of Canada or write about '
. 'it on the open travel guide';
}
function get_semantic_visits_countries() {
global $authordata;
# Return array of visited countries.
$countries = array();
$links = get_linkobjectsbyname('Countries');
if ($links) {
$cat_id = 0;
foreach ($links as $link) {
if(preg_match('|^[A-Z]{2}$|', $link->link_name)
&& ($link->link_category == $cat_id
|| !$cat_id && 'Countries' == get_linkcatname($link->link_category))
&& $authordata->ID == $link->link_owner)
$countries[$link->link_name] = array(
'code' => $link->link_name,
'name' => $link->link_description,
'uri' => $link->link_url,
'country' => 'http://www.daml.org/2001/09/countries/iso#' . $link->link_name);
}
}
return $countries;
}
function get_semantic_visits_usstates() {
global $authordata;
# Return array of visited US states.
$usstates = array();
$links = get_linkobjectsbyname('US States');
if ($links) {
$cat_id = 0;
foreach ($links as $link) {
if(preg_match('|^[A-Z]{2}$|', $link->link_name)
&& ($link->link_category == $cat_id
|| !$cat_id && 'US States' == get_linkcatname($link->link_category))
&& $authordata->ID == $link->link_owner) {
$cat_id = $link->link_category;
$usstates[$link->link_name] = array(
'code' => $link->link_name,
'name' => $link->link_description,
'uri' => $link->link_url,
'usstate' => 'http://www.daml.ri.cmu.edu/ont/USRegionState.daml#' . $link->link_name);
}
}
}
return $usstates;
}
function get_semantic_visits_caregions() {
global $authordata;
# Return array of visited Canadian regions.
$caregions = array();
$links = get_linkobjectsbyname('CA Regions');
if ($links) {
$cat_id = 0;
foreach ($links as $link) {
if(preg_match('|^[A-Z]{2}$|', $link->link_name)
&& ($link->link_category == $cat_id
|| !$cat_id && 'CA Regions' == get_linkcatname($link->link_category))
&& $authordata->ID == $link->link_owner) {
$cat_id = $link->link_category;
$caregions[$link->link_name] = array(
'code' => $link->link_name,
'name' => $link->link_description,
'uri' => $link->link_url,
'caregion' => 'http://www.daml.ri.cmu.edu/ont/CanadianState.daml#' . $link->link_name);
}
}
}
return $caregions;
}
# Add filters for profile output.
add_filter('foaf_output_profile_rdf_namespaces', 'semantic_visits_rdf_namespaces');
add_filter('foaf_output_profile_rdf_document', 'semantic_visits_rdf_document');
add_filter('foaf_output_profile_rdf_person', 'semantic_visits_rdf_person');
add_filter('foaf_output_profile_html_person', 'semantic_visits_html_person');
?>