Skip to content

Commit

Permalink
Released v1.2.2
Browse files Browse the repository at this point in the history
  • Loading branch information
newbthenewbd committed Oct 14, 2018
1 parent 3958b28 commit 2480b23
Show file tree
Hide file tree
Showing 4 changed files with 63 additions and 81 deletions.
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
# v1.2.2
## 15-10-2018

1. [](#improved)
* Improved the method used for TinyMCE path lookups
* Removed a debug check from the code that was previously overlooked

# v1.2.1
## 01-10-2018

Expand Down
2 changes: 1 addition & 1 deletion blueprints.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: TinyMCE Editor Integration
version: 1.2.1
version: 1.2.2
description: This is _the_ TinyMCE integration plugin for those not chosen to love Markdown over all comfort.
icon: edit
author:
Expand Down
122 changes: 49 additions & 73 deletions templates/forms/fields/tinymce/tinymce.html.twig
Original file line number Diff line number Diff line change
Expand Up @@ -17,89 +17,65 @@
{% if field.readonly in ['on', 'true', 1] %}readonly="readonly"{% endif %}
{% if field.validate.required in ['on', 'true', 1] %}required="required"{% endif %}
>{{ value|join("\n")|e("html") }}</textarea>
{{ "lol" }}
</div>
</div>
<script>
(function() {
function run() {
tinymce.init({
selector:"textarea.tinymce",
convert_urls:false,
document_base_url:$("[id=grav-dropzone]").attr("data-media-local")+"/../"+(""{% if context.modular %}+"../"{% endif %}),
language_url:lang != "" ? langs + lang + ".js" : "",
plugins:"{{ config.plugins["tinymce-editor"].plugins|join(" ")|e("js") }}",
{% for key in config.plugins["tinymce-editor"].parameters|keys %}
"{{ config.plugins["tinymce-editor"].parameters[key].name|e("js") }}":function(x) {
try{return JSON.parse(x)}catch(e){return x}
}("{{ config.plugins["tinymce-editor"].parameters[key].value|e("js") }}"),
{% endfor %}
menubar:{% if config.plugins["tinymce-editor"].menubar %}true{% else %}false{% endif %},
menu:{
{% for key in config.plugins["tinymce-editor"].menu|keys %}
{{ key }}:{
title:"{{ config.plugins["tinymce-editor"].menu[key].title|e("js") }}",
items:"{{ config.plugins["tinymce-editor"].menu[key].items|e("js") }}"
},
{% endfor %}
tinymce.init({
selector:"textarea.tinymce",
convert_urls:false,
document_base_url:$("[id=grav-dropzone]").attr("data-media-local")+"/../"+(""{% if context.modular %}+"../"{% endif %}),
language_url:"{{ url('user://data/tinymce-editor/js/tinymce/langs/' ~ grav.user.language ~ '.js')|default(url('user://data/tinymce-editor/js/tinymce/langs/' ~ grav.user.language ~ '_' ~ (grav.user.language|upper) ~ '.js')|default(url('plugins://tinymce-editor/js/tinymce/langs/' ~ grav.user.language ~ '.js')|default(url('plugins://tinymce-editor/js/tinymce/langs/' ~ grav.user.language ~ '_' ~ (grav.user.language|upper) ~ '.js')))) }}",
plugins:"{{ config.plugins["tinymce-editor"].plugins|join(" ")|e("js") }}",
{% for key in config.plugins["tinymce-editor"].parameters|keys %}
"{{ config.plugins["tinymce-editor"].parameters[key].name|e("js") }}":function(x) {
try{return JSON.parse(x)}catch(e){return x}
}("{{ config.plugins["tinymce-editor"].parameters[key].value|e("js") }}"),
{% endfor %}
menubar:{% if config.plugins["tinymce-editor"].menubar %}true{% else %}false{% endif %},
menu:{
{% for key in config.plugins["tinymce-editor"].menu|keys %}
{{ key }}:{
title:"{{ config.plugins["tinymce-editor"].menu[key].title|e("js") }}",
items:"{{ config.plugins["tinymce-editor"].menu[key].items|e("js") }}"
},
toolbar:[
{% for fields in config.plugins["tinymce-editor"].toolbar %}
{% for row in fields %}
'{{ row|e("js") }}',
{% endfor %}
{% endfor %}
],
branding:{% if config.plugins["tinymce-editor"].branding %}true{% else %}false{% endif %},
statusbar:{% if config.plugins["tinymce-editor"].statusbar %}true{% else %}false{% endif %}
});
}
function query() {
$.get(langs + lang + ".js").done(function() {
run();
}).fail(function() {
lang += "_" + lang.toUpperCase();
$.get(langs + lang + ".js").done(function() {
run();
}).fail(function() {
lang = "";
run();
});
});
}
var langs = "{{ url('plugins://') }}/../data/tinymce-editor/js/tinymce/langs/";
var lang = GravAdmin.config.language;
$.get("{{ url('plugins://') }}/../data/tinymce-editor/js/tinymce/tinymce.min.js").done(function() {
query();
}).fail(function() {
langs = "{{ url('plugins://tinymce-editor/js/tinymce/langs') }}/";
query();
});
$(window).on("load", function() {
$("div.dropzone").on("click", "a.dz-insert", function() {
var dir = $("[id=grav-dropzone]").attr("data-media-local")+"/";
var safedir = $("[id=grav-dropzone]").attr("data-media-path")+"/";
var src = $(this).parent().find("[data-dz-name]").text();
var file = new Image();
{% endfor %}
},
toolbar:[
{% for fields in config.plugins["tinymce-editor"].toolbar %}
{% for row in fields %}
'{{ row|e("js") }}',
{% endfor %}
{% endfor %}
],
branding:{% if config.plugins["tinymce-editor"].branding %}true{% else %}false{% endif %},
statusbar:{% if config.plugins["tinymce-editor"].statusbar %}true{% else %}false{% endif %}
});
$(window).on("load", function() {
$("div.dropzone").on("click", "a.dz-insert", function() {
var dir = $("[id=grav-dropzone]").attr("data-media-local")+"/";
var safedir = $("[id=grav-dropzone]").attr("data-media-path")+"/";
var src = $(this).parent().find("[data-dz-name]").text();
var file = new Image();
file.onload = function() {
$("[aria-label='Insert/edit image'] button").click();
$("div.mce-window input.mce-textbox:first").val(dir+src);
};
file.onerror = function() {
file = new Audio();
file.onload = function() {
$("[aria-label='Insert/edit image'] button").click();
tinyMCE.activeEditor.plugins.media.showDialog();
$("div.mce-window input.mce-textbox:first").val(dir+src);
};
file.onerror = function() {
file = new Audio();
file.onload = function() {
tinyMCE.activeEditor.plugins.media.showDialog();
$("div.mce-window input.mce-textbox:first").val(dir+src);
};
file.onerror = function() {
$("[aria-label='Insert/edit link'] button").click();
$("div.mce-window input.mce-textbox:eq(1)").val(src);
$("div.mce-window input.mce-textbox:first").val(dir+src);
};
file.src = safedir+src;
$("[aria-label='Insert/edit link'] button").click();
$("div.mce-window input.mce-textbox:eq(1)").val(src);
$("div.mce-window input.mce-textbox:first").val(dir+src);
};
file.src = safedir+src;
});
};
file.src = safedir+src;
});
}());
});
</script>
{% endblock %}
13 changes: 6 additions & 7 deletions tinymce-editor.php
Original file line number Diff line number Diff line change
Expand Up @@ -53,34 +53,33 @@ public function onAdminSave($event) {
}
public function onPluginsInitialized() {
if($this->isAdmin()) {
$this->grav["locator"]->addPath("data", "", DATA_DIR);
if(file_exists(DATA_DIR . "/tinymce-editor/blueprints")) {
$this->grav["locator"]->addPath("blueprints", "", DATA_DIR . "/tinymce-editor/blueprints");
if(file_exists(__DIR__ . "/../../data/tinymce-editor/blueprints")) {
$this->grav["locator"]->addPath("blueprints", "", __DIR__ . "/../../data/tinymce-editor/blueprints");
} else {
$this->grav["locator"]->addPath("blueprints", "", __DIR__ . "/blueprints");
}
$this->enable(["onTwigTemplatePaths" => ["onTwigTemplatePaths", 999]]);
}
}
public function onTwigTemplatePaths() {
if(file_exists(DATA_DIR . "/tinymce-editor/templates")) {
$this->grav["twig"]->twig_paths[] = DATA_DIR . "/tinymce-editor/templates";
if(file_exists(__DIR__ . "/../../data/tinymce-editor/templates")) {
$this->grav["twig"]->twig_paths[] = __DIR__ . "/../../data/tinymce-editor/templates";
} else {
$this->grav["twig"]->twig_paths[] = __DIR__ . "/templates";
}
}
public function onTwigSiteVariables() {
if($this->isAdmin() && strpos($this->grav["uri"]->route(), $this->config["plugins"]["admin"]["route"] . "/pages/") !== false) {
if($this->config["plugins"]["tinymce-editor"]["apikey"] === "") {
if(file_exists(DATA_DIR . "/tinymce-editor/js/tinymce")) {
if(file_exists(__DIR__ . "/../../data/tinymce-editor/js/tinymce")) {
$this->grav["assets"]->add("user://data/tinymce-editor/js/tinymce/tinymce.min.js");
} else {
$this->grav["assets"]->add("plugin://tinymce-editor/js/tinymce/tinymce.min.js");
}
} else {
$this->grav["assets"]->add("https://cloud.tinymce.com/stable/tinymce.min.js?apiKey=" . urlencode($this->config["plugins"]["tinymce-editor"]["apikey"]));
}
if(file_exists(DATA_DIR . "/tinymce-editor/css")) {
if(file_exists(__DIR__ . "/../../data/tinymce-editor/css")) {
$this->grav["assets"]->add("user://data/tinymce-editor/css/editor.css");
} else {
$this->grav["assets"]->add("plugin://tinymce-editor/css/editor.css");
Expand Down

0 comments on commit 2480b23

Please sign in to comment.