Server IP : 122.155.17.190 / Your IP : 3.133.149.165 Web Server : Apache/2 System : Linux cat17190.thaihostserver.com 5.10.0-21-amd64 #1 SMP Debian 5.10.162-1 (2023-01-21) x86_64 User : t1bnc ( 1042) PHP Version : 5.6.40 Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname MySQL : ON | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /home/t1bnc/domains/t1bnc.ac.th/public_html/admin/editor/filemanager/connectors/lasso/ |
Upload File : |
[//lasso /* * FCKeditor - The text editor for Internet - http://www.fckeditor.net * Copyright (C) 2003-2010 Frederico Caldeira Knabben * * == BEGIN LICENSE == * * Licensed under the terms of any of the following licenses at your * choice: * * - GNU General Public License Version 2 or later (the "GPL") * http://www.gnu.org/licenses/gpl.html * * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") * http://www.gnu.org/licenses/lgpl.html * * - Mozilla Public License Version 1.1 or later (the "MPL") * http://www.mozilla.org/MPL/MPL-1.1.html * * == END LICENSE == * * This is the "File Uploader" for Lasso. */ /*..................................................................... Include global configuration. See config.lasso for details. */ include('config.lasso'); /*..................................................................... Convert query string parameters to variables and initialize output. */ var( 'Type' = (Encode_HTML: action_param('Type')), 'CurrentFolder' = "/", 'ServerPath' = action_param('ServerPath'), 'NewFile' = null, 'NewFileName' = string, 'OrigFilePath' = string, 'NewFilePath' = string, 'errorNumber' = 0, 'customMsg' = '' ); $Type == '' ? $Type = 'File'; /*..................................................................... Calculate the path to the current folder. */ $ServerPath == '' ? $ServerPath = $config->find('UserFilesPath'); var('currentFolderURL' = $ServerPath + $config->find('Subdirectories')->find(action_param('Type')) + $CurrentFolder ); $currentFolderURL = string_replace($currentFolderURL, -find='//', -replace='/'); /*..................................................................... Custom tag sets the HTML response. */ define_tag( 'sendresults', -namespace='fck_', -priority='replace', -required='errorNumber', -type='integer', -optional='fileUrl', -type='string', -optional='fileName', -type='string', -optional='customMsg', -type='string', -description='Sets the HTML response for the FCKEditor Quick Upload feature.' ); $__html_reply__ = '<script type="text/javascript">'; // Minified version of the document.domain automatic fix script (#1919). // The original script can be found at _dev/domain_fix_template.js // Note: in Lasso replace \ with \\ $__html_reply__ = $__html_reply__ + "(function(){var d=document.domain;while (true){try{var A=window.parent.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:\\.|$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})();"; $__html_reply__ = $__html_reply__ + '\ window.parent.OnUploadCompleted(' + #errorNumber + ',"' + string_replace((Encode_HTML: #fileUrl), -find='"', -replace='\\"') + '","' + string_replace((Encode_HTML: #fileUrl->split('/')->last), -find='"', -replace='\\"') + '","' + string_replace((Encode_HTML: #customMsg), -find='"', -replace='\\"') + '"); </script> '; /define_tag; if($CurrentFolder->(Find: '..') || (String_FindRegExp: $CurrentFolder, -Find='(/\\.)|(//)|[\\\\:\\*\\?\\""\\<\\>\\|]|\\000|[\u007F]|[\u0001-\u001F]')); $errorNumber = 102; /if; if($config->find('Enabled')); /*................................................................. Process an uploaded file. */ inline($connection); /*............................................................. Was a file actually uploaded? */ if($errorNumber != '102'); file_uploads->size ? $NewFile = file_uploads->get(1) | $errorNumber = 202; /if; if($errorNumber == 0); /*......................................................... Split the file's extension from the filename in order to follow the API's naming convention for duplicate files. (Test.txt, Test(1).txt, Test(2).txt, etc.) */ $NewFileName = $NewFile->find('OrigName'); $NewFileName = (String_ReplaceRegExp: $NewFileName, -find='\\\\|\\/|\\||\\:|\\?|\\*|"|<|>|\\000|[\u007F]|[\u0001-\u001F]', -replace='_'); $NewFileName = (String_ReplaceRegExp: $NewFileName, -find='\\.(?![^.]*$)', -replace='_'); $OrigFilePath = $currentFolderURL + $NewFileName; $NewFilePath = $OrigFilePath; local('fileExtension') = '.' + $NewFile->find('OrigExtension'); local('shortFileName') = $NewFileName->removetrailing(#fileExtension)&; /*......................................................... Make sure the file extension is allowed. */ local('allowedExt') = $config->find('AllowedExtensions')->find($Type); local('deniedExt') = $config->find('DeniedExtensions')->find($Type); if($allowedExt->Size > 0 && $allowedExt !>> $NewFile->find('OrigExtension')); $errorNumber = 202; else($deniedExt->Size > 0 && $deniedExt >> $NewFile->find('OrigExtension')); $errorNumber = 202; else; /*..................................................... Rename the target path until it is unique. */ while(file_exists($NewFilePath)); $NewFileName = #shortFileName + '(' + loop_count + ')' + #fileExtension; $NewFilePath = $currentFolderURL + $NewFileName; /while; /*..................................................... Copy the uploaded file to its final location. */ file_copy($NewFile->find('path'), $NewFilePath); /*..................................................... Set the error code for the response. */ select(file_currenterror( -errorcode)); case(0); $OrigFilePath != $NewFilePath ? $errorNumber = 201; case; $errorNumber = 202; /select; /if; /if; if ($errorNumber != 0 && $errorNumber != 201); $NewFilePath = ""; /if; /inline; else; $errorNumber = 1; $customMsg = 'This file uploader is disabled. Please check the "editor/filemanager/upload/lasso/config.lasso" file.'; /if; fck_sendresults( -errorNumber=$errorNumber, -fileUrl=$NewFilePath, -customMsg=$customMsg ); ]