~mortenoh/+junk/dhis2-detailed-import-export

« back to all changes in this revision

Viewing changes to dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/webapp/dhis-web-maintenance-dataset/javascript/FCK/editor/filemanager/browser/default/connectors/perl/commands.pl

  • Committer: larshelge at gmail
  • Date: 2009-03-03 16:46:36 UTC
  • Revision ID: larshelge@gmail.com-20090303164636-2sjlrquo7ib1gf7r
Initial check-in

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#####
 
2
#  FCKeditor - The text editor for Internet - http://www.fckeditor.net
 
3
#  Copyright (C) 2003-2007 Frederico Caldeira Knabben
 
4
#
 
5
#  == BEGIN LICENSE ==
 
6
#
 
7
#  Licensed under the terms of any of the following licenses at your
 
8
#  choice:
 
9
#
 
10
#   - GNU General Public License Version 2 or later (the "GPL")
 
11
#     http://www.gnu.org/licenses/gpl.html
 
12
#
 
13
#   - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
 
14
#     http://www.gnu.org/licenses/lgpl.html
 
15
#
 
16
#   - Mozilla Public License Version 1.1 or later (the "MPL")
 
17
#     http://www.mozilla.org/MPL/MPL-1.1.html
 
18
#
 
19
#  == END LICENSE ==
 
20
#
 
21
#  This is the File Manager Connector for Perl.
 
22
#####
 
23
 
 
24
sub GetFolders
 
25
{
 
26
 
 
27
        local($resourceType, $currentFolder) = @_;
 
28
 
 
29
        # Map the virtual path to the local server path.
 
30
        $sServerDir = &ServerMapFolder($resourceType, $currentFolder);
 
31
        print "<Folders>";                      # Open the "Folders" node.
 
32
 
 
33
        opendir(DIR,"$sServerDir");
 
34
        @files = grep(!/^\.\.?$/,readdir(DIR));
 
35
        closedir(DIR);
 
36
 
 
37
        foreach $sFile (@files) {
 
38
                if($sFile != '.' && $sFile != '..' && (-d "$sServerDir$sFile")) {
 
39
                        $cnv_filename = &ConvertToXmlAttribute($sFile);
 
40
                        print '<Folder name="' . $cnv_filename . '" />';
 
41
                }
 
42
        }
 
43
        print "</Folders>";                     # Close the "Folders" node.
 
44
}
 
45
 
 
46
sub GetFoldersAndFiles
 
47
{
 
48
 
 
49
        local($resourceType, $currentFolder) = @_;
 
50
        # Map the virtual path to the local server path.
 
51
        $sServerDir = &ServerMapFolder($resourceType,$currentFolder);
 
52
 
 
53
        # Initialize the output buffers for "Folders" and "Files".
 
54
        $sFolders       = '<Folders>';
 
55
        $sFiles         = '<Files>';
 
56
 
 
57
        opendir(DIR,"$sServerDir");
 
58
        @files = grep(!/^\.\.?$/,readdir(DIR));
 
59
        closedir(DIR);
 
60
 
 
61
        foreach $sFile (@files) {
 
62
                if($sFile ne '.' && $sFile ne '..') {
 
63
                        if(-d "$sServerDir$sFile") {
 
64
                                $cnv_filename = &ConvertToXmlAttribute($sFile);
 
65
                                $sFolders .= '<Folder name="' . $cnv_filename . '" />' ;
 
66
                        } else {
 
67
                                ($iFileSize,$refdate,$filedate,$fileperm) = (stat("$sServerDir$sFile"))[7,8,9,2];
 
68
                                if($iFileSize > 0) {
 
69
                                        $iFileSize = int($iFileSize / 1024);
 
70
                                        if($iFileSize < 1) {
 
71
                                                $iFileSize = 1;
 
72
                                        }
 
73
                                }
 
74
                                $cnv_filename = &ConvertToXmlAttribute($sFile);
 
75
                                $sFiles .= '<File name="' . $cnv_filename . '" size="' . $iFileSize . '" />' ;
 
76
                        }
 
77
                }
 
78
        }
 
79
        print $sFolders ;
 
80
        print '</Folders>';                     # Close the "Folders" node.
 
81
        print $sFiles ;
 
82
        print '</Files>';                       # Close the "Files" node.
 
83
}
 
84
 
 
85
sub CreateFolder
 
86
{
 
87
 
 
88
        local($resourceType, $currentFolder) = @_;
 
89
        $sErrorNumber   = '0' ;
 
90
        $sErrorMsg              = '' ;
 
91
 
 
92
        if($FORM{'NewFolderName'} ne "") {
 
93
                $sNewFolderName = $FORM{'NewFolderName'};
 
94
                # Map the virtual path to the local server path of the current folder.
 
95
                $sServerDir = &ServerMapFolder($resourceType, $currentFolder);
 
96
                if(-w $sServerDir) {
 
97
                        $sServerDir .= $sNewFolderName;
 
98
                        $sErrorMsg = &CreateServerFolder($sServerDir);
 
99
                        if($sErrorMsg == 0) {
 
100
                                $sErrorNumber = '0';
 
101
                        } elsif($sErrorMsg eq 'Invalid argument' || $sErrorMsg eq 'No such file or directory') {
 
102
                                $sErrorNumber = '102';          #// Path too long.
 
103
                        } else {
 
104
                                $sErrorNumber = '110';
 
105
                        }
 
106
                } else {
 
107
                        $sErrorNumber = '103';
 
108
                }
 
109
        } else {
 
110
                $sErrorNumber = '102' ;
 
111
        }
 
112
        # Create the "Error" node.
 
113
        $cnv_errmsg = &ConvertToXmlAttribute($sErrorMsg);
 
114
        print '<Error number="' . $sErrorNumber . '" originalDescription="' . $cnv_errmsg . '" />';
 
115
}
 
116
 
 
117
sub FileUpload
 
118
{
 
119
eval("use File::Copy;");
 
120
 
 
121
        local($resourceType, $currentFolder) = @_;
 
122
 
 
123
        $sErrorNumber = '0' ;
 
124
        $sFileName = '' ;
 
125
        if($new_fname) {
 
126
                # Map the virtual path to the local server path.
 
127
                $sServerDir = &ServerMapFolder($resourceType,$currentFolder);
 
128
 
 
129
                # Get the uploaded file name.
 
130
                $sFileName = $new_fname;
 
131
                $sOriginalFileName = $sFileName;
 
132
 
 
133
                $iCounter = 0;
 
134
                while(1) {
 
135
                        $sFilePath = $sServerDir . $sFileName;
 
136
                        if(-e $sFilePath) {
 
137
                                $iCounter++ ;
 
138
                                ($path,$BaseName,$ext) = &RemoveExtension($sOriginalFileName);
 
139
                                $sFileName = $BaseName . '(' . $iCounter . ').' . $ext;
 
140
                                $sErrorNumber = '201';
 
141
                        } else {
 
142
                                copy("$img_dir/$new_fname","$sFilePath");
 
143
                                chmod(0777,$sFilePath);
 
144
                                unlink("$img_dir/$new_fname");
 
145
                                last;
 
146
                        }
 
147
                }
 
148
        } else {
 
149
                $sErrorNumber = '202' ;
 
150
        }
 
151
        $sFileName      =~ s/"/\\"/g;
 
152
        print "Content-type: text/html\n\n";
 
153
        print '<script type="text/javascript">';
 
154
        print 'window.parent.frames["frmUpload"].OnUploadCompleted(' . $sErrorNumber . ',"' . $sFileName . '") ;';
 
155
        print '</script>';
 
156
        exit ;
 
157
}
 
158
1;