hotfix for images in editor uploads

This commit is contained in:
Are0h 2022-04-23 11:28:20 -07:00
parent 9baaed6d50
commit aa3301fb66
4 changed files with 8689 additions and 165 deletions

View file

@ -4,6 +4,7 @@ namespace brain\api\v1;
use brain\data\Member; use brain\data\Member;
use brain\data\Settings; use brain\data\Settings;
use brain\utility\FileUploader;
class ImagesAPI class ImagesAPI
{ {

View file

@ -4,178 +4,178 @@
if not, just make them empty if not, just make them empty
#} #}
{% if mode == 'edit' %} {% if mode == 'edit' %}
{% set id = page['id'] %} {% set id = page['id'] %}
{% set uuid = page['uuid'] %} {% set uuid = page['uuid'] %}
{% set slug = page['slug'] %} {% set slug = page['slug'] %}
{% set layout = page['layout'] %} {% set layout = page['layout'] %}
{% set feature = page['feature'] %} {% set feature = page['feature'] %}
{% set _title = page['title'] %} {% set _title = page['title'] %}
{% set tags = page['tags'] %} {% set tags = page['tags'] %}
{% set content = page['content'] %} {% set content = page['content'] %}
{% set date = page['created'] %} {% set date = page['created'] %}
{% set updated = page['updated'] %} {% set updated = page['updated'] %}
{% set media = page['media'] %} {% set media = page['media'] %}
{% set files = page['docs'] %} {% set files = page['docs'] %}
{% else %} {% else %}
{% set id = '' %} {% set id = '' %}
{% set uuid = '' %} {% set uuid = '' %}
{% set slug = '' %} {% set slug = '' %}
{% set layout = 'page' %} {% set layout = 'page' %}
{% set feature = '' %} {% set feature = '' %}
{% set title = '' %} {% set title = '' %}
{% set tags = '' %} {% set tags = '' %}
{% set content = '' %} {% set content = '' %}
{% set date = '' %} {% set date = '' %}
{% set updated = '' %} {% set updated = '' %}
{% set media = '' %} {% set media = '' %}
{% set files = '' %} {% set files = '' %}
{% endif %} {% endif %}
{% block title %} {% block title %}
{{ title }} {{ title }}
{% endblock %} {% endblock %}
{% block stylesheets %} {% block stylesheets %}
<link rel="stylesheet" type="text/css" href="/assets/css/dash.css?=vbhj"> <link rel="stylesheet" type="text/css" href="/assets/css/dash.css?=vbhj">
{% endblock %} {% endblock %}
{% block mainContent %} {% block mainContent %}
<div id="post-edit-index" data-index="{{ id }}" data-uuid="{{ uuid }}" data-slug="{{ slug }}" data-layout="{{ layout }}"> <div id="post-edit-index" data-index="{{ id }}" data-uuid="{{ uuid }}" data-slug="{{ slug }}" data-layout="{{ layout }}">
<div id="post-edit-index-wrapper"> <div id="post-edit-index-wrapper">
<div id="post-feature"> <div id="post-feature">
{% if page['feature'] == null %} {% if page['feature'] == null %}
<div id="page-file-manager"> <div id="page-file-manager">
<div id="page-file-wrapper"> <div id="page-file-wrapper">
<div id="page-file-drop"> <div id="page-file-drop">
<label for="page-files-upload">DRAG AND DROP FILES OR CLICK TO SELECT</label> <label for="page-files-upload">DRAG AND DROP FILES OR CLICK TO SELECT</label>
</div> </div>
IMAGES AND VIDEO IMAGES AND VIDEO
<div id="page-images-list"></div> <div id="page-images-list"></div>
FILES FILES
<div id="page-files-list"></div> <div id="page-files-list"></div>
</div> </div>
</div>
{% else %}
<div id="page-file-manager">
<div id="page-file-wrapper">
<div id="page-file-drop">
<label for="page-files-upload">DRAG AND DROP FILES OR CLICK TO SELECT</label>
</div>
IMAGES AND VIDEO
<div id="page-images-list">
{% if media|length > 1 %}
{% for item in media %}
{% if item.type == "mp4"%}
<div id="{{loop.index0}}" class="video-item" data-source="{{ item.file }}"></div>
{% else %}
<div id="{{loop.index0}}" class="img-item" style="background: url({{ item.file }}) no-repeat center center / cover"></div>
{% endif %}
{% endfor %}
{% else %}
{% if media[0] != '' %}
{% if media[0].type == "mp4"%}
<div id="0" class="video-item" data-source="{{ media[0].file }}"></div>
{% else %}
<div id="0" class="img-item" style="background: url({{ media[0].file }}) no-repeat center center / cover"></div>
{% endif %}
{% else %}
{% endif %}
{% endif %}
</div>
FILES
<div id="page-files-list">
{% if files|length > 1 %}
{% for item in files %}
{% if item.type == "mp3"%}
<div id="{{loop.index0}}" class="audio-item" data-source="{{ item.file }}"></div>
{% else %}
<div id="{{loop.index0}}" class="file-item" data-source="{{ item.file }}"></div>
{% endif %}
{% endfor %}
{% else %}
{% if files[0] != '' %}
{% if files[0].type == "mp3"%}
<div id="0" class="audio-item" data-source="{{ files[0].file }}"></div>
{% else %}
<div id="0" class="file-item" data-source="{{ files[0].file }}"></div>
{% endif %}
{% else %} </div>
{% else %}
<div id="page-file-manager">
<div id="page-file-wrapper">
<div id="page-file-drop">
<label for="page-files-upload">DRAG AND DROP FILES OR CLICK TO SELECT</label>
</div>
IMAGES AND VIDEO
<div id="page-images-list">
{% if media|length > 1 %}
{% for item in media %}
{% if item.type == "mp4"%}
<div id="{{loop.index0}}" class="video-item" data-source="{{ item.file }}"></div>
{% else %}
<div id="{{loop.index0}}" class="img-item" style="background: url({{ item.file }}) no-repeat center center / cover"></div>
{% endif %}
{% endfor %}
{% else %}
{% if media[0] != '' %}
{% if media[0].type == "mp4"%}
<div id="0" class="video-item" data-source="{{ media[0].file }}"></div>
{% else %}
<div id="0" class="img-item" style="background: url({{ media[0].file }}) no-repeat center center / cover"></div>
{% endif %}
{% else %}
{% endif %}
{% endif %}
{% endif %} </div>
{% endif %} FILES
<div id="page-files-list">
{% if files|length > 1 %}
{% for item in files %}
{% if item.type == "mp3"%}
<div id="{{loop.index0}}" class="audio-item" data-source="{{ item.file }}"></div>
{% else %}
<div id="{{loop.index0}}" class="file-item" data-source="{{ item.file }}"></div>
{% endif %}
{% endfor %}
{% else %}
{% if files[0] != '' %}
{% if files[0].type == "mp3"%}
<div id="0" class="audio-item" data-source="{{ files[0].file }}"></div>
{% else %}
<div id="0" class="file-item" data-source="{{ files[0].file }}"></div>
{% endif %}
</div> {% else %}
</div>
</div>
{% endif %}
</div> {% endif %}
<div id="post-header"> {% endif %}
<div id="post-header-wrapper" class="columns">
<div id="post-title" class="column"> </div>
<label>TITLE</label> </div>
<textarea id="post_title" type="text" name="post_title" class="post-edit" placeholder="TITLE">
{{- _title -}} </div>
</textarea> {% endif %}
<div id="layouts"> </div>
<label>LAYOUTS</label> <div id="post-header">
<select id="page-templates"> <div id="post-header-wrapper" class="columns">
{% for view in views %} <div id="post-title" class="column">
{% if view == page['layout'] %} <label>TITLE</label>
<option value={{ view }} selected>{{ view }}</option> <textarea id="post_title" type="text" name="post_title" class="post-edit" placeholder="TITLE">
{% else %} {{- _title -}}
<option value={{ view }}>{{ view }}</option> </textarea>
{% endif %}
<div id="layouts">
{% endfor %} <label>LAYOUTS</label>
</select> <select id="page-templates">
</div> {% for view in views %}
<label>CREATED</label> {% if view == page['layout'] %}
<span id="post-date" type="text"> <option value={{ view }} selected>{{ view }}</option>
{{ date }} {% else %}
</span> <option value={{ view }}>{{ view }}</option>
</div> {% endif %}
<div id="post-meta" class="column">
<label>TAGS</label> {% endfor %}
<textarea id="post_tags" type="text" name="post_tags" class="form-control" placeholder="tags [comma seperated]"> </select>
{{- tags -}} </div>
</textarea> <label>CREATED</label>
<label>OPTIONS</label> <span id="post-date" type="text">
{% apply spaceless %} {{ date }}
{{ include("dash/partials/options.twig") }} </span>
{% endapply %} </div>
<label>UPDATED</label> <div id="post-meta" class="column">
<span id="post-date" type="text"> <label>TAGS</label>
{{ updated }} <textarea id="post_tags" type="text" name="post_tags" class="form-control" placeholder="tags [comma seperated]">
</span> {{- tags -}}
<input id="page-files-upload" type="file" name="page-files-upload" multiple/> </textarea>
<input id="post-image-upload" type="file" name="post-image-upload"/> <label>OPTIONS</label>
<input id="form_token" name="token" type="hidden" value="{{ token }}"> {% apply spaceless %}
</div> {{ include("dash/partials/options.twig") }}
</div> {% endapply %}
</div> <label>UPDATED</label>
<div id="edit-post"> <span id="post-date" type="text">
{% apply spaceless %} {{ updated }}
{{ include("dash/partials/editor.twig") }} </span>
{% endapply %} <input id="page-files-upload" type="file" name="page-files-upload" multiple/>
<div id="edit-post-wrapper"> <input id="post-image-upload" type="file" name="post-image-upload"/>
<textarea id="edit" spellcheck="false">{{- content -}}</textarea> <input id="form_token" name="token" type="hidden" value="{{ token }}">
<pre id="highlight"> </div>
</div>
</div>
<div id="edit-post">
{% apply spaceless %}
{{ include("dash/partials/editor.twig") }}
{% endapply %}
<div id="edit-post-wrapper">
<textarea id="edit" spellcheck="false">{{- content -}}</textarea>
<pre id="highlight">
<code id="highlight-content" class="language-md"> <code id="highlight-content" class="language-md">
</code> </code>
</pre> </pre>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
{% endblock %} {% endblock %}
{% block javascripts %} {% block javascripts %}
<script src="/assets/scripts/Start.js?=erty" type="text/javascript"></script> <script src="/assets/scripts/Start.js?=dfdfvd" type="text/javascript"></script>
{% endblock %} {% endblock %}

File diff suppressed because one or more lines are too long

View file

@ -19,7 +19,7 @@ export default class PostEditor {
//-------------------------- //--------------------------
constructor() { constructor() {
this.processing = false; this.processing = false;
let self = "this"; let self = 'this';
this.admin = new FipamoAdminAPI(null, document.getElementById('notify-progress')); this.admin = new FipamoAdminAPI(null, document.getElementById('notify-progress'));
this.mm = new Maintenance(null, null, document.getElementById('notify-progress')); this.mm = new Maintenance(null, null, document.getElementById('notify-progress'));
this.urlPieces = document.URL.split('/'); this.urlPieces = document.URL.split('/');
@ -43,8 +43,8 @@ export default class PostEditor {
this.editor = new TextEditor( this.editor = new TextEditor(
document.getElementById('edit'), document.getElementById('edit'),
document.getElementById('header').offsetHeight + document.getElementById('header').offsetHeight +
document.getElementById('post-header').offsetHeight + document.getElementById('post-header').offsetHeight +
document.getElementById('post-feature').offsetHeight document.getElementById('post-feature').offsetHeight
); );
this.editor.addListener( this.editor.addListener(
EditorEvent.EDITOR_DELETE, EditorEvent.EDITOR_DELETE,
@ -69,7 +69,7 @@ export default class PostEditor {
document.getElementById('post-image-upload').addEventListener( document.getElementById('post-image-upload').addEventListener(
'change', 'change',
e => { e => {
self.handleImageUpload(e.target.id, e.target.files); this.handleImageUpload(e.target.id, e.target.files);
}, },
false false
); );
@ -194,7 +194,7 @@ export default class PostEditor {
notify.alert(err, false); notify.alert(err, false);
}); });
}) })
.catch(() => { }); .catch(() => {});
} else { } else {
// Do nothing! // Do nothing!
} }