From 20d5d0d299f0b3cc1a4abc2c57e7e0b21cd0aed4 Mon Sep 17 00:00:00 2001 From: Mat Dave Jones Date: Wed, 24 Jun 2015 12:10:40 -0500 Subject: [PATCH 1/2] Fixed "Cannot add link to styled image in Chrome" --- .../tiny_mce/plugins/modxlink/js/modxlink.js | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/assets/components/tinymce/jscripts/tiny_mce/plugins/modxlink/js/modxlink.js b/assets/components/tinymce/jscripts/tiny_mce/plugins/modxlink/js/modxlink.js index fb8e30e..f74f42d 100644 --- a/assets/components/tinymce/jscripts/tiny_mce/plugins/modxlink/js/modxlink.js +++ b/assets/components/tinymce/jscripts/tiny_mce/plugins/modxlink/js/modxlink.js @@ -385,12 +385,14 @@ function getAnchorListHTML(id, target) { function insertAction() { var inst = tinyMCEPopup.editor; - var elm, elementArray, i; + var olm, elm, elementArray, i; - elm = inst.selection.getNode(); + olm = inst.selection.getNode(); + floatVal = olm.style.cssFloat; + olm.style.cssFloat = null; checkPrefix(document.forms[0].href); - elm = inst.dom.getParent(elm, "A"); + elm = inst.dom.getParent(olm, "A"); // Remove element if there is no href if (!document.forms[0].href.value) { @@ -419,7 +421,7 @@ function insertAction() { setAllAttribs(elm = elementArray[i]); } else setAllAttribs(elm); - + // Don't move caret if selection was image if (elm.childNodes.length != 1 || elm.firstChild.nodeName != 'IMG') { inst.focus(); @@ -427,7 +429,9 @@ function insertAction() { inst.selection.collapse(0); tinyMCEPopup.storeSelection(); } - + if(floatVal) + olm.style.cssFloat = floatVal; + tinyMCEPopup.execCommand("mceEndUndoLevel"); tinyMCEPopup.close(); } From d442e6fa9d5f09a780a859741a72c0eb66aca203 Mon Sep 17 00:00:00 2001 From: Mat Dave Jones Date: Wed, 24 Jun 2015 17:16:26 -0500 Subject: [PATCH 2/2] Limit search to available contexts only --- .../tiny_mce/plugins/modxlink/search.php | 25 +++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/assets/components/tinymce/jscripts/tiny_mce/plugins/modxlink/search.php b/assets/components/tinymce/jscripts/tiny_mce/plugins/modxlink/search.php index 93b1d0c..34377f5 100644 --- a/assets/components/tinymce/jscripts/tiny_mce/plugins/modxlink/search.php +++ b/assets/components/tinymce/jscripts/tiny_mce/plugins/modxlink/search.php @@ -7,13 +7,34 @@ require_once dirname(dirname(dirname(dirname(dirname(dirname(dirname(dirname(__FILE__)))))))).'/config.core.php'; require_once MODX_CORE_PATH.'config/'.MODX_CONFIG_KEY.'.inc.php'; require_once MODX_CONNECTORS_PATH.'index.php'; - +$list = array(); +$ugroups = $modx->user->getUserGroupNames(); +$ug = $modx->newQuery('modUserGroup'); +$ug->where(array('name:IN'=>$ugroups)); +$groupsin = $modx->getCollection('modUserGroup',$ug); +if(!empty($groupsin)){ + foreach($groupsin as $gi){ + $webContextAccess = $modx->newQuery('modAccessContext'); + $webContextAccess->where(array( + 'principal' =>$gi->get('id'), + 'AND:target:!=' => 'mgr', + )); + $gi_cntx = $modx->getCollection('modAccessContext', $webContextAccess); + if(!empty($gi_cntx)){ + foreach($gi_cntx AS $acl){ + if(!in_array($acl->get('target'), $list)) + $list[] =$acl->get('target'); + } + } + } +} $searchMode = $modx->getOption('search-mode',$_REQUEST,'pagetitle'); $query = $modx->getOption('q',$_REQUEST,''); $c = $modx->newQuery('modResource'); $c->where(array( $searchMode.':LIKE' => '%'.$query.'%', + 'context_key:IN' => $list, )); $count = $modx->getCount('modResource',$c); @@ -24,6 +45,6 @@ $resources = $modx->getCollection('modResource',$c); foreach ($resources as $resource) { - echo $resource->get('pagetitle').' ('.$resource->get('id').')|'.$resource->get('id')."\n"; + echo $resource->get('pagetitle').' ('.$resource->get('id').')|'.$resource->get('id')."\n"; } die();