zwischenstand

This commit is contained in:
Marat 2022-06-09 21:11:02 +02:00
parent a1f6e263bf
commit 13a0ad9c49
338 changed files with 4463 additions and 1413 deletions

View File

@ -0,0 +1,10 @@
<?php
namespace VanillaThunder\TinyMCE\Application\Controller\Admin;
use OxidEsales\Eshop\Core\Registry;
class TinyFileManager extends \OxidEsales\Eshop\Application\Controller\Admin\AdminController
{
protected $_sThisTemplate = "tiny/filemanager.tpl";
}

View File

@ -0,0 +1,23 @@
<?php
namespace VanillaThunder\TinyMCE\Application\Controller\Admin;
class TinyHelper extends \OxidEsales\Eshop\Application\Controller\Admin\AdminController
{
protected $_sThisTemplate = "tiny/helper.tpl";
protected $_errors;
protected $_content;
public function render()
{
$oOutput = oxRegistry::get("oxOutput");
$oOutput->setCharset($this->getCharSet());
$oOutput->setOutputFormat(oxOutput::OUTPUT_FORMAT_JSON);
$oOutput->sendHeaders();
$oOutput->output('errors', $this->_errors);
$oOutput->output('content', $this->_content);
exit;
}
}

View File

@ -0,0 +1,6 @@
<?php
namespace VanillaThunder\TinyMCE\Application\Core;
class_alias(\OxidEsales\EshopCommunity\Core\ViewConfig::class,"VanillaThunder\TinyMCE\Application\Core\ViewConfig_parent");

File diff suppressed because one or more lines are too long

144
Application/Core/ViewConfig.php Normal file → Executable file
View File

@ -13,8 +13,16 @@
* You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>
*/
namespace VanillaThunder\TinymceModule\Application\Core;
namespace VanillaThunder\TinyMCE\Application\Core;
use \OxidEsales\Eshop\Core\Registry;
use OxidEsales\Eshop\Core\UtilsServer;
/** funtion for adding quotes to config variables
* @param $string
* @return string
*/
function q($string) { return '"'.addslashes($string).'"'; }
/**
* ViewConfig class wrapper for TinyMCE module.
*
@ -25,74 +33,97 @@ class ViewConfig extends ViewConfig_parent
public function loadTinyMce()
{
$cfg = Registry::getConfig();
$oLang = Registry::getLang();
if (!in_array($this->getActiveClassName(), $cfg->getConfigParam("aTinyMCE_classes"))) {
return false;
}
$aPlainCmsPages = $cfg->getConfigParam("aTinyMCE_plaincms");
// is tinymce enabled for current controller?
$aEnabledClasses = $cfg->getConfigParam("aTinyMCE_classes") ?? [];
if (!in_array($this->getActiveClassName(), $aEnabledClasses)) return '';
$oLang = Registry::getLang();
// filter plain cms pages
$oEditObject = $cfg->getActiveView()->getViewDataElement("edit");
$sCoreTableName = $oEditObject->getCoreTableName();
if ($sCoreTableName === "oxcontents" && !in_array($oEditObject->getLoadUd(), $aPlainCmsPages)) {
$aPlainCmsPages = $cfg->getConfigParam("aTinyMCE_plaincms") ?? [];
if ($sCoreTableName === "oxcontents" && in_array($oEditObject->getLoadId(), $aPlainCmsPages)) {
return $oLang->translateString("BLA_TINYMCE_PLAINCMS");
}
$blFilemanager = false; //$cfg->getConfigParam("blTinyMCE_filemanager");
// @todo: $blFilemanager wiederherstellen
// ******************** TinyMCE Config ********************
// processing editor config & other stuff
$sLang = $oLang->getLanguageAbbr($oLang->getTplLanguage());
// array to assign shop lang abbreviations to lang file names of tinymce: shopLang => langfile (without .js )
// array to assign shop lang abbreviations to lang files of tinymce: shopLang => langfile (without .js )
$aLang = array(
"cs" => "cs",
"da" => "da",
"de" => "de",
"es" => "es_419",
"fr" => "fr_FR",
"it" => "it",
"it" => "it_IT",
"nl" => "nl",
"ru" => "ru"
);
$sLang = $aLang[$oLang->getLanguageAbbr($oLang->getTplLanguage())] ?? "en";
// default config
// processing editor config & other stuff
// default config, updated on 2021-10-10 according to
$aConfig = array(
'force_br_newlines' => 'false',
'force_p_newlines' => 'false',
'forced_root_block' => '""',
// integration options https://www.tiny.cloud/docs/configure/integration-and-setup/
// 'auto_focus' => '', // don't think we need me, maybe for cms pages?
'base_url' => q($this->getBaseDir().'modules/vt/TinyMCE/out/tinymce/'),
'cache_suffix' => q('?v=20211010'),
'selector' => '"textarea:not(.mceNoEditor)"',
'language' => '"' . (in_array($sLang, $aLang) ? $aLang[$sLang] : 'en') . '"',
// gui options https://www.tiny.cloud/docs/configure/editor-appearance/
'contextmenu' => 'false', q("link linkchecker image imagetools table"),
'min_height' => 350,
'max_height' => q('90%'),
'max_width' => q('90%'),
'menubar' => 'false',
'toolbar_sticky' => 'true',
// content appearance https://www.tiny.cloud/docs/configure/content-appearance/
'content_css' => q('/out/wave/src/css/styles.min.css'), // hardcoded, for testing purposes
// content filtering https://www.tiny.cloud/docs/configure/content-filtering/
'entity_encoding' => q('raw'),
'protect' => '[ /\[\{((?!\}\]).)+\}\]/gm ]', // holy shit, this is like Weihnachten and Geburtstag all at once
// content formatting https://www.tiny.cloud/docs/configure/content-formatting/
// localization https://www.tiny.cloud/docs/configure/localization/
'language' => q($sLang),
// URL handling https://www.tiny.cloud/docs/configure/url-handling/
'document_base_url' => q($this->getBaseDir()),
'relative_urls' => 'true',
// plugins
'image_advtab' => 'true'
/*
// old
//'spellchecker_language' => '"' . (in_array($sLang, $aLang) ? $aLang[$sLang] : 'en') . '"',
'nowrap' => 'false',
'entity_encoding' => '"raw"',
// http://www.tinymce.com/wiki.php/Configuration:entity_encoding
'height' => 300,
'menubar' => 'false',
'document_base_url' => '"' . $this->getBaseDir() . '"',
// http://www.tinymce.com/wiki.php/Configuration:document_base_url
'relative_urls' => 'false',
// http://www.tinymce.com/wiki.php/Configuration:relative_urls
'plugin_preview_width' => 'window.innerWidth',
'plugin_preview_height' => 'window.innerHeight-90',
'code_dialog_width' => 'window.innerWidth-50',
'code_dialog_height' => 'window.innerHeight-130',
'image_advtab' => 'true',
'imagetools_toolbar' => '"rotateleft rotateright | flipv fliph | editimage imageoptions"',
'moxiemanager_fullscreen' => 'true',
'insertdatetime_formats' => '[ "%d.%m.%Y", "%H:%M" ]',
'nonbreaking_force_tab' => 'true',
// http://www.tinymce.com/wiki.php/Plugin:nonbreaking
'autoresize_max_height' => '400',
'urlconverter_callback' => '"urlconverter"',
'filemanager_access_key' => '"' . md5($_SERVER['DOCUMENT_ROOT']) . '"',
'tinymcehelper' => '"' . $this->getSelfActionLink() . 'renderPartial=1"'
*/
);
if ($blFilemanager) {
$aDefaultConfig['external_filemanager_path'] = '"../modules/bla/bla-tinymce/fileman/"';
$aDefaultConfig['filemanager_access_key'] = '"' . md5($_SERVER['HTTP_HOST']) . '"';
$oUS = Registry::get("oxUtilsServer");
$oUS->setOxCookie("filemanagerkey", md5($_SERVER['DOCUMENT_ROOT'] . $oUS->getOxCookie("admin_sid")));
}
//merging with onfig override
$aOverrideCfg = $this->_getTinyCustConfig();
if (!empty($aOverrideCfg) && is_array($aOverrideCfg)) {
@ -102,17 +133,15 @@ class ViewConfig extends ViewConfig_parent
// default plugins and their buttons
$aPlugins = array(
'advlist' => '', // '' = plugin has no buttons
//'advlist' => '', // '' = plugin has no buttons
'anchor' => 'anchor',
'autolink' => '',
'autoresize' => '',
'charmap' => 'charmap',
'code' => 'code',
'colorpicker' => '',
'hr' => 'hr',
'image' => 'image',
'imagetools' => '',
'insertdatetime' => 'insertdatetime',
// 'imagetools' => '', // das hier klingt sehr kompliziert
'link' => 'link unlink',
'lists' => '',
'media' => 'media',
@ -120,11 +149,10 @@ class ViewConfig extends ViewConfig_parent
'pagebreak' => 'pagebreak',
'paste' => 'pastetext',
'preview' => 'preview',
'quickbars' => '',//'quicklink quickimage quicktable',
'searchreplace' => 'searchreplace',
'table' => 'table',
'textcolor' => 'forecolor backcolor',
'visualblocks' => '',
//'visualchars' => 'visualchars',
'visualblocks' => 'visualblocks',
'wordcount' => '',
'oxfullscreen' => 'fullscreen', //custom fullscreen plugin
//'oxwidget' => 'widget'
@ -132,8 +160,8 @@ class ViewConfig extends ViewConfig_parent
);
// plugins for newsletter emails
if ($this->getActiveClassName() == "newsletter_main") {
$aPlugins["legacyoutput"] = "false";
if ($this->getActiveClassName() === "newsletter_main") {
$aPlugins["legacyoutput"] = "";
$aPlugins["fullpage"] = "fullpage";
}
@ -156,20 +184,21 @@ class ViewConfig extends ViewConfig_parent
'out/plugins/oxfullscreen/plugin.js'
) . '" ';
//$aConfig['external_plugins'] .= ', "oxwidget":"' . $this->getModuleUrl('bla-tinymce', 'plugins/oxwidget/plugin.js') . '" ';
if ($blFilemanager) {
$aConfig['external_plugins'] .= ',"roxy":"' . $this->getModuleUrl(
$blFilemanager = $cfg->getConfigParam("blTinyMCE_filemanager");
// @todo: $blFilemanager wiederherstellen
if ($blFilemanager)
{
$aConfig['filemanager_url'] = q(str_replace('&amp;','&',$this->getSslSelfLink())."cl=tinyfilemanager");
$sFilemanagerKey = md5_file(Registry::getConfig()->getConfigParam("sShopDir")."/config.inc.php");
//$aConfig['filemanager_access_key'] = q($sFilemanagerKey);
Registry::get(UtilsServer::class)->setOxCookie("filemanagerkey", $sFilemanagerKey);
$aConfig['external_plugins'] .= ',"roxy":' . q($this->getModuleUrl(
'vt-tinymce',
'out/plugins/roxy/plugin.js'
) . '" ';
}
$blN1ED = false;
if ($blN1ED) {
$aConfig['apiKey'] = "'MK2RDFLT'";
$aConfig['external_plugins'] .= ',"n1ed":"' . $this->getModuleUrl(
'vt-tinymce',
'out/plugins/n1ed/plugin.js'
) . '" ';
));
}
//$aConfig['external_plugins'] .= ',"oxgetseourl":"' . $this->getModuleUrl('bla-tinymce', 'plugins/oxgetseourl/plugin.js') . '" ';
@ -184,8 +213,9 @@ class ViewConfig extends ViewConfig_parent
// default toolbar buttons
$aDefaultButtons = array(
"undo redo |",
"undo redo",
//"cut copy paste",
"forecolor backcolor",
"bold italic underline strikethrough",
"alignleft aligncenter alignright alignjustify",
"bullist numlist",
@ -195,10 +225,10 @@ class ViewConfig extends ViewConfig_parent
"superscript",
"formatselect",
//"fontselect",
"fontsizeselect",
//"fontsizeselect",
"removeformat"
);
$aOverrideButtons = Registry::getConfig()->getConfigParam("aTinyMCE_buttons");
$aOverrideButtons = $cfg->getConfigParam("aTinyMCE_buttons");
$aButtons = (empty($aOverrideButtons) || !is_array($aOverrideButtons)) ? $aDefaultButtons : $aOverrideButtons;
// plugin buttons
@ -208,7 +238,7 @@ class ViewConfig extends ViewConfig_parent
$aCustomButtons = $this->_getTinyToolbarControls();
$aButtons = array_merge(array_filter($aButtons), [" | "], array_filter($aPluginButtons), array_filter($aCustomButtons));
$aConfig['toolbar'] = '["' . implode(" ", $aButtons) . '"]';
$aConfig['toolbar'] = '["' . implode(" | ", $aButtons) . '"]';
// compile the whole config stuff

View File

View File

@ -1,65 +0,0 @@
<?php
/*
* bla-tinymce
* Copyright (C) 2017 bestlife AG
* info: oxid@bestlife.ag
*
* This program is free software;
* you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation;
* either version 3 of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
* You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>
*
* Marat Bedoev
*/
class tinymcehelper extends oxAdminView
{
protected $_errors;
protected $_content;
public function render()
{
$oOutput = oxRegistry::get("oxOutput");
$oOutput->setCharset($this->getCharSet());
$oOutput->setOutputFormat(oxOutput::OUTPUT_FORMAT_JSON);
$oOutput->sendHeaders();
$oOutput->output('errors', $this->_errors);
$oOutput->output('content', $this->_content);
exit;
}
public function search()
{
$cfg = oxRegistry::getConfig();
$what = $cfg->getRequestParameter("what");
$where = $cfg->getRequestParameter("where");
$this->_content = $what . ' + '. $where;
}
public function getCMS()
{
$oList = oxNew("oxlist");
$oList->init("oxcontent");
$oListObject = $oList->getBaseObject();
$sViewName = $oListObject->getViewName();
$sActiveSnippet = $oListObject->getSqlActiveSnippet();
$sSQL = "SELECT OXID, OXLOADID, OXTITLE FROM {$sViewName} WHERE {$sActiveSnippet} AND {$sViewName}.oxfolder != 'CMSFOLDER_EMAILS'";
$aPages = oxDB::getDb()->getAssoc($sSQL);
$this->_content = $aPages;
}
public function oxgetseourl()
{
$cfg = oxRegistry::getConfig();
$type = ($cfg->getRequestParameter("type") ? $cfg->getRequestParameter("type") : "oxcontent");
$oxid = ($cfg->getRequestParameter("oxid") ? $cfg->getRequestParameter("oxid") : "oximpressum");
}
}

View File

View File

Before

Width:  |  Height:  |  Size: 87 KiB

After

Width:  |  Height:  |  Size: 87 KiB

View File

Before

Width:  |  Height:  |  Size: 135 KiB

After

Width:  |  Height:  |  Size: 135 KiB

View File

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

35
Application/fileman/conf.json Executable file
View File

@ -0,0 +1,35 @@
{
"FILES_ROOT": "/out/pictures/wysiwigpro",
"RETURN_URL_PREFIX": "",
"SESSION_PATH_KEY": "",
"THUMBS_VIEW_WIDTH": "140",
"THUMBS_VIEW_HEIGHT": "120",
"PREVIEW_THUMB_WIDTH": "100",
"PREVIEW_THUMB_HEIGHT": "100",
"MAX_IMAGE_WIDTH": "2000",
"MAX_IMAGE_HEIGHT": "2000",
"INTEGRATION": "tinymce4",
"DIRLIST": "php/dirtree.php",
"CREATEDIR": "php/createdir.php",
"DELETEDIR": "php/deletedir.php",
"MOVEDIR": "php/movedir.php",
"COPYDIR": "php/copydir.php",
"RENAMEDIR": "php/renamedir.php",
"FILESLIST": "php/fileslist.php",
"UPLOAD": "php/upload.php",
"DOWNLOAD": "php/download.php",
"DOWNLOADDIR": "php/downloaddir.php",
"DELETEFILE": "php/deletefile.php",
"MOVEFILE": "php/movefile.php",
"COPYFILE": "php/copyfile.php",
"RENAMEFILE": "php/renamefile.php",
"GENERATETHUMB": "php/thumb.php",
"DEFAULTVIEW": "list",
"FORBIDDEN_UPLOADS": "zip js jsp jsb mhtml mht xhtml xht php phtml php3 php4 php5 phps shtml jhtml pl sh py cgi exe application gadget hta cpl msc jar vb jse ws wsf wsc wsh ps1 ps2 psc1 psc2 msh msh1 msh2 inf reg scf msp scr dll msi vbs bat com pif cmd vxd cpl htpasswd htaccess",
"ALLOWED_UPLOADS": "",
"FILEPERMISSIONS": "0644",
"DIRPERMISSIONS": "0755",
"LANG": "auto",
"DATEFORMAT": "dd.MM.yyyy HH:mm",
"OPEN_LAST_DIR": "yes"
}

View File

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

Before

Width:  |  Height:  |  Size: 212 B

After

Width:  |  Height:  |  Size: 212 B

View File

Before

Width:  |  Height:  |  Size: 208 B

After

Width:  |  Height:  |  Size: 208 B

View File

Before

Width:  |  Height:  |  Size: 335 B

After

Width:  |  Height:  |  Size: 335 B

View File

Before

Width:  |  Height:  |  Size: 207 B

After

Width:  |  Height:  |  Size: 207 B

View File

Before

Width:  |  Height:  |  Size: 262 B

After

Width:  |  Height:  |  Size: 262 B

View File

Before

Width:  |  Height:  |  Size: 262 B

After

Width:  |  Height:  |  Size: 262 B

View File

Before

Width:  |  Height:  |  Size: 332 B

After

Width:  |  Height:  |  Size: 332 B

View File

Before

Width:  |  Height:  |  Size: 280 B

After

Width:  |  Height:  |  Size: 280 B

View File

Before

Width:  |  Height:  |  Size: 6.8 KiB

After

Width:  |  Height:  |  Size: 6.8 KiB

View File

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

View File

Before

Width:  |  Height:  |  Size: 6.8 KiB

After

Width:  |  Height:  |  Size: 6.8 KiB

View File

Before

Width:  |  Height:  |  Size: 6.8 KiB

After

Width:  |  Height:  |  Size: 6.8 KiB

View File

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

View File

View File

0
out/fileman/dev.html → Application/fileman/dev.html Normal file → Executable file
View File

View File

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

Before

Width:  |  Height:  |  Size: 381 B

After

Width:  |  Height:  |  Size: 381 B

View File

Before

Width:  |  Height:  |  Size: 391 B

After

Width:  |  Height:  |  Size: 391 B

View File

Before

Width:  |  Height:  |  Size: 43 B

After

Width:  |  Height:  |  Size: 43 B

View File

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

Before

Width:  |  Height:  |  Size: 166 B

After

Width:  |  Height:  |  Size: 166 B

View File

Before

Width:  |  Height:  |  Size: 176 B

After

Width:  |  Height:  |  Size: 176 B

View File

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

Before

Width:  |  Height:  |  Size: 854 B

After

Width:  |  Height:  |  Size: 854 B

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Some files were not shown because too many files have changed in this diff Show More