create workaround for not working php

Strings:getBytesFromShorthand

i created a js-function which converts integer, k, m and g to MB
Just remove this code, when we found out, why Strings is in some files
not working.
This commit is contained in:
Jakobus Schürz 2023-03-14 00:34:50 +01:00
parent 00ae7d0f59
commit 3688196859
9 changed files with 50 additions and 12 deletions

View File

@ -1141,6 +1141,8 @@ function photos_content(App $a)
'$qcomment' => $qcomment,
'$rand_num' => Crypto::randomDigits(12),
// Dropzone
//'$max_imagesize' => Strings::getBytesFromShorthand(DI::config()->get('system', 'maximagesize'));
// Strings::getBytresFromShorthand not working, so just workaround in template and serve the bare value
'$max_imagesize' => DI::config()->get('system', 'maximagesize'),
]);
}
@ -1198,6 +1200,8 @@ function photos_content(App $a)
'$qcomment' => $qcomment,
'$rand_num' => Crypto::randomDigits(12),
// Dropzone
//'$max_imagesize' => Strings::getBytesFromShorthand(DI::config()->get('system', 'maximagesize'));
// Strings::getBytresFromShorthand not working, so just workaround in template and serve the bare value
'$max_imagesize' => DI::config()->get('system', 'maximagesize'),
]);
}
@ -1274,6 +1278,8 @@ function photos_content(App $a)
'$qcomment' => $qcomment,
'$rand_num' => Crypto::randomDigits(12),
// Dropzone
//'$max_imagesize' => Strings::getBytesFromShorthand(DI::config()->get('system', 'maximagesize'));
// Strings::getBytresFromShorthand not working, so just workaround in template and serve the bare value
'$max_imagesize' => DI::config()->get('system', 'maximagesize'),
]);
}

View File

@ -35,6 +35,7 @@ use Friendica\Core\Renderer;
use Friendica\Core\Session\Capability\IHandleUserSessions;
use Friendica\Core\Theme;
use Friendica\Database\DBA;
use Friendica\DI;
use Friendica\Model\Contact;
use Friendica\Model\Item as ItemModel;
use Friendica\Model\Post;
@ -408,10 +409,11 @@ class Conversation
'$compose_link_title' => $this->l10n->t('Open Compose page'),
'$always_open_compose' => $this->pConfig->get($this->session->getLocalUserId(), 'frio', 'always_open_compose', false),
// Dropzone
//'$max_imagesize' => DI::config()->get('system', 'maximagesize'),
// DI::config.. does not work here, so it is set to a manual value
'$max_imagesize' => 600000,
//'$max_imagesize' => Strings::getBytesFromShorthand(DI::config()->get('system', 'maximagesize'));
// Strings::getBytresFromShorthand not working, so just workaround in template and serve the bare value
'$max_imagesize' => DI::config()->get('system', 'maximagesize'),
]);

View File

@ -185,9 +185,9 @@ class Edit extends BaseModule
'$compose_link_title' => $this->t('Open Compose page'),
// Dropzone
//'$max_imagesize' => Strings::getBytesFromShorthand(DI::config()->get('system', 'maximagesize'));
//'$max_imagesize' => \Friendica\\Util\\Strings::getBytesFromShorthand(DI::config()->get('system', 'maximagesize'));
// both not working, so just workaround here until fixed
//'$max_imagesize' => Strings::getBytesFromShorthand(DI::config()->get('system', 'maximagesize'));
// both not working, so just workaround in template and serve the bare value
'$max_imagesize' => DI::config()->get('system', 'maximagesize'),
]);

View File

@ -1070,6 +1070,8 @@ class Post
'$indent' => $indent,
'$rand_num' => Crypto::randomDigits(12),
// Dropzone
//'$max_imagesize' => Strings::getBytesFromShorthand(DI::config()->get('system', 'maximagesize'));
// Strings::getBytresFromShorthand not working, so just workaround in template and serve the bare value
'$max_imagesize' => DI::config()->get('system', 'maximagesize'),
]);
}

View File

@ -96,11 +96,12 @@
</div>
</div>
<script>
// getMByte() is from view/theme/frio/js/dropzone-frio.js
// to workaround dysfunctional php Strings:getBytesFromShorthand
Dropzone.autoDiscover = false;
var maxis = {{$max_imagesize}} / 10^6;
var dropzoneCompose = new Dropzone( '#comment-edit-form-{{$id}}', {
paramName: "userfile", // The name that will be used to transfer the file
maxFilesize: maxis, // MB
maxFilesize: getMBytes('{{$max_imagesize}}'), // MB
previewsContainer: '#dz-previewsCompose',
preventDuplicates: true,
clickable: true,

View File

@ -0,0 +1,24 @@
function isInteger(value) {
return /^\d+$/.test(value);
}
function getMBytes(value) {
var res;
if (isInteger(value)) {
res = value;
} else {
eh = value.slice(-1);
am = Number(value.slice(0, -1));
switch (eh) {
case 'k':
res = am * 1024;
break;
case 'm':
res = am * 1024 * 1024;
break;
case 'g':
res = am * 1024 * 1024 * 1024;
}
}
return res / 1000000;
}

View File

@ -66,11 +66,12 @@
</div>
<script>
// getMByte() is from view/theme/frio/js/dropzone-frio.js
// to workaround dysfunctional php Strings:getBytesFromShorthand
Dropzone.autoDiscover = false;
var maxis = {{$max_imagesize}} / 10^6;
var dropzone{{$id}} = new Dropzone( '#comment-edit-wrapper-{{$id}}', {
paramName: "userfile", // The name that will be used to transfer the file
maxFilesize: maxis, // MB
maxFilesize: getMBytes('{{$max_imagesize}}'), // MB
previewsContainer: '#dz-preview-{{$id}}',
preventDuplicates: true,
clickable: true,

View File

@ -140,6 +140,7 @@
{{/if}}
<script type="text/javascript" src="view/theme/frio/js/textedit.js?v={{$smarty.const.FRIENDICA_VERSION}}"></script>
<script type="text/javascript" src="vendor/enyo/dropzone/dist/min/dropzone.min.js?v={{$smarty.const.FRIENDICA_VERSION}}"></script>
<script type="text/javascript" src="view/theme/frio/js/dropzone-frio.js?v={{$smarty.const.FRIENDICA_VERSION}}"></script>
{{* Include the strings which are needed for some js functions (e.g. translation)
They are loaded into the html <head> so that js functions can use them *}}

View File

@ -180,11 +180,12 @@ can load different content into the jot modal (e.g. the item edit jot)
</script>
<script>
// getMByte() is from view/theme/frio/js/dropzone-frio.js
// to workaround dysfunctional php Strings:getBytesFromShorthand
Dropzone.autoDiscover = false;
var maxis = {{$max_filesize}} / 10^6;
var dropzoneJot = new Dropzone( '#jot-modal-content', {
paramName: "userfile", // The name that will be used to transfer the file
maxFilesize: maxis, // MB
maxFilesize: getMBytes('{{$max_imagesize}}'), // MB
previewsContainer: '#dz-preview-jot',
url: "/media/photo/upload?response=url&album=",
accept: function(file, done) {