diff options
| author | fisharebest <fisharebest@gmail.com> | 2011-10-16 13:27:26 +0000 |
|---|---|---|
| committer | fisharebest <fisharebest@gmail.com> | 2011-10-16 13:27:26 +0000 |
| commit | f1989434ba189c1d82a3e306fb8d9c959edc6da8 (patch) | |
| tree | 83e76cc55596f2afbdc805f938c3b7d504934de9 | |
| parent | 409e96207fff8b9c540f3789962a9ae1ff23fdbd (diff) | |
| download | webtrees-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.php | 45 | ||||
| -rw-r--r-- | modules_v3/user_favorites/module.php | 45 |
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; |
