source: trunk/expressoMail1_2/js/fckeditor/editor/filemanager/upload/lasso/upload.lasso @ 389

Revision 389, 5.8 KB checked in by niltonneto, 16 years ago (diff)

Ver Tickets no Trac #286 e #287.
Inclusão de template de assinatura padrão.
Assinatura também disponível em formato de texto rico.
Inclusão da biblioteca FCKEditor.

  • Property svn:executable set to *
Line 
1[//lasso
2/*
3 * FCKeditor - The text editor for internet
4 * Copyright (C) 2003-2006 Frederico Caldeira Knabben
5 *
6 * Licensed under the terms of the GNU Lesser General Public License:
7 *              http://www.opensource.org/licenses/lgpl-license.php
8 *
9 * For further information visit:
10 *              http://www.fckeditor.net/
11 *
12 * File Name: upload.php
13 *      This is the "File Uploader" for Lasso.
14 *
15 * File Authors:
16 *              Jason Huck (jason.huck@corefive.com)
17 */
18
19
20    /*.....................................................................     
21    Include global configuration. See config.lasso for details.                                                                           
22    */                                                                         
23        include('config.lasso');
24
25
26    /*.....................................................................     
27    Convert query string parameters to variables and initialize output.                                                                           
28    */                                                                         
29        var(
30                'Type'                  =       action_param('Type'),
31                'CurrentFolder' =       action_param('CurrentFolder'),
32                'ServerPath'    =       action_param('ServerPath'),
33                'NewFile'               =       null,
34                'NewFileName'   =       string,
35                'OrigFilePath'  =       string,
36                'NewFilePath'   =       string,
37                'errorNumber'   =       0,
38                'customMsg'             =       ''
39        );
40
41        $Type == '' ? $Type = 'File';
42
43
44    /*.....................................................................     
45    Calculate the path to the current folder.                                                                           
46    */                                                                         
47        $ServerPath == '' ? $ServerPath = $config->find('UserFilesPath');
48               
49        var('currentFolderURL' = $ServerPath
50                + $config->find('Subdirectories')->find(action_param('Type'))
51                + action_param('CurrentFolder')
52        );
53
54
55        /*.....................................................................   
56        Custom tag sets the HTML response.                                                               
57        */
58       
59        define_tag(
60                'sendresults',
61                -namespace='fck_',
62                -priority='replace',
63                -required='errorNumber',
64                -type='integer',
65                -optional='fileUrl',
66                -type='string',
67                -optional='fileName',
68                -type='string',
69                -optional='customMsg',
70                -type='string',
71                -description='Sets the HTML response for the FCKEditor Quick Upload feature.'
72        );
73                $__html_reply__ = '\
74<script type="text/javascript">
75        window.parent.OnUploadCompleted(' + #errorNumber + ',"'
76                + string_replace(#fileUrl, -find='"', -replace='\\"') + '","'
77                + string_replace(#fileName, -find='"', -replace='\\"') + '","'
78                + string_replace(#customMsg, -find='"', -replace='\\"') + '");
79</script>
80                ';
81        /define_tag;
82
83
84        if($config->find('Enabled'));
85                /*.................................................................     
86                Process an uploaded file.                                                                       
87                */                                                                         
88                inline($connection);
89                        /*.............................................................     
90                        Was a file actually uploaded?                                                             
91                        */                                                             
92                        file_uploads->size ? $NewFile = file_uploads->get(1) | $errorNumber = 202;
93                                                       
94                        if($errorNumber == 0);
95                                /*.........................................................     
96                                Split the file's extension from the filename in order
97                                to follow the API's naming convention for duplicate
98                                files. (Test.txt, Test(1).txt, Test(2).txt, etc.)                                                         
99                                */                                                         
100                                $NewFileName = $NewFile->find('OrigName');                                                                                                     
101                                $OrigFilePath = $currentFolderURL + $NewFileName;
102                                $NewFilePath = $OrigFilePath;
103                                local('fileExtension') = '.' + $NewFile->find('OrigExtension');                                 
104                                local('shortFileName') = $NewFileName->removetrailing(#fileExtension)&;
105       
106       
107                                /*.........................................................     
108                                Make sure the file extension is allowed.                                                         
109                                */
110                                                               
111                                if($config->find('DeniedExtensions')->find($Type) >> $NewFile->find('OrigExtension'));
112                                        $errorNumber = 202;
113                                else;
114                                        /*.....................................................     
115                                        Rename the target path until it is unique.                                                   
116                                        */                                                                                                                                     
117                                        while(file_exists($NewFilePath));
118                                                $NewFileName = #shortFileName + '(' + loop_count + ')' + #fileExtension;
119                                                $NewFilePath = $currentFolderURL + $NewFileName;
120                                        /while;
121                                       
122                                       
123                                        /*.....................................................     
124                                        Copy the uploaded file to its final location.                                                     
125                                        */                                                     
126                                        file_copy($NewFile->find('path'), $NewFilePath);
127       
128       
129                                        /*.....................................................   
130                                        Set the error code for the response.                                         
131                                        */                                                                                                     
132                                        select(file_currenterror( -errorcode));
133                                                case(0);
134                                                        $OrigFilePath != $NewFilePath ? $errorNumber = 201;
135                                                case;
136                                                        $errorNumber = 202;
137                                        /select;
138                                /if;
139                        /if;
140                /inline;
141        else;
142                $errorNumber = 1;
143                $customMsg = 'This file uploader is disabled. Please check the "editor/filemanager/upload/lasso/config.lasso" file.';
144        /if;
145       
146        fck_sendresults(
147                -errorNumber=$errorNumber,
148                -fileUrl=$NewFilePath,
149                -fileName=$NewFileName,
150                -customMsg=$customMsg
151        );
152]       
Note: See TracBrowser for help on using the repository browser.