Index: easylink.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/easylink/easylink.module,v retrieving revision 1.3.2.6 diff -u -p -r1.3.2.6 easylink.module --- easylink.module 12 Oct 2007 15:48:56 -0000 1.3.2.6 +++ easylink.module 4 Oct 2008 00:44:02 -0000 @@ -84,7 +84,7 @@ function easylink_loader() { $view_text = views_build_view('embed', $myview, FALSE, TRUE, $myview->nodes_per_page); // Add javascript onClick action to insert link except on pager links - $view_text = preg_replace_callback('//i', "check_pager", $view_text); + $view_text = preg_replace_callback('|.*|i', "check_pager", $view_text); $output .= ''; $output .= "\n"; @@ -94,12 +94,12 @@ function easylink_loader() { // Check if link is a pager link or not. Only replace non-pager links function check_pager($matches){ foreach ($matches as $match){ - if (preg_match('/.*\?page=/', $match)||preg_match('/.*\?sort=/', $match)){ + if (preg_match('/.*\?page=/', $match)||preg_match('/.*class="pager/', $match)||preg_match('/.*\?sort=/', $match)){ return $match; } else { // Reg-ex fix from Jose San Martin - $search = '/]*>/i'; - $replace = ''; + $search = '|]*>(.*)|i'; + $replace = '$2'; return preg_replace($search, $replace, $match); } } Index: easylink/jscripts/easylink.js =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/easylink/easylink/jscripts/easylink.js,v retrieving revision 1.1 diff -u -p -r1.1 easylink.js --- easylink/jscripts/easylink.js 14 May 2007 19:16:57 -0000 1.1 +++ easylink/jscripts/easylink.js 4 Oct 2008 00:44:02 -0000 @@ -1,8 +1,4 @@ -function addLink(addr){ - insertLink(addr); -} - -function insertLink(url) { +function addLink(url, text){ var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id')); var elm = inst.getFocusElement(); @@ -12,11 +8,18 @@ function insertLink(url) { // Create new anchor elements if (elm == null) { - if (tinyMCE.isSafari) - tinyMCEPopup.execCommand("mceInsertContent", false, '' + inst.selection.getSelectedHTML() + ''); - else - tinyMCEPopup.execCommand("createlink", false, url); - + selection = inst.selection.getSelectedHTML(); + if (selection.length == 0) { + // Insert a new link using the title of the selected node + tinyMCEPopup.execCommand("mceInsertContent", false, '' + text + ''); + } + else { + // Insert a link using the selected text + if (tinyMCE.isSafari) + tinyMCEPopup.execCommand("mceInsertContent", false, '' + selection + ''); + else + tinyMCEPopup.execCommand("createlink", false, url); + } var elementArray = tinyMCE.getElementsByAttributeValue(inst.getBody(), "a", "href", url); for (var i=0; i