Thanks Matthias.

See my reply to Ralf re. where to find ArrayToJSON etc.

I guess I could install my own version of LC server in each cgi-bin - but I play around with a lot of add-on and sub-domains - some within public-html, some not - and it just feels like unnecessay extra work to install (and remember to update) those. on-ev should simply install a more recent version as their default server engine. And why should I - and every other user of on-rev - need to do this additional crap ?

7.1.0 was released over 2 years ago. The last release of anything in the '7' series was 18 months ago.

There are hundreds, if not thousands, of bug fixes since then.

I'll submit a support request asking for the default to move up to a non-prehistoric version, and throw in a request for some kind of multi-version support. Even if it was only what HostM does it would be a help, and if they added a configuration to select which of the series-latest releases should be chosen it would be great.

For anyone who doesn't use HostM - they use the latest released version for .lc scripts (currently 8.1.7), but by default support script file extensions .lc6, .lc7, .lc8 etc. to specify which series to use - and will then use the latest release within it). Extending this scheme by making it easy to say, e.g. .lc maps to .lc8, would make it much more tractable to always use the latest, without renaming files all over the place if you ever want to switch.

-- Alex.


On 18/11/2017 11:28, Matthias Rebbe via use-livecode wrote:
Alex,

you are not alone. I  noticed something similar with LcServer 7.10 on the 
On-Rev server Tio.
$_post arrays where empty when data was formatted with libUrlMultipartFormData,
while $_post_raw showed the content. So it was not possible to post larger 
binary data to LcServer.

I send a support request already in April this year informing the On-Rev team 
that the installed LcServer version is not able to handle http posts when the 
data was formatted with libUrlMultipartFormData.
I decided to install my own version of LcServer (in my case LC9-dp6 at that 
time) using the .htaccess method, which solved my problem immediately.

The only caveat: If you have several add-on domains and each domain uses its 
own root folder under public_html, e.g.
public_html/domain1
public_html/domain2
or whatever the folder names are, you have to install your custom LcServer for 
each domain separately into the cgi-bin folder of each of that root folders
public_html/domain1/cgi-bin
public_html/domain2/cgi-bin

If all of your domains use public_html as the  root folder then just install it 
into

public_html/cgi-bin


My .htaccess looks like this, in case you are interested. This version work 
also with HostM accounts, while the htaccess example in the LcServer lesson 
doesn´t.

#
RewriteEngine on
# this suPHP…  btw allows to set php settings using a php.ini file which is 
stored in public_html folder
# it is not needed on HostM accounts, because PHP settings can set in cPanel 
there.
suPHP_ConfigPath /home/YOURACCOUNTNAME/public_html/
<Files php.ini>
order allow,deny
deny from all
</Files>

Options +ExecCGI
# path the the LcServer executable
Action custom-livecode /cgi-bin/livecode-server-9dp6/livecode-server
<FilesMatch ".+\.lc$">
SetHandler custom-livecode
</FilesMatch>
#

The permissions of the folders and the LcServer executable are set to 755. The 
driver and external files  are set to 644.


Maybe this will “calm" you down a little bit. ;)
Have a nice weekend.

Just forgot: Would you please be so kind and share the information which 
library does contain the  ArrayToJSON() function? Did you already try it out 
using it on LcServer?

Regards,

Matthias


Am 18.11.2017 um 00:53 schrieb Alex Tweedly via use-livecode 
<use-livecode@lists.runrev.com <mailto:use-livecode@lists.runrev.com>>:

This is a bit of a rant, so if you're not in the mood, switch off now :-)

I will (when I've calmed down and organised myself :-) submit bug reports.

So, normally, I don't have much time for my favourite hobby of scripting in LC, 
which lately has been mostly LCServer for a couple of simple websites I have 
built for friends. But this week I had lots of time set aside, because I've 
(finally) convinced one of those website owners to do her own maintenance / 
updating of the site.

The site has many images - which I have typically put into my desktop copy of the site, 
tried them out - and then synch'ed those up to the real site. However, for the site owner 
to upload photos, I needed to revive my script for uploading files (specifically images), 
which hasn't been used in a while. And indeed, may have been played around with in the 
meantime - so I can't be sure that this is exactly a "once-working" script.

It was written a long time ago - back before there was any built-in way to 
parse multi-part form content - so I did my own parsing of the POSTed data 
(actually, I think someone else did it first, and I copied that :-)

However - that no longer works. Using $_POST_RAW fails when the uploaded file 
is a jpg image - it works ok for text file, simple PNGs etc. - but fails 
dramatically when the file is proper binary. Test script of

<?lc
set the errormode to inline
put "raw has" && the number of bytes in $_POST_RAW && "bytes<br>"
?>
fails with

file "/home/ua886128/public_html/tweedly.co.uk/tryme.lc 
<http://tweedly.co.uk/tryme.lc>"
  row 3, col 18: Chunk: can't get source string
  row 3, col 18: Chunk: error in chunk expression
.....

when the POSTed data includes a JPG file.


While google'ing around for that, I ran into the Livecode lesson on this topic

http://lessons.livecode.com/m/4070/l/40708-how-to-upload-a-file-with-livecode-server 
<http://lessons.livecode.com/m/4070/l/40708-how-to-upload-a-file-with-livecode-server>

which uses the (newer) $_FILES array which does the complex parsing of the file 
info from the form - a big improvement !! And indeed, the example there works 
does work. BUT - it seems that although it correctly parses out the file 
information, it loses any other POSTed values. So if your form consists *ONLY* 
of one or more files to upload - you're good. But if you pass any other values 
(e.g. folder you want it to go to, meta-info, passwords, etc.) that is all 
lost. Which basically means it's unusable for any real scenario.



_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to