summaryrefslogtreecommitdiff
path: root/app/Controller
diff options
context:
space:
mode:
authorGreg Roach <fisharebest@gmail.com>2015-06-16 17:27:25 +0100
committerGreg Roach <fisharebest@gmail.com>2015-06-16 23:28:00 +0100
commit3cf92ae205660ec36316541b9e23f2ecbf0af8bb (patch)
tree56d53612188c79361fabfbf14c458467697fc0ac /app/Controller
parent9a2757dc481268b3eadf83f423e3b36196f87118 (diff)
downloadwebtrees-3cf92ae205660ec36316541b9e23f2ecbf0af8bb.tar.gz
webtrees-3cf92ae205660ec36316541b9e23f2ecbf0af8bb.tar.bz2
webtrees-3cf92ae205660ec36316541b9e23f2ecbf0af8bb.zip
Allow more HTML attributes on menu items
Diffstat (limited to 'app/Controller')
-rw-r--r--app/Controller/FamilyController.php44
-rw-r--r--app/Controller/IndividualController.php56
-rw-r--r--app/Controller/MediaController.php74
-rw-r--r--app/Controller/NoteController.php26
-rw-r--r--app/Controller/RepositoryController.php36
-rw-r--r--app/Controller/SourceController.php38
6 files changed, 146 insertions, 128 deletions
diff --git a/app/Controller/FamilyController.php b/app/Controller/FamilyController.php
index 0fcbaeb33a..1eb274d4f1 100644
--- a/app/Controller/FamilyController.php
+++ b/app/Controller/FamilyController.php
@@ -88,53 +88,53 @@ class FamilyController extends GedcomRecordController {
if (Auth::isEditor($this->record->getTree())) {
// edit_fam / members
- $submenu = new Menu(I18N::translate('Change family members'), '#', 'menu-fam-change');
- $submenu->setOnclick("return change_family_members('" . $this->record->getXref() . "');");
- $menu->addSubmenu($submenu);
+ $menu->addSubmenu(new Menu(I18N::translate('Change family members'), '#', 'menu-fam-change', array(
+ 'onclick' => 'return change_family_members("' . $this->record->getXref() . '");',
+ )));
// edit_fam / add child
- $submenu = new Menu(I18N::translate('Add a child to this family'), '#', 'menu-fam-addchil');
- $submenu->setOnclick("return add_child_to_family('" . $this->record->getXref() . "', 'U');");
- $menu->addSubmenu($submenu);
+ $menu->addSubmenu(new Menu(I18N::translate('Add a child to this family'), '#', 'menu-fam-addchil', array(
+ 'onclick' => 'return add_child_to_family("' . $this->record->getXref() . '", "U");',
+ )));
// edit_fam / reorder_children
if ($this->record->getNumberOfChildren() > 1) {
- $submenu = new Menu(I18N::translate('Re-order children'), '#', 'menu-fam-orderchil');
- $submenu->setOnclick("return reorder_children('" . $this->record->getXref() . "');");
- $menu->addSubmenu($submenu);
+ $menu->addSubmenu(new Menu(I18N::translate('Re-order children'), '#', 'menu-fam-orderchil', array(
+ 'onclick' => 'return reorder_children("' . $this->record->getXref() . '");',
+ )));
}
}
// delete
if (Auth::isEditor($this->record->getTree())) {
- $submenu = new Menu(I18N::translate('Delete'), '#', 'menu-fam-del');
- $submenu->setOnclick("return delete_family('" . I18N::translate('Deleting the family will unlink all of the individuals from each other but will leave the individuals in place. Are you sure you want to delete this family?') . "', '" . $this->record->getXref() . "');");
- $menu->addSubmenu($submenu);
+ $menu->addSubmenu(new Menu(I18N::translate('Delete'), '#', 'menu-fam-del', array(
+ 'onclick' => 'return delete_family("' . I18N::translate('Deleting the family will unlink all of the individuals from each other but will leave the individuals in place. Are you sure you want to delete this family?') . '", "' . $this->record->getXref() . '");',
+ )));
}
// edit raw
if (Auth::isAdmin() || Auth::isEditor($this->record->getTree()) && $this->record->getTree()->getPreference('SHOW_GEDCOM_RECORD')) {
- $submenu = new Menu(I18N::translate('Edit raw GEDCOM'), '#', 'menu-fam-editraw');
- $submenu->setOnclick("return edit_raw('" . $this->record->getXref() . "');");
- $menu->addSubmenu($submenu);
+ $menu->addSubmenu(new Menu(I18N::translate('Edit raw GEDCOM'), '#', 'menu-fam-editraw', array(
+ 'onclick' => 'return edit_raw("' . $this->record->getXref() . '");',
+ )));
}
// add to favorites
if (Module::getModuleByName('user_favorites')) {
- $submenu = new Menu(
- /* I18N: Menu option. Add [the current page] to the list of favorites */ I18N::translate('Add to favorites'),
+ $menu->addSubmenu(new Menu(
+ /* I18N: Menu option. Add [the current page] to the list of favorites */ I18N::translate('Add to favorites'),
'#',
- 'menu-fam-addfav'
- );
- $submenu->setOnclick("jQuery.post('module.php?mod=user_favorites&amp;mod_action=menu-add-favorite',{xref:'" . $this->record->getXref() . "'},function(){location.reload();})");
- $menu->addSubmenu($submenu);
+ 'menu-fam-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->setOnClick($submenus[0]->getOnClick());
+ $menu->setAttrs($submenus[0]->getAttrs());
}
return $menu;
diff --git a/app/Controller/IndividualController.php b/app/Controller/IndividualController.php
index b5a0629ae4..0c3777e738 100644
--- a/app/Controller/IndividualController.php
+++ b/app/Controller/IndividualController.php
@@ -279,68 +279,72 @@ class IndividualController extends GedcomRecordController {
return null;
}
// edit menu
- $menu = new Menu(I18N::translate('Edit'), '#', 'menu-indi');
+ $menu = new Menu(I18N::translate('Edit'), '#', 'menu-indi', array(
+ 'onclick' => 'return false;',
+ ));
// What behaviour shall we give the main menu? If we leave it blank, the framework
// will copy the first submenu - which may be edit-raw or delete.
// As a temporary solution, make it edit the name
- $menu->setOnclick("return false;");
if (Auth::isEditor($this->record->getTree())) {
foreach ($this->record->getFacts() as $fact) {
if ($fact->getTag() === 'NAME' && $fact->canEdit()) {
- $menu->setOnclick("return edit_name('" . $this->record->getXref() . "', '" . $fact->getFactId() . "');");
+ $menu->setAttrs(array(
+ 'onclick' => 'return edit_name("' . $this->record->getXref() . '", "' . $fact->getFactId() . '");',
+ ));
break;
}
}
- $submenu = new Menu(I18N::translate('Add a new name'), '#', 'menu-indi-addname');
- $submenu->setOnclick("return add_name('" . $this->record->getXref() . "');");
- $menu->addSubmenu($submenu);
+ $menu->addSubmenu(new Menu(I18N::translate('Add a new name'), '#', 'menu-indi-addname', array(
+ 'onclick' => 'return add_name("' . $this->record->getXref() . '");',
+ )));
$has_sex_record = false;
- $submenu = new Menu(I18N::translate('Edit gender'), '#', 'menu-indi-editsex');
foreach ($this->record->getFacts() as $fact) {
- if ($fact->getTag() == 'SEX' && $fact->canEdit()) {
- $submenu->setOnclick("return edit_record('" . $this->record->getXref() . "', '" . $fact->getFactId() . "');");
+ if ($fact->getTag() === 'SEX' && $fact->canEdit()) {
+ $menu->addSubmenu(new Menu(I18N::translate('Edit gender'), '#', 'menu-indi-editsex', array(
+ 'onclick' => 'return edit_record("' . $this->record->getXref() . '", "' . $fact->getFactId() . '");',
+ )));
$has_sex_record = true;
break;
}
}
if (!$has_sex_record) {
- $submenu->setOnclick("return add_new_record('" . $this->record->getXref() . "', 'SEX');");
+ $menu->addSubmenu(new Menu(I18N::translate('Edit gender'), '#', 'menu-indi-editsex', array(
+ 'return add_new_record("' . $this->record->getXref() . '", "SEX");',
+ )));
}
- $menu->addSubmenu($submenu);
if (count($this->record->getSpouseFamilies()) > 1) {
- $submenu = new Menu(I18N::translate('Re-order families'), '#', 'menu-indi-orderfam');
- $submenu->setOnclick("return reorder_families('" . $this->record->getXref() . "');");
- $menu->addSubmenu($submenu);
+ $menu->addSubmenu(new Menu(I18N::translate('Re-order families'), '#', 'menu-indi-orderfam', array(
+ 'onclick' => 'return reorder_families("' . $this->record->getXref() . '");',
+ )));
}
}
// delete
if (Auth::isEditor($this->record->getTree())) {
- $submenu = new Menu(I18N::translate('Delete'), '#', 'menu-indi-del');
- $submenu->setOnclick("return delete_individual('" . I18N::translate('Are you sure you want to delete “%s”?', Filter::escapeJS(Filter::unescapeHtml($this->record->getFullName()))) . "', '" . $this->record->getXref() . "');");
- $menu->addSubmenu($submenu);
+ $menu->addSubmenu(new Menu(I18N::translate('Delete'), '#', 'menu-indi-del', array(
+ 'onclick' => 'return delete_individual("' . I18N::translate('Are you sure you want to delete “%s”?', Filter::escapeJS(Filter::unescapeHtml($this->record->getFullName()))) . '", "' . $this->record->getXref() . '");',
+ )));
}
// edit raw
if (Auth::isAdmin() || Auth::isEditor($this->record->getTree()) && $this->record->getTree()->getPreference('SHOW_GEDCOM_RECORD')) {
- $submenu = new Menu(I18N::translate('Edit raw GEDCOM'), '#', 'menu-indi-editraw');
- $submenu->setOnclick("return edit_raw('" . $this->record->getXref() . "');");
- $menu->addSubmenu($submenu);
+ $menu->addSubmenu(new Menu(I18N::translate('Edit raw GEDCOM'), '#', 'menu-indi-editraw', array(
+ 'onclick' => 'return edit_raw("' . $this->record->getXref() . '");',
+ )));
}
// add to favorites
if (Module::getModuleByName('user_favorites')) {
- $submenu = new Menu(
- /* I18N: Menu option. Add [the current page] to the list of favorites */ I18N::translate('Add to favorites'),
+ $menu->addSubmenu(new Menu(
+ /* I18N: Menu option. Add [the current page] to the list of favorites */ I18N::translate('Add to favorites'),
'#',
- 'menu-indi-addfav'
- );
- $submenu->setOnclick("jQuery.post('module.php?mod=user_favorites&amp;mod_action=menu-add-favorite',{xref:'" . $this->record->getXref() . "'},function(){location.reload();})");
- $menu->addSubmenu($submenu);
+ 'menu-indi-addfav', array(
+ 'onclick' => 'jQuery.post("module.php?mod=user_favorites&mod_action=menu-add-favorite",{xref:"' . $this->record->getXref() . '"},function(){location.reload();})',
+ )));
}
return $menu;
diff --git a/app/Controller/MediaController.php b/app/Controller/MediaController.php
index 9fa31934bf..3dbda13666 100644
--- a/app/Controller/MediaController.php
+++ b/app/Controller/MediaController.php
@@ -52,61 +52,61 @@ class MediaController extends GedcomRecordController {
$menu = new Menu(I18N::translate('Edit'), '#', 'menu-obje');
if (Auth::isEditor($this->record->getTree())) {
- $submenu = new Menu(I18N::translate('Edit media object'), '#', 'menu-obje-edit');
- $submenu->setOnclick("window.open('addmedia.php?action=editmedia&amp;pid={$this->record->getXref()}', '_blank', edit_window_specs)");
- $menu->addSubmenu($submenu);
+ $menu->addSubmenu(new Menu(I18N::translate('Edit media object'), '#', 'menu-obje-edit', array(
+ 'onclick' => 'window.open("addmedia.php?action=editmedia&pid=' . $this->record->getXref() . '", "_blank", edit_window_specs)',
+ )));
// main link displayed on page
if (Module::getModuleByName('GEDFact_assistant')) {
- $submenu = new Menu(I18N::translate('Manage links'), '#', 'menu-obje-link');
- $submenu->setOnclick("return ilinkitem('" . $this->record->getXref() . "','manage');");
- $menu->addSubmenu($submenu);
+ $menu->addSubmenu(new Menu(I18N::translate('Manage links'), '#', 'menu-obje-link', array(
+ 'onclick' => 'return ilinkitem("' . $this->record->getXref() . '","manage");',
+ )));
} else {
- $submenu = new Menu(I18N::translate('Link this media object to an individual'), '#', 'menu-obje-link-indi');
- $submenu->setOnclick("return ilinkitem('" . $this->record->getXref() . "','person');");
- $menu->addSubmenu($submenu);
+ $menu->addSubmenu(new Menu(I18N::translate('Link this media object to an individual'), '#', 'menu-obje-link-indi', array(
+ 'onclick' => 'return ilinkitem("' . $this->record->getXref() . '","person");',
+ )));
- $submenu = new Menu(I18N::translate('Link this media object to a family'), '#', 'menu-obje-link-fam');
- $submenu->setOnclick("return ilinkitem('" . $this->record->getXref() . "','family');");
- $menu->addSubmenu($submenu);
+ $menu->addSubmenu(new Menu(I18N::translate('Link this media object to a family'), '#', 'menu-obje-link-fam', array(
+ 'onclick' => 'return ilinkitem("' . $this->record->getXref() . '","family");',
+ )));
- $submenu = new Menu(I18N::translate('Link this media object to a source'), '#', 'menu-obje-link-sour');
- $submenu->setOnclick("return ilinkitem('" . $this->record->getXref() . "','source');");
- $menu->addSubmenu($submenu);
+ $menu->addSubmenu(new Menu(I18N::translate('Link this media object to a source'), '#', 'menu-obje-link-sour', array(
+ 'onclick' => 'return ilinkitem("' . $this->record->getXref() . '","source");',
+ )));
}
}
// delete
if (Auth::isEditor($this->record->getTree())) {
- $submenu = new Menu(I18N::translate('Delete'), '#', 'menu-obje-del');
- $submenu->setOnclick("return delete_media('" . I18N::translate('Are you sure you want to delete “%s”?', Filter::escapeJS(Filter::unescapeHtml($this->record->getFullName()))) . "', '" . $this->record->getXref() . "');");
- $menu->addSubmenu($submenu);
+ $menu->addSubmenu(new Menu(I18N::translate('Delete'), '#', 'menu-obje-del', array(
+ 'onlcick' => 'return delete_media("' . I18N::translate('Are you sure you want to delete “%s”?', Filter::escapeJS(Filter::unescapeHtml($this->record->getFullName()))) . '", "' . $this->record->getXref() . '");',
+ )));
}
// edit raw
if (Auth::isAdmin() || Auth::isEditor($this->record->getTree()) && $this->record->getTree()->getPreference('SHOW_GEDCOM_RECORD')) {
- $submenu = new Menu(I18N::translate('Edit raw GEDCOM'), '#', 'menu-obje-editraw');
- $submenu->setOnclick("return edit_raw('" . $this->record->getXref() . "');");
- $menu->addSubmenu($submenu);
+ $menu->addSubmenu(new Menu(I18N::translate('Edit raw GEDCOM'), '#', 'menu-obje-editraw', array(
+ 'onclick' => 'return edit_raw("' . $this->record->getXref() . '");',
+ )));
}
// add to favorites
if (Module::getModuleByName('user_favorites')) {
- $submenu = new Menu(
+ $menu->addSubmenu(new Menu(
/* I18N: Menu option. Add [the current page] to the list of favorites */
I18N::translate('Add to favorites'),
'#',
- 'menu-obje-addfav'
- );
- $submenu->setOnclick("jQuery.post('module.php?mod=user_favorites&amp;mod_action=menu-add-favorite',{xref:'" . $this->record->getXref() . "'},function(){location.reload();})");
- $menu->addSubmenu($submenu);
+ 'menu-obje-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->setOnClick($submenus[0]->getOnClick());
+ $menu->setAttrs($submenus[0]->getAttrs());
}
return $menu;
@@ -146,13 +146,23 @@ class MediaController extends GedcomRecordController {
public static function getMediaListMenu(Media $mediaobject) {
$html = '';
- $menu = new Menu(I18N::translate('Edit details'), '#', 'lb-image_edit', "return window.open('addmedia.php?action=editmedia&amp;pid=" . $mediaobject->getXref() . "', '_blank', edit_window_specs);");
+ $menu = new Menu(I18N::translate('Edit details'), '#', 'lb-image_edit', array(
+ 'onclick' => 'return window.open("addmedia.php?action=editmedia&pid=' . $mediaobject->getXref() . '", "_blank", edit_window_specs);',
+ ));
$html .= '<ul class="makeMenu lb-menu">' . $menu->getMenuAsList() . '</ul>';
- $menu = new Menu(I18N::translate('Manage links'), '#', 'lb-image_link', "return ilinkitem('" . $mediaobject->getXref() . "','person')", array(
- new Menu(I18N::translate('Link this media object to an individual'), '#', '', "return ilinkitem('" . $mediaobject->getXref() . "','person')"),
- new Menu(I18N::translate('Link this media object to a family'), '#', '', "return ilinkitem('" . $mediaobject->getXref() . "','family')"),
- new Menu(I18N::translate('Link this media object to a source'), '#', '', "return ilinkitem('" . $mediaobject->getXref() . "','source')"),
+ $menu = new Menu(I18N::translate('Manage links'), '#', 'lb-image_link', array(
+ 'onclick' => 'return false;',
+ ), array(
+ new Menu(I18N::translate('Link this media object to an individual'), '#', '', array(
+ 'onclick' => 'return ilinkitem("' . $mediaobject->getXref() . '","person");',
+ )),
+ new Menu(I18N::translate('Link this media object to a family'), '#', '', array(
+ 'onclick' => 'return ilinkitem("' . $mediaobject->getXref() . '","family");',
+ )),
+ new Menu(I18N::translate('Link this media object to a source'), '#', '', array(
+ 'onclick' => 'return ilinkitem("' . $mediaobject->getXref() . '","source");',
+ )),
));
$html .= '<ul class="makeMenu lb-menu">' . $menu->getMenuAsList() . '</ul>';
diff --git a/app/Controller/NoteController.php b/app/Controller/NoteController.php
index f314a7bcaf..3bb19b6954 100644
--- a/app/Controller/NoteController.php
+++ b/app/Controller/NoteController.php
@@ -50,34 +50,34 @@ class NoteController extends GedcomRecordController {
$menu = new Menu(I18N::translate('Edit'), '#', 'menu-note');
if (Auth::isEditor($this->record->getTree())) {
- $submenu = new Menu(I18N::translate('Edit note'), '#', 'menu-note-edit');
- $submenu->setOnclick('return edit_note(\'' . $this->record->getXref() . '\');');
- $menu->addSubmenu($submenu);
+ $menu->addSubmenu(new Menu(I18N::translate('Edit note'), '#', 'menu-note-edit', array(
+ 'onclick' => 'return edit_note("' . $this->record->getXref() . '");',
+ )));
}
// delete
if (Auth::isEditor($this->record->getTree())) {
- $submenu = new Menu(I18N::translate('Delete'), '#', 'menu-note-del');
- $submenu->setOnclick("return delete_note('" . I18N::translate('Are you sure you want to delete “%s”?', Filter::escapeJS(Filter::unescapeHtml($this->record->getFullName()))) . "', '" . $this->record->getXref() . "');");
- $menu->addSubmenu($submenu);
+ $menu->addSubmenu(new Menu(I18N::translate('Delete'), '#', 'menu-note-del', array(
+ 'onclick' => 'return delete_note("' . 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')) {
- $submenu = new Menu(
- /* I18N: Menu option. Add [the current page] to the list of favorites */ I18N::translate('Add to favorites'),
+ $menu->addSubmenu(new Menu(
+ /* I18N: Menu option. Add [the current page] to the list of favorites */ I18N::translate('Add to favorites'),
'#',
- 'menu-note-addfav'
- );
- $submenu->setOnclick("jQuery.post('module.php?mod=user_favorites&amp;mod_action=menu-add-favorite',{xref:'" . $this->record->getXref() . "'},function(){location.reload();})");
- $menu->addSubmenu($submenu);
+ 'menu-note-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->setOnClick($submenus[0]->getOnClick());
+ $menu->setAttrs($submenus[0]->getAttrs());
}
return $menu;
diff --git a/app/Controller/RepositoryController.php b/app/Controller/RepositoryController.php
index 820e6a8e9d..802c4da6a8 100644
--- a/app/Controller/RepositoryController.php
+++ b/app/Controller/RepositoryController.php
@@ -51,47 +51,49 @@ class RepositoryController extends GedcomRecordController {
if (Auth::isEditor($this->record->getTree())) {
$fact = $this->record->getFirstFact('NAME');
- $submenu = new Menu(I18N::translate('Edit repository'), '#', 'menu-repo-edit');
if ($fact) {
// Edit existing name
- $submenu->setOnclick('return edit_record(\'' . $this->record->getXref() . '\', \'' . $fact->getFactId() . '\');');
+ $menu->addSubmenu(new Menu(I18N::translate('Edit repository'), '#', 'menu-repo-edit', array(
+ 'onclick' => 'return edit_record("' . $this->record->getXref() . '", "' . $fact->getFactId() . '");',
+ )));
} else {
// Add new name
- $submenu->setOnclick('return add_fact(\'' . $this->record->getXref() . '\', \'NAME\');');
+ $menu->addSubmenu(new Menu(I18N::translate('Edit repository'), '#', 'menu-repo-edit', array(
+ 'onclick' => 'return add_fact("' . $this->record->getXref() . '", "NAME");',
+ )));
}
- $menu->addSubmenu($submenu);
}
// delete
if (Auth::isEditor($this->record->getTree())) {
- $submenu = new Menu(I18N::translate('Delete'), '#', 'menu-repo-del');
- $submenu->setOnclick("return delete_repository('" . I18N::translate('Are you sure you want to delete “%s”?', Filter::escapeJS(Filter::unescapeHtml($this->record->getFullName()))) . "', '" . $this->record->getXref() . "');");
- $menu->addSubmenu($submenu);
+ $menu->addSubmenu(new Menu(I18N::translate('Delete'), '#', 'menu-repo-del', array(
+ 'onclick' => 'return delete_repository("' . I18N::translate('Are you sure you want to delete “%s”?', Filter::escapeJS(Filter::unescapeHtml($this->record->getFullName()))) . '", "' . $this->record->getXref() . '");',
+ )));
}
// edit raw
if (Auth::isAdmin() || Auth::isEditor($this->record->getTree()) && $this->record->getTree()->getPreference('SHOW_GEDCOM_RECORD')) {
- $submenu = new Menu(I18N::translate('Edit raw GEDCOM'), '#', 'menu-repo-editraw');
- $submenu->setOnclick("return edit_raw('" . $this->record->getXref() . "');");
- $menu->addSubmenu($submenu);
+ $menu->addSubmenu(new Menu(I18N::translate('Edit raw GEDCOM'), '#', 'menu-repo-editraw', array(
+ 'onclick' => 'return edit_raw("' . $this->record->getXref() . '");',
+ )));
}
// add to favorites
if (Module::getModuleByName('user_favorites')) {
- $submenu = new Menu(
- /* I18N: Menu option. Add [the current page] to the list of favorites */ I18N::translate('Add to favorites'),
+ $menu->addSubmenu(new Menu(
+ /* I18N: Menu option. Add [the current page] to the list of favorites */ I18N::translate('Add to favorites'),
'#',
- 'menu-repo-addfav'
- );
- $submenu->setOnclick("jQuery.post('module.php?mod=user_favorites&amp;mod_action=menu-add-favorite',{xref:'" . $this->record->getXref() . "'},function(){location.reload();})");
- $menu->addSubmenu($submenu);
+ 'menu-repo-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->setOnClick($submenus[0]->getOnClick());
+ $menu->setAttrs($submenus[0]->getAttrs());
}
return $menu;
diff --git a/app/Controller/SourceController.php b/app/Controller/SourceController.php
index 5f7c794f4d..2d81723f24 100644
--- a/app/Controller/SourceController.php
+++ b/app/Controller/SourceController.php
@@ -50,48 +50,50 @@ class SourceController extends GedcomRecordController {
$menu = new Menu(I18N::translate('Edit'), '#', 'menu-sour');
if (Auth::isEditor($this->record->getTree())) {
- $fact = $this->record->getFirstFact('TITL');
- $submenu = new Menu(I18N::translate('Edit source'), '#', 'menu-sour-edit');
+ $fact = $this->record->getFirstFact('TITL');
if ($fact) {
// Edit existing name
- $submenu->setOnclick('return edit_record(\'' . $this->record->getXref() . '\', \'' . $fact->getFactId() . '\');');
+ $menu->addSubmenu(new Menu(I18N::translate('Edit source'), '#', 'menu-sour-edit', array(
+ 'onclick' => 'return edit_record("' . $this->record->getXref() . '", "' . $fact->getFactId() . '");',
+ )));
} else {
// Add new name
- $submenu->setOnclick('return add_fact(\'' . $this->record->getXref() . '\', \'TITL\');');
+ $menu->addSubmenu(new Menu(I18N::translate('Edit source'), '#', 'menu-sour-edit', array(
+ 'onclick' => 'return add_fact("' . $this->record->getXref() . '", "TITL");',
+ )));
}
- $menu->addSubmenu($submenu);
}
// delete
if (Auth::isEditor($this->record->getTree())) {
- $submenu = new Menu(I18N::translate('Delete'), '#', 'menu-sour-del');
- $submenu->setOnclick("return delete_source('" . I18N::translate('Are you sure you want to delete “%s”?', Filter::escapeJS(Filter::unescapeHtml($this->record->getFullName()))) . "', '" . $this->record->getXref() . "');");
- $menu->addSubmenu($submenu);
+ $menu->addSubmenu(new Menu(I18N::translate('Delete'), '#', 'menu-sour-del', array(
+ 'onclick' => "return delete_source('" . I18N::translate('Are you sure you want to delete “%s”?', Filter::escapeJS(Filter::unescapeHtml($this->record->getFullName()))) . "', '" . $this->record->getXref() . "');",
+ )));
}
// edit raw
if (Auth::isAdmin() || Auth::isEditor($this->record->getTree()) && $this->record->getTree()->getPreference('SHOW_GEDCOM_RECORD')) {
- $submenu = new Menu(I18N::translate('Edit raw GEDCOM'), '#', 'menu-sour-editraw');
- $submenu->setOnclick("return edit_raw('" . $this->record->getXref() . "');");
- $menu->addSubmenu($submenu);
+ $menu->addSubmenu(new Menu(I18N::translate('Edit raw GEDCOM'), '#', 'menu-sour-editraw', array(
+ 'onclick' => 'return edit_raw("' . $this->record->getXref() . '");',
+ )));
}
// add to favorites
if (Module::getModuleByName('user_favorites')) {
- $submenu = new Menu(
- /* I18N: Menu option. Add [the current page] to the list of favorites */ I18N::translate('Add to favorites'),
+ $menu->addSubmenu(new Menu(
+ /* I18N: Menu option. Add [the current page] to the list of favorites */ I18N::translate('Add to favorites'),
'#',
- 'menu-sour-addfav'
- );
- $submenu->setOnclick("jQuery.post('module.php?mod=user_favorites&amp;mod_action=menu-add-favorite',{xref:'" . $this->record->getXref() . "'},function(){location.reload();})");
- $menu->addSubmenu($submenu);
+ 'menu-sour-addfav',
+ array(
+ 'onlick' => 'jQuery.post("module.php?mod=user_favorites&amp;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->setOnClick($submenus[0]->getOnClick());
+ $menu->setAttrs($submenus[0]->getAttrs());
}
return $menu;