Если не пугает изменение кода, то вот список того, что нужно поменять (писал для Evo 1.0.2):
/manager/frames/tree.php:
Приблизительно на 534 строке после
case 12 : // preview (alternate methods commented out)
window.open("../index.php?id=" + itemToChange,'previeWin'); //re-use 'new' window
//window.open("../index.php?id=" + itemToChange); //open in new window each time
//top.main.document.location.href="../index.php?id=" + itemToChange; //open in manager
break
Добавить:
case 13 : // delete children
if(selectedObjectDeleted==0) {
if(confirm("'" + selectedObjectName + "'\n\nВы действительно хотите удалить дочерние документы?")==true) {
top.main.document.location.href="index.php?a=-6&id=" + itemToChange + "¬self=true";
}
} else {
alert("'" + selectedObjectName + "' <?php echo $_lang['already_deleted']; ?>");
}
break
Где-то на 569-й строке после
constructLink(8, $_style["icons_undelete_resource"], $_lang["undelete_resource"], $modx->hasPermission('delete_document')); // undelete
Добавить:
constructLink(13, $_style["icons_delete"], 'Удалить дочерние', $modx->hasPermission('delete_document')); // delete children
/manager/index.php:
Приблизительно на 306 строке после
Добавить:
/manager/processors/delete+content_processor.php:
93-я строка. Заменить:
//ok, 'delete' the document.
$sql = "UPDATE $dbase.`".$table_prefix."site_content` SET deleted=1, deletedby=".$modx->getLoginUserID().", deletedon=$deltime WHERE id=$id;";
$rs = mysql_query($sql);
На:
// Do not delete self
$not_self = isset($_GET['notself']) ? $_GET['notself'] : FALSE;
//ok, 'delete' the document.
if (!$not_self) {
$sql = "UPDATE $dbase.`".$table_prefix."site_content` SET deleted=1, deletedby=".$modx->getLoginUserID().", deletedon=$deltime WHERE id=$id;";
$rs = mysql_query($sql);
} else {
$rs = TRUE;
}