summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfisharebest <fisharebest@gmail.com>2011-10-16 13:27:26 +0000
committerfisharebest <fisharebest@gmail.com>2011-10-16 13:27:26 +0000
commitf1989434ba189c1d82a3e306fb8d9c959edc6da8 (patch)
tree83e76cc55596f2afbdc805f938c3b7d504934de9
parent409e96207fff8b9c540f3789962a9ae1ff23fdbd (diff)
downloadwebtrees-f1989434ba189c1d82a3e306fb8d9c959edc6da8.tar.gz
webtrees-f1989434ba189c1d82a3e306fb8d9c959edc6da8.tar.bz2
webtrees-f1989434ba189c1d82a3e306fb8d9c959edc6da8.zip
Access gedcom data via API, not directly from database
-rw-r--r--modules_v3/gedcom_favorites/module.php45
-rw-r--r--modules_v3/user_favorites/module.php45
2 files changed, 42 insertions, 48 deletions
diff --git a/modules_v3/gedcom_favorites/module.php b/modules_v3/gedcom_favorites/module.php
index 1ea13d887e..7b904b7fe5 100644
--- a/modules_v3/gedcom_favorites/module.php
+++ b/modules_v3/gedcom_favorites/module.php
@@ -68,31 +68,28 @@ class gedcom_favorites_WT_Module extends WT_Module implements WT_Module_Block {
$favtitle=safe_GET('favtitle');
if ($gid) {
- $indirec = find_gedcom_record($gid, WT_GED_ID);
- $ct = preg_match('/0 @(.*)@ (.*)/', $indirec, $match);
- if ($indirec && $ct>0) {
- $favorite = array();
- $favorite['username'] = WT_GEDCOM;
- $favorite['gid'] = $gid;
- $favorite['type'] = trim($match[2]);
- $favorite['file'] = WT_GEDCOM;
- $favorite['url'] = '';
- $favorite['note'] = $favnote;
- $favorite['title'] = '';
- self::addFavorite($favorite);
+ $record=WT_GedcomRecord::getInstance($gid);
+ if ($record && $record->canDisplayDetails()) {
+ self::addFavorite(array(
+ 'username'=>WT_GEDCOM,
+ 'gid' =>$record->getXref(),
+ 'type' =>$record->getType(),
+ 'file' =>WT_GEDCOM,
+ 'url' =>'',
+ 'note' =>$favnote,
+ 'title' =>$favtitle,
+ ));
}
- }
- if ($url) {
- if (empty($favtitle)) $favtitle = $url;
- $favorite = array();
- $favorite['username'] = WT_GEDCOM;
- $favorite['gid'] = '';
- $favorite['type'] = 'URL';
- $favorite['file'] = WT_GEDCOM;
- $favorite['url'] = $url;
- $favorite['note'] = $favnote;
- $favorite['title'] = $favtitle;
- self::addFavorite($favorite);
+ } elseif ($url) {
+ self::addFavorite(array(
+ 'username'=>WT_GEDCOM,
+ 'gid' =>'',
+ 'type' =>'URL',
+ 'file' =>WT_GEDCOM,
+ 'url' =>$url,
+ 'note' =>$favnote,
+ 'title' =>$favtitle ? $favtitle : $url,
+ ));
}
unset($_GET['action']);
break;
diff --git a/modules_v3/user_favorites/module.php b/modules_v3/user_favorites/module.php
index ae069ab70b..913db4d8c6 100644
--- a/modules_v3/user_favorites/module.php
+++ b/modules_v3/user_favorites/module.php
@@ -68,31 +68,28 @@ class user_favorites_WT_Module extends WT_Module implements WT_Module_Block {
$favtitle=safe_GET('favtitle');
if ($gid) {
- $indirec = find_gedcom_record($gid, WT_GED_ID);
- $ct = preg_match('/0 @(.*)@ (.*)/', $indirec, $match);
- if ($indirec && $ct>0) {
- $favorite = array();
- $favorite['username'] = WT_USER_NAME;
- $favorite['gid'] = $gid;
- $favorite['type'] = trim($match[2]);
- $favorite['file'] = WT_GEDCOM;
- $favorite['url'] = '';
- $favorite['note'] = $favnote;
- $favorite['title'] = '';
- self::addFavorite($favorite);
+ $record=WT_GedcomRecord::getInstance($gid);
+ if ($record && $record->canDisplayDetails()) {
+ self::addFavorite(array(
+ 'username'=>WT_USER_NAME,
+ 'gid' =>$record->getXref(),
+ 'type' =>$record->getType(),
+ 'file' =>WT_GEDCOM,
+ 'url' =>'',
+ 'note' =>$favnote,
+ 'title' =>$favtitle,
+ ));
}
- }
- if ($url) {
- if (empty($favtitle)) $favtitle = $url;
- $favorite = array();
- $favorite['username'] = WT_USER_NAME;
- $favorite['gid'] = '';
- $favorite['type'] = 'URL';
- $favorite['file'] = WT_GEDCOM;
- $favorite['url'] = $url;
- $favorite['note'] = $favnote;
- $favorite['title'] = $favtitle;
- self::addFavorite($favorite);
+ } elseif ($url) {
+ self::addFavorite(array(
+ 'username'=>WT_USER_NAME,
+ 'gid' =>'',
+ 'type' =>'URL',
+ 'file' =>WT_GEDCOM,
+ 'url' =>$url,
+ 'note' =>$favnote,
+ 'title' =>$favtitle ? $favtitle : $url,
+ ));
}
unset($_GET['action']);
break;