Skip to content

Commit

Permalink
Merge pull request #121 from FriendsOfREDAXO/skerbis-font-fix
Browse files Browse the repository at this point in the history
Profil-Creator Änderung , Lang-Anpassungen
  • Loading branch information
joachimdoerr authored Jul 20, 2020
2 parents ca4fc00 + 0e41e56 commit c696a49
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 22 deletions.
26 changes: 13 additions & 13 deletions lang/de_de.lang
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ cke5_main = Überblick & Demos
cke5_demo = CKEditor 5 Demo
cke5_mblock_demo = MBlock Demo
cke5_features = Editor- & Addon-Features
cke5_preview = Profile Previews
cke5_preview = Profil-Previews

# preview
cke5_editor_preview = Editor Preview
cke5_editor_preview_info = Eingaben in die Editor Preview werden nicht gespeichert, die Preview wird erst nach "Speichern" | "Übernehmen" aktuallisiert
cke5_editor_preview = Editor-Preview
cke5_editor_preview_info = Eingaben in der Editor-Preview werden nicht gespeichert, die Preview wird erst nach "Speichern" | "Übernehmen" aktualisiert
cke5_editor_preview_shop_profile_settings = Profilesettings einblenden

# heading
Expand All @@ -36,14 +36,14 @@ cke5_expert_definition_area = Optionen
cke5_expert_suboption_area = Sub-Optionen
cke5_extra_definition = Extra Options
cke5_extra_definition_area = Optionen
cke5_extra_definition_description = Zum erfassen von zusätzlichen Optionen
cke5_description = Profile-Beschrieb
cke5_extra_definition_description = Zur Erfasseung zusätzlicher Optionen
cke5_description = Profil-Beschreibung
cke5_description_placeholder = Einsatzzweck und Umfang des Profils
cke5_toolbar = Toolbar-Elemente
cke5_heading = Überschrift-Elemente
cke5_alignment = Text Ausrichtung
cke5_fontSize = Schriftgrößen
cke5_link = Rexdaxo-Links
cke5_link = REDAXO-Links
cke5_code_block = CodeBlock Sprachen
cke5_lang = UI Sprache
cke5_content_lang = Content Sprache
Expand Down Expand Up @@ -96,13 +96,13 @@ cke5_ytable_label_placeholder = Label [DB-Column]
cke5_ytable = yTables

# profiles list & form actions
rex_cke5_profiles_cloned = Profile wurde dupliziert
rex_cke5_profiles_deleted = Profile wurde gelöscht
rex_cke5_profiles_clone_exception = Profile konnte nicht dupliziert werden
rex_cke5_profiles_delete_exception = Profile konnte nicht gelöscht werden
cke5_add_profile = Neues Profile erstellen
cke5_profiles_created = Profile wurden generiert und stehen zur Verfügung
cke5_profiles_creation_exception = Profile konnten nicht generiert werden
rex_cke5_profiles_cloned = Das Profil wurde dupliziert
rex_cke5_profiles_deleted = Das Profil wurde gelöscht
rex_cke5_profiles_clone_exception = Das Profil konnte nicht dupliziert werden
rex_cke5_profiles_delete_exception = Das Profil konnte nicht gelöscht werden
cke5_add_profile = Neues Profil erstellen
cke5_profiles_created = Die Profile wurden generiert und stehen zur Verfügung
cke5_profiles_creation_exception = Die Profile konnten nicht generiert werden

# demo mblock error
cke5_mblock_not_available = MBlock ist nicht installiert oder aktiviert. Diese Demo kann nur mit installiertem und aktivierten MBlock-Addon angezeigt werden
Expand Down
26 changes: 18 additions & 8 deletions lib/Cke5/Creator/Cke5ProfilesCreator.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@

namespace Cke5\Creator;


use Cke5\Handler\Cke5DatabaseHandler;
use rex_file;
use rex_i18n;
Expand Down Expand Up @@ -134,15 +133,13 @@ public static function profilesCreate($getProfile = null)
$jsonSuboptions = [];

foreach ($profiles as $profile) {

if (isset($getProfile['name']) && $profile['name'] == $getProfile['name']) {
$profile = $getProfile;
}

$result = self::mapProfile($profile);
$jsonSuboptions[$profile['name']] = $result['suboptions'];
$jsonProfiles[$profile['name']] = $result['profile'];

}

$profiles = json_encode($jsonProfiles);
Expand Down Expand Up @@ -171,7 +168,9 @@ public static function mapProfile(array $profile)
$jsonProfile = json_decode($profile['expert_definition'], true);
$jsonSuboption = json_decode($profile['expert_suboption'], true);

if (is_null($jsonSuboption)) $jsonSuboption = [];
if (is_null($jsonSuboption)) {
$jsonSuboption = [];
}

if (is_array($jsonProfile)) {
return ['suboptions' => $jsonSuboption, 'profile' => $jsonProfile];
Expand Down Expand Up @@ -234,7 +233,9 @@ public static function mapProfile(array $profile)
if (!empty($profile['link_decorators']) && !empty($profile['link_decorators_definition'])) {
$definition = json_decode($profile['link_decorators_definition'], true);
if (is_array($definition)) {
if (!isset($jsonProfile['link']['decorators']) || !is_array($jsonProfile['link']['decorators'])) $jsonProfile['link']['decorators'] = [];
if (!isset($jsonProfile['link']['decorators']) || !is_array($jsonProfile['link']['decorators'])) {
$jsonProfile['link']['decorators'] = [];
}
$jsonProfile['link']['decorators'] = array_merge($jsonProfile['link']['decorators'], $definition);
}
}
Expand All @@ -260,18 +261,28 @@ public static function mapProfile(array $profile)
}

$noFontColor = true;
if (in_array('fontColor', $toolbar) && !empty($profile['font_color_default'])) {
$noFontColor = false;
}


if (in_array('fontColor', $toolbar) && !empty($profile['font_color']) &&
(is_null($profile['font_color_default']) or empty($profile['font_color_default']))) {
$jsonProfile['fontColor'] = ['colors' => json_decode($profile['font_color'], true)];
$noFontColor = false;
}

$noFontBgColor = true;
if (in_array('fontBackgroundColor', $toolbar) && !empty($profile['font_background_color_default'])) {
$noFontBgColor = false;
}

if (in_array('fontBackgroundColor', $toolbar) && !empty($profile['font_background_color']) &&
(is_null($profile['font_background_color_default']) or empty($profile['font_background_color_default']))) {
$jsonProfile['fontBackgroundColor'] = ['colors' => json_decode($profile['font_background_color'], true)];
$noFontBgColor = false;
}


if ($noFontSize && $noFontColor && $noFontBgColor) {
$jsonProfile['removePlugins'][] = 'Font';
Expand Down Expand Up @@ -601,10 +612,9 @@ private static function getHighlight($keys)

return $return;
}

}

/*
* TODO:
* cke5profiles['default']['fontFamily'] = { 'options' : ['default', 'Ubuntu, Arial, sans-serif', 'Ubuntu Mono, Courier New, Courier, monospace'] };
*/
*/
2 changes: 1 addition & 1 deletion package.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
package: cke5
version: '4.0.2'
version: '4.0.3'
author: Friends Of REDAXO
supportpage: https://github.com/FriendsOfREDAXO/cke5/issues

Expand Down

0 comments on commit c696a49

Please sign in to comment.