summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/Controller/FamilyController.php12
-rw-r--r--app/Controller/GedcomRecordController.php59
-rw-r--r--app/Controller/IndividualController.php14
-rw-r--r--app/Controller/MediaController.php12
-rw-r--r--app/Controller/NoteController.php12
-rw-r--r--app/Controller/RepositoryController.php12
-rw-r--r--app/Controller/SourceController.php12
-rw-r--r--app/Functions/FunctionsEdit.php4
-rw-r--r--family.php5
-rw-r--r--gedrecord.php182
-rw-r--r--individual.php11
-rw-r--r--mediaviewer.php167
-rw-r--r--note.php114
-rw-r--r--repo.php171
-rw-r--r--source.php215
-rw-r--r--themes/clouds/css-1.7.0/style.css21
-rw-r--r--themes/colors/css-1.7.0/style.css15
-rw-r--r--themes/webtrees/css-1.7.0/style.css18
-rw-r--r--themes/xenea/css-1.7.0/style.css18
19 files changed, 700 insertions, 374 deletions
diff --git a/app/Controller/FamilyController.php b/app/Controller/FamilyController.php
index 1eb274d4f1..9b1b2d4401 100644
--- a/app/Controller/FamilyController.php
+++ b/app/Controller/FamilyController.php
@@ -31,18 +31,6 @@ use Fisharebest\Webtrees\Module;
*/
class FamilyController extends GedcomRecordController {
/**
- * Startup activity
- */
- public function __construct() {
- global $WT_TREE;
-
- $xref = Filter::get('famid', WT_REGEX_XREF);
- $this->record = Family::getInstance($xref, $WT_TREE);
-
- parent::__construct();
- }
-
- /**
* Get significant information from this page, to allow other pages such as
* charts and reports to initialise with the same records
*
diff --git a/app/Controller/GedcomRecordController.php b/app/Controller/GedcomRecordController.php
index cc4da3c80e..8ec1393d8e 100644
--- a/app/Controller/GedcomRecordController.php
+++ b/app/Controller/GedcomRecordController.php
@@ -15,16 +15,21 @@
*/
namespace Fisharebest\Webtrees\Controller;
+use Fisharebest\Webtrees\Auth;
use Fisharebest\Webtrees\Family;
+use Fisharebest\Webtrees\Filter;
use Fisharebest\Webtrees\FlashMessages;
use Fisharebest\Webtrees\GedcomRecord;
use Fisharebest\Webtrees\GedcomTag;
use Fisharebest\Webtrees\I18N;
use Fisharebest\Webtrees\Individual;
use Fisharebest\Webtrees\Media;
+use Fisharebest\Webtrees\Menu;
+use Fisharebest\Webtrees\Module;
use Fisharebest\Webtrees\Note;
use Fisharebest\Webtrees\Repository;
use Fisharebest\Webtrees\Source;
+use Fisharebest\Webtrees\Tree;
/**
* Base controller for all GedcomRecord controllers
@@ -39,8 +44,14 @@ class GedcomRecordController extends PageController {
/**
* Startup activity
+ *
+ * @param GedcomRecord $record
+ *
+ * @throws \Exception
*/
- public function __construct() {
+ public function __construct(GedcomRecord $record) {
+ $this->record = $record;
+
// Automatically fix broken links
if ($this->record && $this->record->canEdit()) {
$broken_links = 0;
@@ -85,4 +96,50 @@ class GedcomRecordController extends PageController {
$this->setPageTitle(I18N::translate('Private'));
}
}
+
+ /**
+ * get edit menu
+ */
+ public function getEditMenu() {
+ if (!$this->record || $this->record->isPendingDeletion()) {
+ return null;
+ }
+
+ // edit menu
+ $menu = new Menu(I18N::translate('Edit'), '#', 'menu-record');
+
+ // edit raw
+ if (Auth::isAdmin() || Auth::isEditor($this->record->getTree()) && $this->record->getTree()->getPreference('SHOW_GEDCOM_RECORD')) {
+ $menu->addSubmenu(new Menu(I18N::translate('Edit raw GEDCOM'), '#', 'menu-record-editraw', array(
+ 'onclick' => 'return edit_raw("' . $this->record->getXref() . '");',
+ )));
+ }
+
+ // delete
+ if (Auth::isEditor($this->record->getTree())) {
+ $menu->addSubmenu(new Menu(I18N::translate('Delete'), '#', 'menu-record-del', array(
+ 'onclick' => 'return record("' . I18N::translate('Are you sure you want to delete “%s”?', Filter::escapeJS(Filter::unescapeHtml($this->record->getFullName()))) . '", "' . $this->record->getXref() . '");',
+ )));
+ }
+
+ // add to favorites
+ if (Module::getModuleByName('user_favorites')) {
+ $menu->addSubmenu(new Menu(
+ /* I18N: Menu option. Add [the current page] to the list of favorites */ I18N::translate('Add to favorites'),
+ '#',
+ 'menu-record-addfav',
+ array(
+ 'onclick' => 'jQuery.post("module.php?mod=user_favorites&mod_action=menu-add-favorite" ,{xref:"' . $this->record->getXref() . '"},function(){location.reload();})',
+ )));
+ }
+
+ // Get the link for the first submenu and set it as the link for the main menu
+ if ($menu->getSubmenus()) {
+ $submenus = $menu->getSubmenus();
+ $menu->setLink($submenus[0]->getLink());
+ $menu->setAttrs($submenus[0]->getAttrs());
+ }
+
+ return $menu;
+ }
}
diff --git a/app/Controller/IndividualController.php b/app/Controller/IndividualController.php
index 0c3777e738..ab2883dc20 100644
--- a/app/Controller/IndividualController.php
+++ b/app/Controller/IndividualController.php
@@ -47,18 +47,8 @@ class IndividualController extends GedcomRecordController {
/**
* Startup activity
*/
- public function __construct() {
- global $WT_TREE;
-
- $xref = Filter::get('pid', WT_REGEX_XREF);
- $this->record = Individual::getInstance($xref, $WT_TREE);
-
- if (!$this->record && $WT_TREE->getPreference('USE_RIN')) {
- $rin = FunctionsDb::findRin($xref);
- $this->record = Individual::getInstance($rin, $WT_TREE);
- }
-
- parent::__construct();
+ public function __construct($record) {
+ parent::__construct($record);
// If we can display the details, add them to the page header
if ($this->record && $this->record->canShow()) {
diff --git a/app/Controller/MediaController.php b/app/Controller/MediaController.php
index aa04d03cbc..cc15dcaadf 100644
--- a/app/Controller/MediaController.php
+++ b/app/Controller/MediaController.php
@@ -29,18 +29,6 @@ use Fisharebest\Webtrees\Module;
*/
class MediaController extends GedcomRecordController {
/**
- * Startup activity
- */
- public function __construct() {
- global $WT_TREE;
-
- $xref = Filter::get('mid', WT_REGEX_XREF);
- $this->record = Media::getInstance($xref, $WT_TREE);
-
- parent::__construct();
- }
-
- /**
* get edit menu
*/
public function getEditMenu() {
diff --git a/app/Controller/NoteController.php b/app/Controller/NoteController.php
index 3bb19b6954..b04ae6b3c5 100644
--- a/app/Controller/NoteController.php
+++ b/app/Controller/NoteController.php
@@ -27,18 +27,6 @@ use Fisharebest\Webtrees\Note;
*/
class NoteController extends GedcomRecordController {
/**
- * Startup activity
- */
- public function __construct() {
- global $WT_TREE;
-
- $xref = Filter::get('nid', WT_REGEX_XREF);
- $this->record = Note::getInstance($xref, $WT_TREE);
-
- parent::__construct();
- }
-
- /**
* get edit menu
*/
public function getEditMenu() {
diff --git a/app/Controller/RepositoryController.php b/app/Controller/RepositoryController.php
index 802c4da6a8..8fa821c9e7 100644
--- a/app/Controller/RepositoryController.php
+++ b/app/Controller/RepositoryController.php
@@ -27,18 +27,6 @@ use Fisharebest\Webtrees\Repository;
*/
class RepositoryController extends GedcomRecordController {
/**
- * Startup activity
- */
- public function __construct() {
- global $WT_TREE;
-
- $xref = Filter::get('rid', WT_REGEX_XREF);
- $this->record = Repository::getInstance($xref, $WT_TREE);
-
- parent::__construct();
- }
-
- /**
* get edit menu
*/
public function getEditMenu() {
diff --git a/app/Controller/SourceController.php b/app/Controller/SourceController.php
index 2d81723f24..cba149a408 100644
--- a/app/Controller/SourceController.php
+++ b/app/Controller/SourceController.php
@@ -27,18 +27,6 @@ use Fisharebest\Webtrees\Source;
*/
class SourceController extends GedcomRecordController {
/**
- * Startup activity
- */
- public function __construct() {
- global $WT_TREE;
-
- $xref = Filter::get('sid', WT_REGEX_XREF);
- $this->record = Source::getInstance($xref, $WT_TREE);
-
- parent::__construct();
- }
-
- /**
* get edit menu
*/
public function getEditMenu() {
diff --git a/app/Functions/FunctionsEdit.php b/app/Functions/FunctionsEdit.php
index 628dd30815..f1d63b9e8b 100644
--- a/app/Functions/FunctionsEdit.php
+++ b/app/Functions/FunctionsEdit.php
@@ -557,7 +557,7 @@ class FunctionsEdit {
// Not all facts have help text.
switch ($fact) {
case 'NAME':
- if ($upperlevel !== 'REPO') {
+ if ($upperlevel !== 'REPO' && $upperlevel !== 'UNKNOWN') {
echo FunctionsPrint::helpLink($fact);
}
break;
@@ -696,7 +696,7 @@ class FunctionsEdit {
echo '>', $typeValue, '</option>';
}
echo '</select>';
- } elseif (($fact === 'NAME' && $upperlevel !== 'REPO') || $fact === '_MARNM') {
+ } elseif (($fact === 'NAME' && $upperlevel !== 'REPO' && $upperlevel !== 'UNKNOWN') || $fact === '_MARNM') {
// Populated in javascript from sub-tags
echo '<input type="hidden" id="', $element_id, '" name="', $element_name, '" onchange="updateTextName(\'', $element_id, '\');" value="', Filter::escapeHtml($value), '" class="', $fact, '">';
echo '<span id="', $element_id, '_display" dir="auto">', Filter::escapeHtml($value), '</span>';
diff --git a/family.php b/family.php
index 3d7359b955..84a3922c0c 100644
--- a/family.php
+++ b/family.php
@@ -18,7 +18,7 @@ namespace Fisharebest\Webtrees;
/**
* Defined in session.php
*
- * @global Tree $WT_TREE
+ * @global Tree $WT_TREE
*/
global $WT_TREE;
@@ -29,7 +29,8 @@ use Fisharebest\Webtrees\Functions\FunctionsPrint;
define('WT_SCRIPT_NAME', 'family.php');
require './includes/session.php';
-$controller = new FamilyController;
+$record = Family::getInstance(Filter::get('fid', WT_REGEX_XREF), $WT_TREE);
+$controller = new FamilyController($record);
if ($controller->record && $controller->record->canShow()) {
$controller->pageHeader();
diff --git a/gedrecord.php b/gedrecord.php
index dad4d27428..b178af153d 100644
--- a/gedrecord.php
+++ b/gedrecord.php
@@ -22,36 +22,176 @@ namespace Fisharebest\Webtrees;
*/
global $WT_TREE;
-use Fisharebest\Webtrees\Controller\PageController;
+use Fisharebest\Webtrees\Controller\GedcomRecordController;
+use Fisharebest\Webtrees\Functions\FunctionsPrint;
+use Fisharebest\Webtrees\Functions\FunctionsPrintFacts;
+use Fisharebest\Webtrees\Functions\FunctionsPrintLists;
define('WT_SCRIPT_NAME', 'gedrecord.php');
require './includes/session.php';
-$controller = new PageController;
-
-$obj = GedcomRecord::getInstance(Filter::get('pid', WT_REGEX_XREF), $WT_TREE);
-
+$record = GedcomRecord::getInstance(Filter::get('pid', WT_REGEX_XREF), $WT_TREE);
if (
- $obj instanceof Individual ||
- $obj instanceof Family ||
- $obj instanceof Source ||
- $obj instanceof Repository ||
- $obj instanceof Note ||
- $obj instanceof Media
+ $record instanceof Individual ||
+ $record instanceof Family ||
+ $record instanceof Source ||
+ $record instanceof Repository ||
+ $record instanceof Note ||
+ $record instanceof Media
) {
- header('Location: ' . WT_BASE_URL . $obj->getRawUrl());
+ header('Location: ' . WT_BASE_URL . $record->getRawUrl());
return;
-} elseif (!$obj || !$obj->canShow()) {
+}
+$controller = new GedcomRecordController($record);
+
+if ($controller->record && $controller->record->canShow()) {
$controller->pageHeader();
- echo '<div class="error">', I18N::translate('This information is private and cannot be shown.'), '</div>';
+ if ($controller->record->isPendingDeletion()) {
+ if (Auth::isModerator($controller->record->getTree())) {
+ echo
+ '<p class="ui-state-highlight">',
+ /* I18N: %1$s is “accept”, %2$s is “reject”. These are links. */ I18N::translate(
+ 'This record has been deleted. You should review the deletion and then %1$s or %2$s it.',
+ '<a href="#" onclick="accept_changes(\'' . $controller->record->getXref() . '\');">' . I18N::translateContext('You should review the deletion and then accept or reject it.', 'accept') . '</a>',
+ '<a href="#" onclick="reject_changes(\'' . $controller->record->getXref() . '\');">' . I18N::translateContext('You should review the deletion and then accept or reject it.', 'reject') . '</a>'
+ ),
+ ' ', FunctionsPrint::helpLink('pending_changes'),
+ '</p>';
+ } elseif (Auth::isEditor($controller->record->getTree())) {
+ echo
+ '<p class="ui-state-highlight">',
+ I18N::translate('This record has been deleted. The deletion will need to be reviewed by a moderator.'),
+ ' ', FunctionsPrint::helpLink('pending_changes'),
+ '</p>';
+ }
+ } elseif ($controller->record->isPendingAddtion()) {
+ if (Auth::isModerator($controller->record->getTree())) {
+ echo
+ '<p class="ui-state-highlight">',
+ /* I18N: %1$s is “accept”, %2$s is “reject”. These are links. */ I18N::translate(
+ 'This record has been edited. You should review the changes and then %1$s or %2$s them.',
+ '<a href="#" onclick="accept_changes(\'' . $controller->record->getXref() . '\');">' . I18N::translateContext('You should review the changes and then accept or reject them.', 'accept') . '</a>',
+ '<a href="#" onclick="reject_changes(\'' . $controller->record->getXref() . '\');">' . I18N::translateContext('You should review the changes and then accept or reject them.', 'reject') . '</a>'
+ ),
+ ' ', FunctionsPrint::helpLink('pending_changes'),
+ '</p>';
+ } elseif (Auth::isEditor($controller->record->getTree())) {
+ echo
+ '<p class="ui-state-highlight">',
+ I18N::translate('This record has been edited. The changes need to be reviewed by a moderator.'),
+ ' ', FunctionsPrint::helpLink('pending_changes'),
+ '</p>';
+ }
+ }
} else {
+ http_response_code(404);
$controller->pageHeader();
- echo
- '<pre style="white-space:pre-wrap; word-wrap:break-word;">',
- preg_replace(
- '/@(' . WT_REGEX_XREF . ')@/', '@<a href="gedrecord.php?pid=$1">$1</a>@',
- Filter::escapeHtml($obj->getGedcom())
- ),
- '</pre>';
+ echo '<p class="ui-state-error">', I18N::translate('This record does not exist or you do not have permission to view it.'), '</p>';
+
+ return;
}
+
+$controller->addInlineJavascript('
+ jQuery("#record-tabs")
+ .tabs({
+ create: function(e, ui){
+ jQuery(e.target).css("visibility", "visible"); // prevent FOUC
+ }
+ });
+');
+
+$linked_indi = $controller->record->linkedIndividuals('SUBM');
+$linked_fam = $controller->record->linkedFamilies('SUBM');
+$linked_obje = $controller->record->linkedMedia('SUBM');
+$linked_sour = $controller->record->linkedSources('SUBM');
+$linked_note = $controller->record->linkedNotes('SUBM');
+
+$facts = $controller->record->getFacts();
+
+?>
+<div id="record-details">
+ <h2>
+ <?php echo $controller->record->getFullName() ?>
+ </h2>
+ <div id="record-tabs">
+ <ul>
+ <li>
+ <a href="#record-edit">
+ <?php echo I18N::translate('Details') ?>
+ </a>
+ </li>
+ <?php if ($linked_indi): ?>
+ <li>
+ <a href="#linked-individuals">
+ <?php echo I18N::translate('Individuals') ?>
+ </a>
+ </li>
+ <?php endif; ?>
+ <?php if ($linked_fam): ?>
+ <li>
+ <a href="#linked-families">
+ <?php echo I18N::translate('Families') ?>
+ </a>
+ </li>
+ <?php endif; ?>
+ <?php if ($linked_obje): ?>
+ <li>
+ <a href="#linked-media">
+ <?php echo I18N::translate('Media objects') ?>
+ </a>
+ </li>
+ <?php endif; ?>
+ <?php if ($linked_sour): ?>
+ <li>
+ <a href="#linked-sources"><?php echo I18N::translate('Sources') ?></a>
+ </li>
+ <?php endif; ?>
+ <?php if ($linked_note): ?>
+ <li>
+ <a href="#linked-notes"><?php echo I18N::translate('Notes') ?></a>
+ </li>
+ <?php endif; ?>
+ </ul>
+
+ <div id="record-edit">
+ <table class="facts_table">
+ <?php
+ foreach ($facts as $fact) {
+ FunctionsPrintFacts::printFact($fact, $controller->record);
+ }
+ ?>
+ </table>
+ </div>
+
+ <?php if ($linked_indi): ?>
+ <div id="linked-individuals">
+ <?php echo FunctionsPrintLists::individualTable($linked_indi) ?>
+ </div>
+ <?php endif; ?>
+
+ <?php if ($linked_fam): ?>
+ <div id="linked-families">
+ <?php echo FunctionsPrintLists::familyTable($linked_fam) ?>
+ </div>
+ <?php endif; ?>
+
+ <?php if ($linked_obje): ?>
+ <div id="linked-media">
+ <?php echo FunctionsPrintLists::mediaTable($linked_obje) ?>
+ </div>
+ <?php endif; ?>
+
+ <?php if ($linked_sour): ?>
+ <div id="linked-sources">
+ <?php echo FunctionsPrintLists::sourceTable($linked_sour) ?>
+ </div>
+ <?php endif; ?>
+
+ <?php if ($linked_note): ?>
+ <div id="linked-notes">
+ <?php echo FunctionsPrintLists::noteTable($linked_note) ?>
+ </div>
+ <?php endif; ?>
+ </div>
+</div>
diff --git a/individual.php b/individual.php
index 132249d0c9..a9e1e9948d 100644
--- a/individual.php
+++ b/individual.php
@@ -18,17 +18,24 @@ namespace Fisharebest\Webtrees;
/**
* Defined in session.php
*
- * @global Tree $WT_TREE
+ * @global Tree $WT_TREE
*/
global $WT_TREE;
use Fisharebest\Webtrees\Controller\IndividualController;
use Fisharebest\Webtrees\Functions\FunctionsDate;
+use Fisharebest\Webtrees\Functions\FunctionsDb;
use Fisharebest\Webtrees\Functions\FunctionsPrint;
define('WT_SCRIPT_NAME', 'individual.php');
require './includes/session.php';
-$controller = new IndividualController;
+
+$pid = Filter::get('pid', WT_REGEX_XREF);
+$record = Individual::getInstance($pid, $WT_TREE);
+if (!$record && $WT_TREE->getPreference('USE_RIN')) {
+ $record = Individual::getInstance(FunctionsDb::findRin($pid), $WT_TREE);
+}
+$controller = new IndividualController($record);
if ($controller->record && $controller->record->canShow()) {
if (Filter::get('action') == 'ajax') {
diff --git a/mediaviewer.php b/mediaviewer.php
index 4d0b5093a1..86cf3bcba8 100644
--- a/mediaviewer.php
+++ b/mediaviewer.php
@@ -18,7 +18,7 @@ namespace Fisharebest\Webtrees;
/**
* Defined in session.php
*
- * @global Tree $WT_TREE
+ * @global Tree $WT_TREE
*/
global $WT_TREE;
@@ -30,7 +30,8 @@ use Fisharebest\Webtrees\Functions\FunctionsPrintLists;
define('WT_SCRIPT_NAME', 'mediaviewer.php');
require './includes/session.php';
-$controller = new MediaController;
+$record = Media::getInstance(Filter::get('mid', WT_REGEX_XREF), $WT_TREE);
+$controller = new MediaController($record);
if ($controller->record && $controller->record->canShow()) {
$controller->pageHeader();
@@ -88,19 +89,65 @@ $controller->addInlineJavascript('
});
');
-$linked_indi = $controller->record->linkedIndividuals('OBJE');
$linked_fam = $controller->record->linkedFamilies('OBJE');
+$linked_indi = $controller->record->linkedIndividuals('OBJE');
+$linked_note = $controller->record->linkedNotes('OBJE');
+$linked_obje = array();
$linked_sour = $controller->record->linkedSources('OBJE');
-$linked_repo = $controller->record->linkedRepositories('OBJE'); // Invalid GEDCOM - you cannot link a REPO to an OBJE
-$linked_note = $controller->record->linkedNotes('OBJE'); // Invalid GEDCOM - you cannot link a NOTE to an OBJE
+$linked_repo = $controller->record->linkedRepositories('OBJE');
+
+$facts = $controller->getFacts();
+
+?>
+<div id="media-details">
+ <h2>
+ <?php echo $controller->record->getFullName() ?>
+ </h2>
+ <div id="media-tabs">
+ <ul>
+ <li>
+ <a href="#media-edit">
+ <?php echo I18N::translate('Details') ?>
+ </a>
+ </li>
+ <?php if ($linked_indi): ?>
+ <li>
+ <a href="#linked-individuals">
+ <?php echo I18N::translate('Individuals') ?>
+ </a>
+ </li>
+ <?php endif; ?>
+ <?php if ($linked_fam): ?>
+ <li>
+ <a href="#linked-families">
+ <?php echo I18N::translate('Families') ?>
+ </a>
+ </li>
+ <?php endif; ?>
+ <?php if ($linked_obje): ?>
+ <li>
+ <a href="#linked-media">
+ <?php echo I18N::translate('Media objects') ?>
+ </a>
+ </li>
+ <?php endif; ?>
+ <?php if ($linked_sour): ?>
+ <li>
+ <a href="#linked-sources"><?php echo I18N::translate('Sources') ?></a>
+ </li>
+ <?php endif; ?>
+ <?php if ($linked_note): ?>
+ <li>
+ <a href="#linked-notes"><?php echo I18N::translate('Notes') ?></a>
+ </li>
+ <?php endif; ?>
+ </ul>
-echo '<div id="media-details">';
-echo '<h2>', $controller->record->getFullName(), ' ', $controller->record->getAddName(), '</h2>';
-echo '<div id="media-tabs">';
- echo '<div id="media-edit">';
- echo '<table class="facts_table">
+ <div id="media-edit">
+ <table class="facts_table">
<tr>
- <td align="center" width="150">';
+ <td align="center" width="150">
+ <?php
// When we have a pending edit, $controller->record shows the *old* data.
// As a temporary kludge, fetch a "normal" version of the record - which includes pending changes
// Perhaps check both, and use RED/BLUE boxes.
@@ -115,65 +162,49 @@ echo '<div id="media-tabs">';
echo '<p class="ui-state-error">' . I18N::translate('The file “%s” does not exist.', $tmp->getFilename()) . '</p>';
}
}
- echo '</td>
- <td valign="top">
- <table width="100%">
- <tr>
- <td>
- <table class="facts_table">';
- $facts = $controller->getFacts();
- foreach ($facts as $f => $fact) {
- FunctionsPrintFacts::printFact($fact, $controller->record);
- }
- echo '</table>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- </div>';
- echo '<ul>';
- if ($linked_indi) {
- echo '<li><a href="#indi-media"><span id="indimedia">', I18N::translate('Individuals'), '</span></a></li>';
- }
- if ($linked_fam) {
- echo '<li><a href="#fam-media"><span id="fammedia">', I18N::translate('Families'), '</span></a></li>';
- }
- if ($linked_sour) {
- echo '<li><a href="#sources-media"><span id="sourcemedia">', I18N::translate('Sources'), '</span></a></li>';
- }
- if ($linked_repo) {
- echo '<li><a href="#repo-media"><span id="repomedia">', I18N::translate('Repositories'), '</span></a></li>';
- }
- if ($linked_note) {
- echo '<li><a href="#notes-media"><span id="notemedia">', I18N::translate('Notes'), '</span></a></li>';
- }
- echo '</ul>';
+ ?>
+ </td>
+ <td valign="top">
+ <table class="facts_table">
+ <?php
+ foreach ($facts as $fact) {
+ FunctionsPrintFacts::printFact($fact, $controller->record);
+ }
+ ?>
+ </table>
+ </td>
+ </tr>
+ </table>
+ </div>
- // Individuals linked to this media object
- if ($linked_indi) {
- echo '<div id="indi-media">', FunctionsPrintLists::individualTable($linked_indi), '</div>';
- }
+ <?php if ($linked_indi): ?>
+ <div id="linked-individuals">
+ <?php echo FunctionsPrintLists::individualTable($linked_indi) ?>
+ </div>
+ <?php endif; ?>
- // Families linked to this media object
- if ($linked_fam) {
- echo '<div id="fam-media">', FunctionsPrintLists::familyTable($linked_fam), '</div>';
- }
+ <?php if ($linked_fam): ?>
+ <div id="linked-families">
+ <?php echo FunctionsPrintLists::familyTable($linked_fam) ?>
+ </div>
+ <?php endif; ?>
- // Sources linked to this media object
- if ($linked_sour) {
- echo '<div id="sources-media">', FunctionsPrintLists::sourceTable($linked_sour), '</div>';
- }
+ <?php if ($linked_obje): ?>
+ <div id="linked-media">
+ <?php echo FunctionsPrintLists::mediaTable($linked_obje) ?>
+ </div>
+ <?php endif; ?>
- // Repositories linked to this media object
- if ($linked_repo) {
- echo '<div id="repo-media">', FunctionsPrintLists::repositoryTable($linked_repo), '</div>';
- }
+ <?php if ($linked_sour): ?>
+ <div id="linked-sources">
+ <?php echo FunctionsPrintLists::sourceTable($linked_sour) ?>
+ </div>
+ <?php endif; ?>
- // medias linked to this media object
- if ($linked_note) {
- echo '<div id="notes-media">', FunctionsPrintLists::noteTable($linked_note), '</div>';
- }
-echo '</div>';
-echo '</div>';
+ <?php if ($linked_note): ?>
+ <div id="linked-notes">
+ <?php echo FunctionsPrintLists::noteTable($linked_note) ?>
+ </div>
+ <?php endif; ?>
+ </div>
+</div>
diff --git a/note.php b/note.php
index 2d8289becd..3a4bb90a57 100644
--- a/note.php
+++ b/note.php
@@ -15,6 +15,13 @@
*/
namespace Fisharebest\Webtrees;
+/**
+ * Defined in session.php
+ *
+ * @global Tree $WT_TREE
+ */
+global $WT_TREE;
+
use Fisharebest\Webtrees\Controller\NoteController;
use Fisharebest\Webtrees\Functions\FunctionsPrint;
use Fisharebest\Webtrees\Functions\FunctionsPrintFacts;
@@ -24,7 +31,8 @@ use Fisharebest\Webtrees\Module\CensusAssistantModule;
define('WT_SCRIPT_NAME', 'note.php');
require './includes/session.php';
-$controller = new NoteController;
+$record = Note::getInstance(Filter::get('nid', WT_REGEX_XREF), $WT_TREE);
+$controller = new NoteController($record);
if ($controller->record && $controller->record->canShow()) {
$controller->pageHeader();
@@ -82,8 +90,9 @@ $controller->addInlineJavascript('
});
');
-$linked_indi = $controller->record->linkedIndividuals('NOTE');
$linked_fam = $controller->record->linkedFamilies('NOTE');
+$linked_indi = $controller->record->linkedIndividuals('NOTE');
+$linked_note = array();
$linked_obje = $controller->record->linkedMedia('NOTE');
$linked_sour = $controller->record->linkedSources('NOTE');
@@ -103,43 +112,49 @@ if (Module::getModuleByName('GEDFact_assistant')) {
?>
<div id="note-details">
- <h2><?php echo $controller->record->getFullName(); ?></h2>
+ <h2>
+ <?php echo $controller->record->getFullName() ?>
+ </h2>
<div id="note-tabs">
<ul>
<li>
<a href="#note-edit">
- <span><?php echo I18N::translate('Details'); ?></span>
+ <?php echo I18N::translate('Details') ?>
</a>
</li>
- <?php if ($linked_indi) { ?>
+ <?php if ($linked_indi): ?>
<li>
- <a href="#indi-note">
- <span id="indisource"><?php echo I18N::translate('Individuals'); ?></span>
+ <a href="#linked-individuals">
+ <?php echo I18N::translate('Individuals') ?>
</a>
</li>
- <?php } ?>
- <?php if ($linked_fam) { ?>
+ <?php endif; ?>
+ <?php if ($linked_fam): ?>
<li>
- <a href="#fam-note">
- <span id="famsource"><?php echo I18N::translate('Families'); ?></span>
+ <a href="#linked-families">
+ <?php echo I18N::translate('Families') ?>
</a>
</li>
- <?php } ?>
- <?php if ($linked_obje) { ?>
+ <?php endif; ?>
+ <?php if ($linked_obje): ?>
<li>
- <a href="#media-note">
- <span id="mediasource"><?php echo I18N::translate('Media objects'); ?></span>
+ <a href="#linked-media">
+ <?php echo I18N::translate('Media objects') ?>
</a>
</li>
- <?php } ?>
- <?php if ($linked_sour) { ?>
+ <?php endif; ?>
+ <?php if ($linked_sour): ?>
<li>
- <a href="#source-note">
- <span id="notesource"><?php echo I18N::translate('Sources'); ?></span>
- </a>
+ <a href="#linked-sources"><?php echo I18N::translate('Sources') ?></a>
+ </li>
+ <?php endif; ?>
+ <?php if ($linked_note): ?>
+ <li>
+ <a href="#linked-notes"><?php echo I18N::translate('Notes') ?></a>
</li>
- <?php } ?>
+ <?php endif; ?>
</ul>
+
<div id="note-edit">
<table class="facts_table">
<tr>
@@ -162,28 +177,45 @@ if (Module::getModuleByName('GEDFact_assistant')) {
<td class="optionbox wrap width80"><?php echo $text; ?></td>
</tr>
<?php
- foreach ($facts as $fact) {
- FunctionsPrintFacts::printFact($fact, $controller->record);
- }
- if ($controller->record->canEdit()) {
- FunctionsPrint::printAddNewFact($controller->record->getXref(), $facts, 'NOTE');
- }
+ foreach ($facts as $fact) {
+ FunctionsPrintFacts::printFact($fact, $controller->record);
+ }
+
+ if ($controller->record->canEdit()) {
+ FunctionsPrint::printAddNewFact($controller->record->getXref(), $facts, 'NOTE');
+ }
?>
</table>
</div>
- <?php
- if ($linked_indi) {
- echo '<div id="indi-note">', FunctionsPrintLists::individualTable($linked_indi), '</div>';
- }
- if ($linked_fam) {
- echo '<div id="fam-note">', FunctionsPrintLists::familyTable($linked_fam), '</div>';
- }
- if ($linked_obje) {
- echo '<div id="media-note">', FunctionsPrintLists::mediaTable($linked_obje), '</div>';
- }
- if ($linked_sour) {
- echo '<div id="source-note">', FunctionsPrintLists::sourceTable($linked_sour), '</div>';
- }
- ?>
+
+ <?php if ($linked_indi): ?>
+ <div id="linked-individuals">
+ <?php echo FunctionsPrintLists::individualTable($linked_indi) ?>
+ </div>
+ <?php endif; ?>
+
+ <?php if ($linked_fam): ?>
+ <div id="linked-families">
+ <?php echo FunctionsPrintLists::familyTable($linked_fam) ?>
+ </div>
+ <?php endif; ?>
+
+ <?php if ($linked_obje): ?>
+ <div id="linked-media">
+ <?php echo FunctionsPrintLists::mediaTable($linked_obje) ?>
+ </div>
+ <?php endif; ?>
+
+ <?php if ($linked_sour): ?>
+ <div id="linked-sources">
+ <?php echo FunctionsPrintLists::sourceTable($linked_sour) ?>
+ </div>
+ <?php endif; ?>
+
+ <?php if ($linked_note): ?>
+ <div id="linked-notes">
+ <?php echo FunctionsPrintLists::noteTable($linked_note) ?>
+ </div>
+ <?php endif; ?>
</div>
</div>
diff --git a/repo.php b/repo.php
index 6ec9c19aec..02cd4f33d8 100644
--- a/repo.php
+++ b/repo.php
@@ -15,6 +15,13 @@
*/
namespace Fisharebest\Webtrees;
+/**
+ * Defined in session.php
+ *
+ * @global Tree $WT_TREE
+ */
+global $WT_TREE;
+
use Fisharebest\Webtrees\Controller\RepositoryController;
use Fisharebest\Webtrees\Functions\FunctionsPrint;
use Fisharebest\Webtrees\Functions\FunctionsPrintFacts;
@@ -23,7 +30,8 @@ use Fisharebest\Webtrees\Functions\FunctionsPrintLists;
define('WT_SCRIPT_NAME', 'repo.php');
require './includes/session.php';
-$controller = new RepositoryController;
+$record = Repository::getInstance(Filter::get('rid', WT_REGEX_XREF), $WT_TREE);
+$controller = new RepositoryController($record);
if ($controller->record && $controller->record->canShow()) {
$controller->pageHeader();
@@ -81,63 +89,122 @@ $controller->addInlineJavascript('
});
');
+$linked_fam = array();
+$linked_indi = array();
+$linked_note = array();
+$linked_obje = array();
$linked_sour = $controller->record->linkedSources('REPO');
-echo '<div id="repo-details">';
-echo '<h2>', $controller->record->getFullName(), '</h2>';
-echo '<div id="repo-tabs">
- <ul>
- <li><a href="#repo-edit"><span>', I18N::translate('Details'), '</span></a></li>';
- if ($linked_sour) {
- echo '<li><a href="#source-repo"><span id="reposource">', I18N::translate('Sources'), '</span></a></li>';
- }
- echo '</ul>';
+$facts = $controller->record->getFacts();
- echo '<div id="repo-edit">';
- echo '<table class="facts_table">';
- // Fetch the facts
- $facts = $controller->record->getFacts();
+usort(
+ $facts,
+ function (Fact $x, Fact $y) {
+ static $order = array(
+ 'NAME' => 0,
+ 'ADDR' => 1,
+ 'NOTE' => 2,
+ 'WWW' => 3,
+ 'REFN' => 4,
+ 'RIN' => 5,
+ '_UID' => 6,
+ 'CHAN' => 7,
+ );
- // Sort the facts
- usort(
- $facts,
- function (Fact $x, Fact $y) {
- static $order = array(
- 'NAME' => 0,
- 'ADDR' => 1,
- 'NOTE' => 2,
- 'WWW' => 3,
- 'REFN' => 4,
- 'RIN' => 5,
- '_UID' => 6,
- 'CHAN' => 7,
- );
+ return
+ (array_key_exists($x->getTag(), $order) ? $order[$x->getTag()] : PHP_INT_MAX)
+ -
+ (array_key_exists($y->getTag(), $order) ? $order[$y->getTag()] : PHP_INT_MAX);
+ }
+);
- return
- (array_key_exists($x->getTag(), $order) ? $order[$x->getTag()] : PHP_INT_MAX)
- -
- (array_key_exists($y->getTag(), $order) ? $order[$y->getTag()] : PHP_INT_MAX);
- }
- );
+?>
+<div id="repo-details">
+ <h2>
+ <?php echo $controller->record->getFullName() ?>
+ </h2>
+ <div id="repo-tabs">
+ <ul>
+ <li>
+ <a href="#repo-edit">
+ <?php echo I18N::translate('Details') ?>
+ </a>
+ </li>
+ <?php if ($linked_indi): ?>
+ <li>
+ <a href="#linked-individuals">
+ <?php echo I18N::translate('Individuals') ?>
+ </a>
+ </li>
+ <?php endif; ?>
+ <?php if ($linked_fam): ?>
+ <li>
+ <a href="#linked-families">
+ <?php echo I18N::translate('Families') ?>
+ </a>
+ </li>
+ <?php endif; ?>
+ <?php if ($linked_obje): ?>
+ <li>
+ <a href="#linked-media">
+ <?php echo I18N::translate('Media objects') ?>
+ </a>
+ </li>
+ <?php endif; ?>
+ <?php if ($linked_sour): ?>
+ <li>
+ <a href="#linked-sources"><?php echo I18N::translate('Sources') ?></a>
+ </li>
+ <?php endif; ?>
+ <?php if ($linked_note): ?>
+ <li>
+ <a href="#linked-notes"><?php echo I18N::translate('Notes') ?></a>
+ </li>
+ <?php endif; ?>
+ </ul>
- // Print the facts
- foreach ($facts as $fact) {
- FunctionsPrintFacts::printFact($fact, $controller->record);
- }
+ <div id="repo-edit">
+ <table class="facts_table">
+ <?php
+ foreach ($facts as $fact) {
+ FunctionsPrintFacts::printFact($fact, $controller->record);
+ }
- // new fact link
- if ($controller->record->canEdit()) {
- FunctionsPrint::printAddNewFact($controller->record->getXref(), $facts, 'REPO');
- }
- echo '</table>
- </div>';
+ if ($controller->record->canEdit()) {
+ FunctionsPrint::printAddNewFact($controller->record->getXref(), $facts, 'REPO');
+ }
+ ?>
+ </table>
+ </div>
- // Sources linked to this repository
- if ($linked_sour) {
- echo '<div id="source-repo">';
- echo FunctionsPrintLists::sourceTable($linked_sour);
- echo '</div>';
- }
+ <?php if ($linked_indi): ?>
+ <div id="linked-individuals">
+ <?php echo FunctionsPrintLists::individualTable($linked_indi) ?>
+ </div>
+ <?php endif; ?>
+
+ <?php if ($linked_fam): ?>
+ <div id="linked-families">
+ <?php echo FunctionsPrintLists::familyTable($linked_fam) ?>
+ </div>
+ <?php endif; ?>
+
+ <?php if ($linked_obje): ?>
+ <div id="linked-media">
+ <?php echo FunctionsPrintLists::mediaTable($linked_obje) ?>
+ </div>
+ <?php endif; ?>
+
+ <?php if ($linked_sour): ?>
+ <div id="linked-sources">
+ <?php echo FunctionsPrintLists::sourceTable($linked_sour) ?>
+ </div>
+ <?php endif; ?>
-echo '</div>';
-echo '</div>';
+ <?php if ($linked_note): ?>
+ <div id="linked-notes">
+ <?php echo FunctionsPrintLists::noteTable($linked_note) ?>
+ </div>
+ <?php endif; ?>
+ </div>
+</div>
diff --git a/source.php b/source.php
index 82513a4cf5..2d01dadd25 100644
--- a/source.php
+++ b/source.php
@@ -18,7 +18,7 @@ namespace Fisharebest\Webtrees;
/**
* Defined in session.php
*
- * @global Tree $WT_TREE
+ * @global Tree $WT_TREE
*/
global $WT_TREE;
@@ -30,7 +30,8 @@ use Fisharebest\Webtrees\Functions\FunctionsPrintLists;
define('WT_SCRIPT_NAME', 'source.php');
require './includes/session.php';
-$controller = new SourceController;
+$record = Source::getInstance(Filter::get('sid', WT_REGEX_XREF), $WT_TREE);
+$controller = new SourceController($record);
if ($controller->record && $controller->record->canShow()) {
$controller->pageHeader();
@@ -88,101 +89,137 @@ $controller->addInlineJavascript('
});
');
-$linked_indi = $controller->record->linkedIndividuals('SOUR');
$linked_fam = $controller->record->linkedFamilies('SOUR');
-$linked_obje = $controller->record->linkedMedia('SOUR');
+$linked_indi = $controller->record->linkedIndividuals('SOUR');
$linked_note = $controller->record->linkedNotes('SOUR');
+$linked_obje = $controller->record->linkedMedia('SOUR');
+$linked_sour = array();
-echo '<div id="source-details">';
-echo '<h2>', $controller->record->getFullName(), '</h2>';
-echo '<div id="source-tabs">
- <ul>
- <li><a href="#source-edit"><span>', I18N::translate('Details'), '</span></a></li>';
- if ($linked_indi) {
- echo '<li><a href="#indi-sources"><span id="indisource">', I18N::translate('Individuals'), '</span></a></li>';
- }
- if ($linked_fam) {
- echo '<li><a href="#fam-sources"><span id="famsource">', I18N::translate('Families'), '</span></a></li>';
- }
- if ($linked_obje) {
- echo '<li><a href="#media-sources"><span id="mediasource">', I18N::translate('Media objects'), '</span></a></li>';
- }
- if ($linked_note) {
- echo '<li><a href="#note-sources"><span id="notesource">', I18N::translate('Notes'), '</span></a></li>';
- }
- echo '</ul>';
+$facts = $controller->record->getFacts();
- echo '<div id="source-edit">';
- echo '<table class="facts_table">';
+usort(
+ $facts,
+ function (Fact $x, Fact $y) {
+ static $order = array(
+ 'TITL' => 0,
+ 'ABBR' => 1,
+ 'AUTH' => 2,
+ 'DATA' => 3,
+ 'PUBL' => 4,
+ 'TEXT' => 5,
+ 'NOTE' => 6,
+ 'OBJE' => 7,
+ 'REFN' => 8,
+ 'RIN' => 9,
+ '_UID' => 10,
+ 'CHAN' => 11,
+ );
- // Fetch the facts
- $facts = $controller->record->getFacts();
+ return
+ (array_key_exists($x->getTag(), $order) ? $order[$x->getTag()] : PHP_INT_MAX)
+ -
+ (array_key_exists($y->getTag(), $order) ? $order[$y->getTag()] : PHP_INT_MAX);
+ }
+);
- // Sort the facts
- usort(
- $facts,
- function (Fact $x, Fact $y) {
- static $order = array(
- 'TITL' => 0,
- 'ABBR' => 1,
- 'AUTH' => 2,
- 'DATA' => 3,
- 'PUBL' => 4,
- 'TEXT' => 5,
- 'NOTE' => 6,
- 'OBJE' => 7,
- 'REFN' => 8,
- 'RIN' => 9,
- '_UID' => 10,
- 'CHAN' => 11,
- );
+?>
+<div id="source-details">
+ <h2>
+ <?php echo $controller->record->getFullName() ?>
+ </h2>
+ <div id="source-tabs">
+ <ul>
+ <li>
+ <a href="#source-edit">
+ <?php echo I18N::translate('Details') ?>
+ </a>
+ </li>
+ <?php if ($linked_indi): ?>
+ <li>
+ <a href="#linked-individuals">
+ <?php echo I18N::translate('Individuals') ?>
+ </a>
+ </li>
+ <?php endif; ?>
+ <?php if ($linked_fam): ?>
+ <li>
+ <a href="#linked-families">
+ <?php echo I18N::translate('Families') ?>
+ </a>
+ </li>
+ <?php endif; ?>
+ <?php if ($linked_obje): ?>
+ <li>
+ <a href="#linked-media">
+ <?php echo I18N::translate('Media objects') ?>
+ </a>
+ </li>
+ <?php endif; ?>
+ <?php if ($linked_sour): ?>
+ <li>
+ <a href="#linked-sources"><?php echo I18N::translate('Sources') ?></a>
+ </li>
+ <?php endif; ?>
+ <?php if ($linked_note): ?>
+ <li>
+ <a href="#linked-notes"><?php echo I18N::translate('Notes') ?></a>
+ </li>
+ <?php endif; ?>
+ </ul>
- return
- (array_key_exists($x->getTag(), $order) ? $order[$x->getTag()] : PHP_INT_MAX)
- -
- (array_key_exists($y->getTag(), $order) ? $order[$y->getTag()] : PHP_INT_MAX);
- }
- );
+ <div id="source-edit">
+ <table class="facts_table">
+ <?php
+ foreach ($facts as $fact) {
+ FunctionsPrintFacts::printFact($fact, $controller->record);
+ }
- // Print the facts
- foreach ($facts as $fact) {
- FunctionsPrintFacts::printFact($fact, $controller->record);
- }
+ if ($controller->record->canEdit()) {
+ FunctionsPrint::printAddNewFact($controller->record->getXref(), $facts, 'SOUR');
+ // new media
+ if ($controller->record->getTree()->getPreference('MEDIA_UPLOAD') >= Auth::accessLevel($WT_TREE)) {
+ echo '<tr><td class="descriptionbox">';
+ echo GedcomTag::getLabel('OBJE');
+ echo '</td><td class="optionbox">';
+ echo '<a href="#" onclick="window.open(\'addmedia.php?action=showmediaform&amp;linktoid=', $controller->record->getXref(), '\', \'_blank\', edit_window_specs); return false;">', I18N::translate('Add a new media object'), '</a>';
+ echo FunctionsPrint::helpLink('OBJE');
+ echo '<br>';
+ echo '<a href="#" onclick="window.open(\'inverselink.php?linktoid=', $controller->record->getXref(), '&amp;linkto=source\', \'_blank\', find_window_specs); return false;">', I18N::translate('Link to an existing media object'), '</a>';
+ echo '</td></tr>';
+ }
+ }
+ ?>
+ </table>
+ </div>
- // new fact link
- if ($controller->record->canEdit()) {
- FunctionsPrint::printAddNewFact($controller->record->getXref(), $facts, 'SOUR');
- // new media
- if ($controller->record->getTree()->getPreference('MEDIA_UPLOAD') >= Auth::accessLevel($WT_TREE)) {
- echo '<tr><td class="descriptionbox">';
- echo GedcomTag::getLabel('OBJE');
- echo '</td><td class="optionbox">';
- echo '<a href="#" onclick="window.open(\'addmedia.php?action=showmediaform&amp;linktoid=', $controller->record->getXref(), '\', \'_blank\', edit_window_specs); return false;">', I18N::translate('Add a new media object'), '</a>';
- echo FunctionsPrint::helpLink('OBJE');
- echo '<br>';
- echo '<a href="#" onclick="window.open(\'inverselink.php?linktoid=', $controller->record->getXref(), '&amp;linkto=source\', \'_blank\', find_window_specs); return false;">', I18N::translate('Link to an existing media object'), '</a>';
- echo '</td></tr>';
- }
- }
- echo '</table>
- </div>';
+ <?php if ($linked_indi): ?>
+ <div id="linked-individuals">
+ <?php echo FunctionsPrintLists::individualTable($linked_indi) ?>
+ </div>
+ <?php endif; ?>
- // Individuals linked to this source
- if ($linked_indi) {
- echo '<div id="indi-sources">', FunctionsPrintLists::individualTable($linked_indi), '</div>';
- }
- // Families linked to this source
- if ($linked_fam) {
- echo '<div id="fam-sources">', FunctionsPrintLists::familyTable($linked_fam), '</div>';
- }
- // Media Items linked to this source
- if ($linked_obje) {
- echo '<div id="media-sources">', FunctionsPrintLists::mediaTable($linked_obje), '</div>';
- }
- // Shared Notes linked to this source
- if ($linked_note) {
- echo '<div id="note-sources">', FunctionsPrintLists::noteTable($linked_note), '</div>';
- }
-echo '</div>'; //close div "source-tabs"
-echo '</div>'; //close div "source-details"
+ <?php if ($linked_fam): ?>
+ <div id="linked-families">
+ <?php echo FunctionsPrintLists::familyTable($linked_fam) ?>
+ </div>
+ <?php endif; ?>
+
+ <?php if ($linked_obje): ?>
+ <div id="linked-media">
+ <?php echo FunctionsPrintLists::mediaTable($linked_obje) ?>
+ </div>
+ <?php endif; ?>
+
+ <?php if ($linked_sour): ?>
+ <div id="linked-sources">
+ <?php echo FunctionsPrintLists::sourceTable($linked_sour) ?>
+ </div>
+ <?php endif; ?>
+ <?php if ($linked_note): ?>
+ <div id="linked-notes">
+ <?php echo FunctionsPrintLists::noteTable($linked_note) ?>
+ </div>
+ <?php endif; ?>
+ </div>
+</div>
diff --git a/themes/clouds/css-1.7.0/style.css b/themes/clouds/css-1.7.0/style.css
index 9b9c705b7d..29024c8f73 100644
--- a/themes/clouds/css-1.7.0/style.css
+++ b/themes/clouds/css-1.7.0/style.css
@@ -4544,7 +4544,8 @@ footer .error {
background-position: 0 -233px;
}
-.menu-indi {
+.menu-indi,
+.menu-record {
background-position: 0 -261px;
}
@@ -4836,11 +4837,13 @@ footer .error {
background-position: right -575px;
}
-.menu-indi-addfav {
+.menu-indi-addfav,
+.menu-record-addfav {
background-position: left -736px;
}
-[dir=rtl] .menu-indi-addfav {
+[dir=rtl] .menu-indi-addfav,
+[dir=rtl] .menu-record-addfav {
background-position: right -736px;
}
@@ -4852,19 +4855,23 @@ footer .error {
background-position: right -690px;
}
-.menu-indi-del {
+.menu-indi-del,
+.menu-record-del {
background-position: left -713px;
}
-[dir=rtl] .menu-indi-del {
+[dir=rtl] .menu-indi-del,
+[dir=rtl] .menu-record-del {
background-position: right -713px;
}
-.menu-indi-editraw {
+.menu-indi-editraw,
+.menu-record-editraw {
background-position: left -667px;
}
-[dir=rtl] .menu-indi-editraw {
+[dir=rtl] .menu-indi-editraw,
+[dir=rtl] .menu-record-editraw {
background-position: right -667px;
}
diff --git a/themes/colors/css-1.7.0/style.css b/themes/colors/css-1.7.0/style.css
index 789c8a3b0a..15c3c8bacb 100644
--- a/themes/colors/css-1.7.0/style.css
+++ b/themes/colors/css-1.7.0/style.css
@@ -4519,7 +4519,8 @@ footer {
background-position: center -328px;
}
-.menu-indi {
+.menu-indi,
+.menu-record {
background-position: center -369px;
}
@@ -4820,11 +4821,13 @@ footer {
background-position: right -650px;
}
-.menu-indi-addfav {
+.menu-indi-addfav,
+.menu-record-addfav {
background-position: left -832px;
}
-[dir=rtl] .menu-indi-addfav {
+[dir=rtl] .menu-indi-addfav,
+[dir=rtl] .menu-record-addfav {
background-position: right -832px;
}
@@ -4836,7 +4839,8 @@ footer {
background-position: right -780px;
}
-.menu-indi-del {
+.menu-indi-del,
+.menu-record-del {
background-position: left -806px;
}
@@ -4844,7 +4848,8 @@ footer {
background-position: right -806px;
}
-.menu-indi-editraw {
+.menu-indi-editraw,
+.menu-record-editraw {
background-position: left -754px;
}
diff --git a/themes/webtrees/css-1.7.0/style.css b/themes/webtrees/css-1.7.0/style.css
index 872acebe01..f483f75719 100644
--- a/themes/webtrees/css-1.7.0/style.css
+++ b/themes/webtrees/css-1.7.0/style.css
@@ -4404,7 +4404,8 @@ footer {
background-position:center -560px;
}
-.menu-indi {
+.menu-indi,
+.menu-record {
background-position:center -630px;
}
@@ -4705,11 +4706,13 @@ footer {
background-position: right -690px;
}
-.menu-indi-addfav {
+.menu-indi-addfav,
+.menu-record-addfav {
background-position: left -870px;
}
-[dir=rtl] .menu-indi-addfav {
+[dir=rtl] .menu-indi-addfav,
+[dir=rtl] .menu-record-addfav {
background-position: right -870px;
}
@@ -4721,15 +4724,18 @@ footer {
background-position: right -780px;
}
-.menu-indi-del {
+.menu-indi-del,
+.menu-record-del {
background-position: left -840px;
}
-[dir=rtl] .menu-indi-del {
+[dir=rtl] .menu-indi-del,
+[dir=rtl] .menu-record-del {
background-position: right -840px;
}
-.menu-indi-editraw {
+.menu-indi-editraw,
+.menu-record-editraw {
background-position: left -750px;
}
diff --git a/themes/xenea/css-1.7.0/style.css b/themes/xenea/css-1.7.0/style.css
index 435547dbfa..1996f9e077 100644
--- a/themes/xenea/css-1.7.0/style.css
+++ b/themes/xenea/css-1.7.0/style.css
@@ -4417,7 +4417,8 @@ footer {
background-position:center -232px;
}
-.menu-indi {
+.menu-indi,
+.menu-record {
background-position:center -261px;
}
@@ -4710,11 +4711,13 @@ footer {
background-position: right -575px;
}
-.menu-indi-addfav {
+.menu-indi-addfav,
+.menu-record-addfav {
background-position: left -736px;
}
-[dir=rtl] .menu-indi-addfav {
+[dir=rtl] .menu-indi-addfav,
+[dir=rtl] .menu-record-addfav {
background-position: right -736px;
}
@@ -4726,15 +4729,18 @@ footer {
background-position: right -690px;
}
-.menu-indi-del {
+.menu-indi-del,
+.menu-record-del {
background-position: left -713px;
}
-[dir=rtl] .menu-indi-del {
+[dir=rtl] .menu-indi-del,
+[dir=rtl] .record-indi-del {
background-position: right -713px;
}
-.menu-indi-editraw {
+.menu-indi-editraw,
+.menu-record-editraw {
background-position: left -667px;
}