diff options
| -rw-r--r-- | app/Controller/FamilyController.php | 12 | ||||
| -rw-r--r-- | app/Controller/GedcomRecordController.php | 59 | ||||
| -rw-r--r-- | app/Controller/IndividualController.php | 14 | ||||
| -rw-r--r-- | app/Controller/MediaController.php | 12 | ||||
| -rw-r--r-- | app/Controller/NoteController.php | 12 | ||||
| -rw-r--r-- | app/Controller/RepositoryController.php | 12 | ||||
| -rw-r--r-- | app/Controller/SourceController.php | 12 | ||||
| -rw-r--r-- | app/Functions/FunctionsEdit.php | 4 | ||||
| -rw-r--r-- | family.php | 5 | ||||
| -rw-r--r-- | gedrecord.php | 182 | ||||
| -rw-r--r-- | individual.php | 11 | ||||
| -rw-r--r-- | mediaviewer.php | 167 | ||||
| -rw-r--r-- | note.php | 114 | ||||
| -rw-r--r-- | repo.php | 171 | ||||
| -rw-r--r-- | source.php | 215 | ||||
| -rw-r--r-- | themes/clouds/css-1.7.0/style.css | 21 | ||||
| -rw-r--r-- | themes/colors/css-1.7.0/style.css | 15 | ||||
| -rw-r--r-- | themes/webtrees/css-1.7.0/style.css | 18 | ||||
| -rw-r--r-- | themes/xenea/css-1.7.0/style.css | 18 |
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> @@ -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> @@ -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&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(), '&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&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(), '&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; } |
