summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfisharebest <fisharebest@gmail.com>2011-09-25 08:25:29 +0000
committerfisharebest <fisharebest@gmail.com>2011-09-25 08:25:29 +0000
commita205cb35bee1144a7947aff414f80e6787bf7e04 (patch)
tree6833030cfc4f706b19f9fb586cab10e199888fe1
parent4458c39fafe1077b1d15ecfb21e8ec606cf930ba (diff)
downloadwebtrees-a205cb35bee1144a7947aff414f80e6787bf7e04.tar.gz
webtrees-a205cb35bee1144a7947aff414f80e6787bf7e04.tar.bz2
webtrees-a205cb35bee1144a7947aff414f80e6787bf7e04.zip
Better feedback and consistency when deleting records
-rw-r--r--includes/functions/functions_print.php24
-rw-r--r--includes/functions/functions_print_lists.php9
-rw-r--r--js/webtrees.js17
-rw-r--r--library/WT/Controller/Family.php2
-rw-r--r--library/WT/Controller/Individual.php4
-rw-r--r--library/WT/Controller/Note.php4
-rw-r--r--library/WT/Controller/Repository.php4
-rw-r--r--library/WT/Controller/Source.php4
-rw-r--r--library/WT/GedcomRecord.php1
9 files changed, 30 insertions, 39 deletions
diff --git a/includes/functions/functions_print.php b/includes/functions/functions_print.php
index e456b5a983..507147ce40 100644
--- a/includes/functions/functions_print.php
+++ b/includes/functions/functions_print.php
@@ -447,8 +447,8 @@ function print_header($title, $view='full') {
arrows[2].src = "'.$WT_IMAGES["uarrow2"].'";
arrows[3] = new Image();
arrows[3].src = "'.$WT_IMAGES["darrow2"].'";
- ';
- $javascript .= 'function delete_record(pid, linenum, mediaid) {
+
+ function delete_record(pid, linenum, mediaid) {
if (!mediaid) mediaid="";
if (confirm(\''.WT_I18N::translate('Are you sure you want to delete this fact?').'\')) {
window.open(\'edit_interface.php?action=delete&pid=\'+pid+\'&linenum=\'+linenum+\'&mediaid=\'+mediaid+"&"+sessionname+"="+sessionid, \'_blank\', \'top=50, left=50, width=600, height=500, resizable=1, scrollbars=1\');
@@ -456,21 +456,6 @@ function print_header($title, $view='full') {
return false;
}
- function deleteperson(pid) {
- if (confirm(\''.WT_I18N::translate('Are you sure you want to delete this person?').'\')) {
- window.open(\'edit_interface.php?action=deleteperson&pid=\'+pid+"&"+sessionname+"="+sessionid, \'_blank\', \'top=50, left=50, width=600, height=500, resizable=1, scrollbars=1\');
- }
- return false;
- }
-
- function deleterepository(pid) {
- if (confirm(\''.WT_I18N::translate('Are you sure you want to delete this Repository?').'\')) {
- window.open(\'edit_interface.php?action=deleterepo&pid=\'+pid+"&"+sessionname+"="+sessionid, \'_blank\', \'top=50, left=50, width=600, height=500, resizable=1, scrollbars=1\');
- }
- return false;
- }
- ';
- $javascript .= '
function message(username, method, url, subject) {
if ((!url)||(url=="")) url=\''.addslashes(get_query_url()).'\';
if ((!subject)||(subject=="")) subject="";
@@ -479,8 +464,9 @@ function print_header($title, $view='full') {
}
var whichhelp = \'help_'.WT_SCRIPT_NAME.'&action='.$action.'\';
- //-->
- '.WT_JS_END.'<script src="js/webtrees.js" type="text/javascript"></script>';
+ '.
+ WT_JS_END.
+ '<script src="js/webtrees.js" type="text/javascript"></script>';
require WT_ROOT.$headerfile;
// Allow the browser to format the header/menus while we generate the page
diff --git a/includes/functions/functions_print_lists.php b/includes/functions/functions_print_lists.php
index 1acc111147..51caa60e30 100644
--- a/includes/functions/functions_print_lists.php
+++ b/includes/functions/functions_print_lists.php
@@ -901,8 +901,7 @@ function print_sour_table($datalist, $legend=null) {
}
//-- Delete
if (WT_USER_GEDCOM_ADMIN) {
- $deletesource = explode("@", $source);
- echo '<td><div title="', WT_I18N::translate('Delete source'), '" class="deleteicon" onclick="if (confirm(\'', WT_I18N::translate('Are you sure you want to delete this Source?'), '\')) return deletesource(\'', $deletesource[0],'\'); else return false;"><span class="link_text">', WT_I18N::translate('Delete'), '</span></div></td>';
+ echo '<td><div title="', WT_I18N::translate('Delete'), '" class="deleteicon" onclick="if (confirm(\'', addslashes(WT_I18N::translate('Are you sure you want to delete “%s”?', $source->getFullName())), '\')) return delete_source(\'', $source->getXref(),'\'); else return false;"><span class="link_text">', WT_I18N::translate('Delete'), '</span></div></td>';
} else {
echo '<td style="display:none;"></td>';
}
@@ -1034,8 +1033,7 @@ function print_note_table($datalist, $legend=null) {
}
//-- Delete
if (WT_USER_GEDCOM_ADMIN) {
- $deletenote = explode("@", $note);
- echo '<td><div title="', WT_I18N::translate('Delete shared note'), '" class="deleteicon" onclick="if (confirm(\'', WT_I18N::translate('Are you sure you want to delete this Shared Note?'), '\')) return deletenote(\'', $deletenote[0],'\'); else return false;"><span class="link_text">', WT_I18N::translate('Delete'), '</span></div></td>';
+ echo '<td><div title="', WT_I18N::translate('Delete'), '" class="deleteicon" onclick="if (confirm(\'', addslashes(WT_I18N::translate('Are you sure you want to delete “%s”?', $note->getFullName())), '\')) return delete_note(\'', $note->getXref(),'\'); else return false;"><span class="link_text">', WT_I18N::translate('Delete'), '</span></div></td>';
} else {
echo '<td style="display:none;"></td>';
}
@@ -1144,8 +1142,7 @@ function print_repo_table($repos, $legend='') {
}
//-- Delete
if (WT_USER_GEDCOM_ADMIN) {
- $deleterepo = explode("@", $repo);
- echo '<td><div title="', WT_I18N::translate('Delete repository'), '" class="deleteicon" onclick="if (confirm(\'', WT_I18N::translate('Are you sure you want to delete this Repository?'), '\')) return deleterepository(\'', $deleterepo[0],'\'); else return false;"><span class="link_text">', WT_I18N::translate('Delete'), '</span></div></td>';
+ echo '<td><div title="', WT_I18N::translate('Delete'), '" class="deleteicon" onclick="if (confirm(\'', addslashes(WT_I18N::translate('Are you sure you want to delete “%s”?', $repo->getFullName())), '\')) return delete_repository(\'', $repo->getXref(),'\'); else return false;"><span class="link_text">', WT_I18N::translate('Delete'), '</span></div></td>';
} else {
echo '<td style="display:none;"></td>';
}
diff --git a/js/webtrees.js b/js/webtrees.js
index b758f03d65..e67b33740d 100644
--- a/js/webtrees.js
+++ b/js/webtrees.js
@@ -447,13 +447,22 @@ function delete_family(famid) {
return false;
}
-function deletesource(pid) {
- window.open('edit_interface.php?action=deletesource&pid='+pid+"&"+sessionname+"="+sessionid+"&accesstime="+accesstime, '_blank', 'top=50,left=50,width=600,height=500,resizable=1,scrollbars=1');
+function delete_note(pid) {
+ window.open('edit_interface.php?action=deletenote&pid='+pid+"&"+sessionname+"="+sessionid+"&accesstime="+accesstime, '_blank', 'top=50,left=50,width=600,height=500,resizable=1,scrollbars=1');
return false;
}
-function deletenote(pid) {
- window.open('edit_interface.php?action=deletenote&pid='+pid+"&"+sessionname+"="+sessionid+"&accesstime="+accesstime, '_blank', 'top=50,left=50,width=600,height=500,resizable=1,scrollbars=1');
+function delete_person(pid) {
+ window.open('edit_interface.php?action=deleteperson&pid='+pid+"&"+sessionname+"="+sessionid, '_blank', 'top=50, left=50, width=600, height=500, resizable=1, scrollbars=1');
+ return false;
+}
+
+function delete_repository(pid) {
+ window.open('edit_interface.php?action=deleterepo&pid='+pid+"&"+sessionname+"="+sessionid, '_blank', 'top=50, left=50, width=600, height=500, resizable=1, scrollbars=1');
+ return false;
+}
+function delete_source(pid) {
+ window.open('edit_interface.php?action=deletesource&pid='+pid+"&"+sessionname+"="+sessionid+"&accesstime="+accesstime, '_blank', 'top=50,left=50,width=600,height=500,resizable=1,scrollbars=1');
return false;
}
diff --git a/library/WT/Controller/Family.php b/library/WT/Controller/Family.php
index 2e75bbef35..0cdbb9e912 100644
--- a/library/WT/Controller/Family.php
+++ b/library/WT/Controller/Family.php
@@ -208,7 +208,7 @@ class WT_Controller_Family extends WT_Controller_Base {
// delete
if (WT_USER_CAN_EDIT) {
- $submenu = new WT_Menu(WT_I18N::translate('Delete family'), '#', 'menu-fam-del');
+ $submenu = new WT_Menu(WT_I18N::translate('Delete'), '#', 'menu-fam-del');
$submenu->addOnclick("if (confirm('".WT_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?')."')) return delete_family('".$this->getFamilyID()."'); else return false;");
$submenu->addIcon('remove');
$submenu->addClass('submenuitem', 'submenuitem_hover', 'submenu', 'icon_small_delete');
diff --git a/library/WT/Controller/Individual.php b/library/WT/Controller/Individual.php
index 049370525a..dab165e325 100644
--- a/library/WT/Controller/Individual.php
+++ b/library/WT/Controller/Individual.php
@@ -467,8 +467,8 @@ class WT_Controller_Individual extends WT_Controller_Base {
// delete
if (WT_USER_CAN_EDIT) {
- $submenu = new WT_Menu(WT_I18N::translate('Delete this individual'), '#', 'menu-indi-del');
- $submenu->addOnclick("return deleteperson('".$this->pid."');");
+ $submenu = new WT_Menu(WT_I18N::translate('Delete'), '#', 'menu-indi-del');
+ $submenu->addOnclick("if (confirm('".addslashes(WT_I18N::translate('Are you sure you want to delete “%s”?', strip_tags($this->indi->getFullName())))."')) return delete_person('".$this->indi->getXref()."'); else return false;");
$submenu->addIcon('remove');
$submenu->addClass('submenuitem', 'submenuitem_hover', 'submenu', 'icon_small_delete');
$menu->addSubmenu($submenu);
diff --git a/library/WT/Controller/Note.php b/library/WT/Controller/Note.php
index b82a641cb3..eb54208109 100644
--- a/library/WT/Controller/Note.php
+++ b/library/WT/Controller/Note.php
@@ -168,8 +168,8 @@ class WT_Controller_Note extends WT_Controller_Base {
// delete
if (WT_USER_CAN_EDIT) {
- $submenu = new WT_Menu(WT_I18N::translate('Delete this Shared Note'), '#', 'menu-note-del');
- $submenu->addOnclick("if (confirm('".WT_I18N::translate('Are you sure you want to delete this Shared Note?')."')) return deletenote('".$this->nid."'); else return false;");
+ $submenu = new WT_Menu(WT_I18N::translate('Delete'), '#', 'menu-note-del');
+ $submenu->addOnclick("if (confirm('".addslashes(WT_I18N::translate('Are you sure you want to delete “%s”?', $this->note->getFullName()))."')) return delete_note('".$this->note->getXref()."'); else return false;");
$submenu->addIcon('remove');
$submenu->addClass('submenuitem', 'submenuitem_hover', 'submenu', 'icon_small_delete');
$menu->addSubmenu($submenu);
diff --git a/library/WT/Controller/Repository.php b/library/WT/Controller/Repository.php
index b800229f7a..8922700b6d 100644
--- a/library/WT/Controller/Repository.php
+++ b/library/WT/Controller/Repository.php
@@ -168,8 +168,8 @@ class WT_Controller_Repository extends WT_Controller_Base {
// delete
if (WT_USER_CAN_EDIT) {
- $submenu = new WT_Menu(WT_I18N::translate('Delete repository'), '#', 'menu-repo-del');
- $submenu->addOnclick("if (confirm('".WT_I18N::translate('Are you sure you want to delete this Repository?')."')) return deleterepository('".$this->rid."'); else return false;");
+ $submenu = new WT_Menu(WT_I18N::translate('Delete'), '#', 'menu-repo-del');
+ $submenu->addOnclick("if (confirm('".addslashes(WT_I18N::translate('Are you sure you want to delete “%s”?', $this->repository->getFullName()))."')) return deleterepository('".$this->repository->getXref()."'); else return false;");
$submenu->addIcon('remove');
$submenu->addClass('submenuitem', 'submenuitem_hover', 'submenu', 'icon_small_delete');
$menu->addSubmenu($submenu);
diff --git a/library/WT/Controller/Source.php b/library/WT/Controller/Source.php
index 17d2237427..1f874e38c7 100644
--- a/library/WT/Controller/Source.php
+++ b/library/WT/Controller/Source.php
@@ -168,8 +168,8 @@ class WT_Controller_Source extends WT_Controller_Base {
// delete
if (WT_USER_CAN_EDIT) {
- $submenu = new WT_Menu(WT_I18N::translate('Delete this Source'), '#', 'menu-sour-del');
- $submenu->addOnclick("if (confirm('".WT_I18N::translate('Are you sure you want to delete this Source?')."')) return deletesource('".$this->sid."'); else return false;");
+ $submenu = new WT_Menu(WT_I18N::translate('Delete'), '#', 'menu-sour-del');
+ $submenu->addOnclick("if (confirm('".addslashes(WT_I18N::translate('Are you sure you want to delete “%s”?', $this->source->getFullName()))."')) return delete_source('".$this->source->getXref()."'); else return false;");
$submenu->addIcon('remove');
$submenu->addClass('submenuitem', 'submenuitem_hover', 'submenu', 'icon_small_delete');
$menu->addSubmenu($submenu);
diff --git a/library/WT/GedcomRecord.php b/library/WT/GedcomRecord.php
index 6bcf305f12..7d7904e5e9 100644
--- a/library/WT/GedcomRecord.php
+++ b/library/WT/GedcomRecord.php
@@ -420,7 +420,6 @@ class WT_GedcomRecord {
// RTL names on LTR pages (and vice-versa) cause problems when they contain
// weakly-directional characters such as punctuation. Add markup to fix this.
$dir=utf8_direction($value);
- $value=htmlspecialchars($value);
if ($dir=='ltr' && $TEXT_DIRECTION=='rtl') {
$full='<span dir="ltr">'.htmlspecialchars($value).'</span>';
} elseif ($dir=='rtl' && $TEXT_DIRECTION=='ltr') {