Wiki2GoEditor 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/bin/Wiki2Go_install_editor.rb +13 -0
- data/fckeditor/editor/_source/classes/fckcontextmenu.js +134 -0
- data/fckeditor/editor/_source/classes/fckdocumentfragment_gecko.js +46 -0
- data/fckeditor/editor/_source/classes/fckdocumentfragment_ie.js +58 -0
- data/fckeditor/editor/_source/classes/fckdomrange.js +452 -0
- data/fckeditor/editor/_source/classes/fckdomrange_gecko.js +71 -0
- data/fckeditor/editor/_source/classes/fckdomrange_ie.js +149 -0
- data/fckeditor/editor/_source/classes/fckeditingarea.js +253 -0
- data/fckeditor/editor/_source/classes/fckelementpath.js +66 -0
- data/fckeditor/editor/_source/classes/fckenterkey.js +556 -0
- data/fckeditor/editor/_source/classes/fckevents.js +53 -0
- data/fckeditor/editor/_source/classes/fckicon.js +98 -0
- data/fckeditor/editor/_source/classes/fckiecleanup.js +68 -0
- data/fckeditor/editor/_source/classes/fckimagepreloader.js +68 -0
- data/fckeditor/editor/_source/classes/fckkeystrokehandler.js +136 -0
- data/fckeditor/editor/_source/classes/fckmenublock.js +143 -0
- data/fckeditor/editor/_source/classes/fckmenublockpanel.js +54 -0
- data/fckeditor/editor/_source/classes/fckmenuitem.js +160 -0
- data/fckeditor/editor/_source/classes/fckpanel.js +303 -0
- data/fckeditor/editor/_source/classes/fckplugin.js +56 -0
- data/fckeditor/editor/_source/classes/fckspecialcombo.js +363 -0
- data/fckeditor/editor/_source/classes/fckstyledef.js +59 -0
- data/fckeditor/editor/_source/classes/fckstyledef_gecko.js +119 -0
- data/fckeditor/editor/_source/classes/fckstyledef_ie.js +142 -0
- data/fckeditor/editor/_source/classes/fckstylesloader.js +88 -0
- data/fckeditor/editor/_source/classes/fcktoolbar.js +120 -0
- data/fckeditor/editor/_source/classes/fcktoolbarbreak_gecko.js +36 -0
- data/fckeditor/editor/_source/classes/fcktoolbarbreak_ie.js +38 -0
- data/fckeditor/editor/_source/classes/fcktoolbarbutton.js +74 -0
- data/fckeditor/editor/_source/classes/fcktoolbarbuttonui.js +222 -0
- data/fckeditor/editor/_source/classes/fcktoolbarfontformatcombo.js +114 -0
- data/fckeditor/editor/_source/classes/fcktoolbarfontscombo.js +47 -0
- data/fckeditor/editor/_source/classes/fcktoolbarfontsizecombo.js +52 -0
- data/fckeditor/editor/_source/classes/fcktoolbarpanelbutton.js +91 -0
- data/fckeditor/editor/_source/classes/fcktoolbarspecialcombo.js +134 -0
- data/fckeditor/editor/_source/classes/fcktoolbarstylecombo.js +111 -0
- data/fckeditor/editor/_source/classes/fckw3crange.js +448 -0
- data/fckeditor/editor/_source/classes/fckxml_gecko.js +87 -0
- data/fckeditor/editor/_source/classes/fckxml_ie.js +90 -0
- data/fckeditor/editor/_source/commandclasses/fck_othercommands.js +380 -0
- data/fckeditor/editor/_source/commandclasses/fckfitwindow.js +169 -0
- data/fckeditor/editor/_source/commandclasses/fcknamedcommand.js +37 -0
- data/fckeditor/editor/_source/commandclasses/fckpasteplaintextcommand.js +38 -0
- data/fckeditor/editor/_source/commandclasses/fckpastewordcommand.js +40 -0
- data/fckeditor/editor/_source/commandclasses/fckspellcheckcommand_gecko.js +39 -0
- data/fckeditor/editor/_source/commandclasses/fckspellcheckcommand_ie.js +67 -0
- data/fckeditor/editor/_source/commandclasses/fckstylecommand.js +99 -0
- data/fckeditor/editor/_source/commandclasses/fcktablecommand.js +71 -0
- data/fckeditor/editor/_source/commandclasses/fcktextcolorcommand.js +175 -0
- data/fckeditor/editor/_source/fckconstants.js +52 -0
- data/fckeditor/editor/_source/fckeditorapi.js +161 -0
- data/fckeditor/editor/_source/fckjscoreextensions.js +152 -0
- data/fckeditor/editor/_source/fckscriptloader.js +108 -0
- data/fckeditor/editor/_source/internals/fck.js +859 -0
- data/fckeditor/editor/_source/internals/fck_contextmenu.js +307 -0
- data/fckeditor/editor/_source/internals/fck_gecko.js +254 -0
- data/fckeditor/editor/_source/internals/fck_ie.js +383 -0
- data/fckeditor/editor/_source/internals/fckbrowserinfo.js +48 -0
- data/fckeditor/editor/_source/internals/fckcodeformatter.js +100 -0
- data/fckeditor/editor/_source/internals/fckcommands.js +132 -0
- data/fckeditor/editor/_source/internals/fckconfig.js +199 -0
- data/fckeditor/editor/_source/internals/fckdebug.js +56 -0
- data/fckeditor/editor/_source/internals/fckdialog.js +38 -0
- data/fckeditor/editor/_source/internals/fckdialog_gecko.js +103 -0
- data/fckeditor/editor/_source/internals/fckdialog_ie.js +48 -0
- data/fckeditor/editor/_source/internals/fckdocumentprocessor.js +243 -0
- data/fckeditor/editor/_source/internals/fckdomtools.js +294 -0
- data/fckeditor/editor/_source/internals/fcklanguagemanager.js +161 -0
- data/fckeditor/editor/_source/internals/fcklisthandler.js +152 -0
- data/fckeditor/editor/_source/internals/fcklistslib.js +60 -0
- data/fckeditor/editor/_source/internals/fckplugins.js +46 -0
- data/fckeditor/editor/_source/internals/fckregexlib.js +95 -0
- data/fckeditor/editor/_source/internals/fckselection.js +24 -0
- data/fckeditor/editor/_source/internals/fckselection_gecko.js +151 -0
- data/fckeditor/editor/_source/internals/fckselection_ie.js +158 -0
- data/fckeditor/editor/_source/internals/fcktablehandler.js +385 -0
- data/fckeditor/editor/_source/internals/fcktablehandler_gecko.js +57 -0
- data/fckeditor/editor/_source/internals/fcktablehandler_ie.js +58 -0
- data/fckeditor/editor/_source/internals/fcktoolbaritems.js +121 -0
- data/fckeditor/editor/_source/internals/fcktoolbarset.js +357 -0
- data/fckeditor/editor/_source/internals/fcktools.js +225 -0
- data/fckeditor/editor/_source/internals/fcktools_gecko.js +235 -0
- data/fckeditor/editor/_source/internals/fcktools_ie.js +214 -0
- data/fckeditor/editor/_source/internals/fckundo_gecko.js +27 -0
- data/fckeditor/editor/_source/internals/fckundo_ie.js +123 -0
- data/fckeditor/editor/_source/internals/fckurlparams.js +39 -0
- data/fckeditor/editor/_source/internals/fckxhtml.js +466 -0
- data/fckeditor/editor/_source/internals/fckxhtml_gecko.js +66 -0
- data/fckeditor/editor/_source/internals/fckxhtml_ie.js +194 -0
- data/fckeditor/editor/_source/internals/fckxhtmlentities.js +345 -0
- data/fckeditor/editor/css/behaviors/disablehandles.htc +15 -0
- data/fckeditor/editor/css/behaviors/showtableborders.htc +36 -0
- data/fckeditor/editor/css/fck_editorarea.css +91 -0
- data/fckeditor/editor/css/fck_internal.css +111 -0
- data/fckeditor/editor/css/fck_showtableborders_gecko.css +42 -0
- data/fckeditor/editor/css/images/fck_anchor.gif +0 -0
- data/fckeditor/editor/css/images/fck_flashlogo.gif +0 -0
- data/fckeditor/editor/css/images/fck_hiddenfield.gif +0 -0
- data/fckeditor/editor/css/images/fck_pagebreak.gif +0 -0
- data/fckeditor/editor/dialog/common/fck_dialog_common.css +83 -0
- data/fckeditor/editor/dialog/common/fck_dialog_common.js +154 -0
- data/fckeditor/editor/dialog/common/fcknumericfield.htc +24 -0
- data/fckeditor/editor/dialog/common/images/locked.gif +0 -0
- data/fckeditor/editor/dialog/common/images/reset.gif +0 -0
- data/fckeditor/editor/dialog/common/images/unlocked.gif +0 -0
- data/fckeditor/editor/dialog/common/moz-bindings.xml +30 -0
- data/fckeditor/editor/dialog/fck_about.html +155 -0
- data/fckeditor/editor/dialog/fck_about/logo_fckeditor.gif +0 -0
- data/fckeditor/editor/dialog/fck_about/logo_fredck.gif +0 -0
- data/fckeditor/editor/dialog/fck_anchor.html +227 -0
- data/fckeditor/editor/dialog/fck_button.html +107 -0
- data/fckeditor/editor/dialog/fck_checkbox.html +107 -0
- data/fckeditor/editor/dialog/fck_colorselector.html +171 -0
- data/fckeditor/editor/dialog/fck_docprops.html +600 -0
- data/fckeditor/editor/dialog/fck_docprops/fck_document_preview.html +113 -0
- data/fckeditor/editor/dialog/fck_find.html +173 -0
- data/fckeditor/editor/dialog/fck_flash.html +146 -0
- data/fckeditor/editor/dialog/fck_flash/fck_flash.js +288 -0
- data/fckeditor/editor/dialog/fck_flash/fck_flash_preview.html +46 -0
- data/fckeditor/editor/dialog/fck_form.html +105 -0
- data/fckeditor/editor/dialog/fck_hiddenfield.html +116 -0
- data/fckeditor/editor/dialog/fck_image.html +252 -0
- data/fckeditor/editor/dialog/fck_image/fck_image.js +486 -0
- data/fckeditor/editor/dialog/fck_image/fck_image_preview.html +66 -0
- data/fckeditor/editor/dialog/fck_link.html +293 -0
- data/fckeditor/editor/dialog/fck_link/fck_link.js +664 -0
- data/fckeditor/editor/dialog/fck_listprop.html +116 -0
- data/fckeditor/editor/dialog/fck_paste.html +285 -0
- data/fckeditor/editor/dialog/fck_radiobutton.html +107 -0
- data/fckeditor/editor/dialog/fck_replace.html +156 -0
- data/fckeditor/editor/dialog/fck_select.html +176 -0
- data/fckeditor/editor/dialog/fck_select/fck_select.js +169 -0
- data/fckeditor/editor/dialog/fck_smiley.html +105 -0
- data/fckeditor/editor/dialog/fck_source.html +65 -0
- data/fckeditor/editor/dialog/fck_specialchar.html +113 -0
- data/fckeditor/editor/dialog/fck_spellerpages.html +64 -0
- data/fckeditor/editor/dialog/fck_spellerpages/spellerpages/blank.html +0 -0
- data/fckeditor/editor/dialog/fck_spellerpages/spellerpages/controlWindow.js +87 -0
- data/fckeditor/editor/dialog/fck_spellerpages/spellerpages/controls.html +153 -0
- data/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.cfm +174 -0
- data/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.php +196 -0
- data/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.pl +180 -0
- data/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellChecker.js +462 -0
- data/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellchecker.html +71 -0
- data/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellerStyle.css +49 -0
- data/fckeditor/editor/dialog/fck_spellerpages/spellerpages/wordWindow.js +272 -0
- data/fckeditor/editor/dialog/fck_table.html +286 -0
- data/fckeditor/editor/dialog/fck_tablecell.html +255 -0
- data/fckeditor/editor/dialog/fck_template.html +242 -0
- data/fckeditor/editor/dialog/fck_template/images/template1.gif +0 -0
- data/fckeditor/editor/dialog/fck_template/images/template2.gif +0 -0
- data/fckeditor/editor/dialog/fck_template/images/template3.gif +0 -0
- data/fckeditor/editor/dialog/fck_textarea.html +94 -0
- data/fckeditor/editor/dialog/fck_textfield.html +139 -0
- data/fckeditor/editor/fckdebug.html +153 -0
- data/fckeditor/editor/fckdialog.html +324 -0
- data/fckeditor/editor/fckeditor.html +227 -0
- data/fckeditor/editor/fckeditor.original.html +319 -0
- data/fckeditor/editor/filemanager/browser/default/browser.css +88 -0
- data/fckeditor/editor/filemanager/browser/default/browser.html +154 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/asp/basexml.asp +62 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/asp/class_upload.asp +234 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/asp/commands.asp +183 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/asp/config.asp +49 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/asp/connector.asp +124 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/asp/io.asp +89 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/asp/util.asp +55 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx +30 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/cfm/config.cfm +99 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/cfm/connector.cfm +363 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/lasso/config.lasso +65 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/lasso/connector.lasso +249 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/perl/basexml.pl +63 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/perl/commands.pl +158 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/perl/connector.cgi +137 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/perl/io.pl +131 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/perl/upload_fck.pl +667 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/perl/util.pl +60 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/php/basexml.php +75 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/php/commands.php +222 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/php/config.php +56 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/php/connector.php +113 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/php/io.php +101 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/php/util.php +41 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/py/connector.py +785 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/test.html +180 -0
- data/fckeditor/editor/filemanager/browser/default/frmactualfolder.html +67 -0
- data/fckeditor/editor/filemanager/browser/default/frmcreatefolder.html +113 -0
- data/fckeditor/editor/filemanager/browser/default/frmfolders.html +196 -0
- data/fckeditor/editor/filemanager/browser/default/frmresourceslist.html +160 -0
- data/fckeditor/editor/filemanager/browser/default/frmresourcetype.html +65 -0
- data/fckeditor/editor/filemanager/browser/default/frmupload.html +113 -0
- data/fckeditor/editor/filemanager/browser/default/images/ButtonArrow.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/Folder.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/Folder32.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/FolderOpened.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/FolderOpened32.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/FolderUp.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/ai.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/avi.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/bmp.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/cs.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/default.icon.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/dll.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/doc.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/exe.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/fla.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/gif.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/htm.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/html.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/jpg.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/js.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/mdb.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/mp3.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/pdf.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/png.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/ppt.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/rdp.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/swf.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/swt.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/txt.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/vsd.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/xls.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/xml.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/zip.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/ai.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/avi.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/bmp.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/cs.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/default.icon.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/dll.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/doc.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/exe.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/fla.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/gif.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/htm.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/html.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/jpg.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/js.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/mdb.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/mp3.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/pdf.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/png.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/ppt.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/rdp.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/swf.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/swt.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/txt.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/vsd.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/xls.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/xml.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/zip.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/spacer.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/js/common.js +55 -0
- data/fckeditor/editor/filemanager/browser/default/js/fckxml.js +130 -0
- data/fckeditor/editor/filemanager/upload/asp/class_upload.asp +234 -0
- data/fckeditor/editor/filemanager/upload/asp/config.asp +52 -0
- data/fckeditor/editor/filemanager/upload/asp/io.asp +29 -0
- data/fckeditor/editor/filemanager/upload/asp/upload.asp +121 -0
- data/fckeditor/editor/filemanager/upload/aspx/upload.aspx +30 -0
- data/fckeditor/editor/filemanager/upload/cfm/config.cfm +98 -0
- data/fckeditor/editor/filemanager/upload/cfm/upload.cfm +168 -0
- data/fckeditor/editor/filemanager/upload/lasso/config.lasso +65 -0
- data/fckeditor/editor/filemanager/upload/lasso/upload.lasso +157 -0
- data/fckeditor/editor/filemanager/upload/php/config.php +56 -0
- data/fckeditor/editor/filemanager/upload/php/upload.php +124 -0
- data/fckeditor/editor/filemanager/upload/php/util.php +40 -0
- data/fckeditor/editor/filemanager/upload/test.html +133 -0
- data/fckeditor/editor/images/anchor.gif +0 -0
- data/fckeditor/editor/images/arrow_ltr.gif +0 -0
- data/fckeditor/editor/images/arrow_rtl.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/angel_smile.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/angry_smile.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/broken_heart.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/cake.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/confused_smile.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/cry_smile.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/devil_smile.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/embaressed_smile.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/envelope.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/heart.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/kiss.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/lightbulb.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/omg_smile.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/regular_smile.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/sad_smile.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/shades_smile.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/teeth_smile.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/thumbs_down.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/thumbs_up.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/tounge_smile.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/whatchutalkingabout_smile.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/wink_smile.gif +0 -0
- data/fckeditor/editor/images/spacer.gif +0 -0
- data/fckeditor/editor/js/fckeditorcode_gecko.js +98 -0
- data/fckeditor/editor/js/fckeditorcode_ie.js +99 -0
- data/fckeditor/editor/lang/_getfontformat.html +85 -0
- data/fckeditor/editor/lang/_translationstatus.txt +76 -0
- data/fckeditor/editor/lang/af.js +504 -0
- data/fckeditor/editor/lang/ar.js +504 -0
- data/fckeditor/editor/lang/bg.js +504 -0
- data/fckeditor/editor/lang/bn.js +504 -0
- data/fckeditor/editor/lang/bs.js +504 -0
- data/fckeditor/editor/lang/ca.js +504 -0
- data/fckeditor/editor/lang/cs.js +504 -0
- data/fckeditor/editor/lang/da.js +504 -0
- data/fckeditor/editor/lang/de.js +504 -0
- data/fckeditor/editor/lang/el.js +504 -0
- data/fckeditor/editor/lang/en-au.js +504 -0
- data/fckeditor/editor/lang/en-ca.js +504 -0
- data/fckeditor/editor/lang/en-uk.js +504 -0
- data/fckeditor/editor/lang/en.js +504 -0
- data/fckeditor/editor/lang/eo.js +504 -0
- data/fckeditor/editor/lang/es.js +504 -0
- data/fckeditor/editor/lang/et.js +504 -0
- data/fckeditor/editor/lang/eu.js +505 -0
- data/fckeditor/editor/lang/fa.js +504 -0
- data/fckeditor/editor/lang/fi.js +504 -0
- data/fckeditor/editor/lang/fo.js +504 -0
- data/fckeditor/editor/lang/fr.js +504 -0
- data/fckeditor/editor/lang/gl.js +504 -0
- data/fckeditor/editor/lang/he.js +504 -0
- data/fckeditor/editor/lang/hi.js +504 -0
- data/fckeditor/editor/lang/hr.js +504 -0
- data/fckeditor/editor/lang/hu.js +504 -0
- data/fckeditor/editor/lang/it.js +504 -0
- data/fckeditor/editor/lang/ja.js +504 -0
- data/fckeditor/editor/lang/km.js +504 -0
- data/fckeditor/editor/lang/ko.js +504 -0
- data/fckeditor/editor/lang/lt.js +504 -0
- data/fckeditor/editor/lang/lv.js +504 -0
- data/fckeditor/editor/lang/mn.js +504 -0
- data/fckeditor/editor/lang/ms.js +504 -0
- data/fckeditor/editor/lang/nb.js +504 -0
- data/fckeditor/editor/lang/nl.js +504 -0
- data/fckeditor/editor/lang/no.js +504 -0
- data/fckeditor/editor/lang/pl.js +504 -0
- data/fckeditor/editor/lang/pt-br.js +504 -0
- data/fckeditor/editor/lang/pt.js +504 -0
- data/fckeditor/editor/lang/ro.js +504 -0
- data/fckeditor/editor/lang/ru.js +504 -0
- data/fckeditor/editor/lang/sk.js +504 -0
- data/fckeditor/editor/lang/sl.js +504 -0
- data/fckeditor/editor/lang/sr-latn.js +504 -0
- data/fckeditor/editor/lang/sr.js +504 -0
- data/fckeditor/editor/lang/sv.js +504 -0
- data/fckeditor/editor/lang/th.js +504 -0
- data/fckeditor/editor/lang/tr.js +504 -0
- data/fckeditor/editor/lang/uk.js +504 -0
- data/fckeditor/editor/lang/vi.js +504 -0
- data/fckeditor/editor/lang/zh-cn.js +504 -0
- data/fckeditor/editor/lang/zh.js +504 -0
- data/fckeditor/editor/plugins/autogrow/fckplugin.js +92 -0
- data/fckeditor/editor/plugins/placeholder/fck_placeholder.html +100 -0
- data/fckeditor/editor/plugins/placeholder/fckplugin.js +187 -0
- data/fckeditor/editor/plugins/placeholder/lang/de.js +27 -0
- data/fckeditor/editor/plugins/placeholder/lang/en.js +27 -0
- data/fckeditor/editor/plugins/placeholder/lang/fr.js +27 -0
- data/fckeditor/editor/plugins/placeholder/lang/it.js +27 -0
- data/fckeditor/editor/plugins/placeholder/lang/pl.js +27 -0
- data/fckeditor/editor/plugins/placeholder/placeholder.gif +0 -0
- data/fckeditor/editor/plugins/simplecommands/fckplugin.js +29 -0
- data/fckeditor/editor/plugins/tablecommands/fckplugin.js +32 -0
- data/fckeditor/editor/skins/_fckviewstrips.html +121 -0
- data/fckeditor/editor/skins/default/fck_dialog.css +137 -0
- data/fckeditor/editor/skins/default/fck_editor.css +464 -0
- data/fckeditor/editor/skins/default/fck_strip.gif +0 -0
- data/fckeditor/editor/skins/default/images/toolbar.arrowright.gif +0 -0
- data/fckeditor/editor/skins/default/images/toolbar.buttonarrow.gif +0 -0
- data/fckeditor/editor/skins/default/images/toolbar.collapse.gif +0 -0
- data/fckeditor/editor/skins/default/images/toolbar.end.gif +0 -0
- data/fckeditor/editor/skins/default/images/toolbar.expand.gif +0 -0
- data/fckeditor/editor/skins/default/images/toolbar.separator.gif +0 -0
- data/fckeditor/editor/skins/default/images/toolbar.start.gif +0 -0
- data/fckeditor/editor/skins/office2003/fck_dialog.css +138 -0
- data/fckeditor/editor/skins/office2003/fck_editor.css +476 -0
- data/fckeditor/editor/skins/office2003/fck_strip.gif +0 -0
- data/fckeditor/editor/skins/office2003/images/toolbar.arrowright.gif +0 -0
- data/fckeditor/editor/skins/office2003/images/toolbar.bg.gif +0 -0
- data/fckeditor/editor/skins/office2003/images/toolbar.buttonarrow.gif +0 -0
- data/fckeditor/editor/skins/office2003/images/toolbar.collapse.gif +0 -0
- data/fckeditor/editor/skins/office2003/images/toolbar.end.gif +0 -0
- data/fckeditor/editor/skins/office2003/images/toolbar.expand.gif +0 -0
- data/fckeditor/editor/skins/office2003/images/toolbar.separator.gif +0 -0
- data/fckeditor/editor/skins/office2003/images/toolbar.start.gif +0 -0
- data/fckeditor/editor/skins/silver/fck_dialog.css +141 -0
- data/fckeditor/editor/skins/silver/fck_editor.css +473 -0
- data/fckeditor/editor/skins/silver/fck_strip.gif +0 -0
- data/fckeditor/editor/skins/silver/images/toolbar.arrowright.gif +0 -0
- data/fckeditor/editor/skins/silver/images/toolbar.buttonarrow.gif +0 -0
- data/fckeditor/editor/skins/silver/images/toolbar.buttonbg.gif +0 -0
- data/fckeditor/editor/skins/silver/images/toolbar.collapse.gif +0 -0
- data/fckeditor/editor/skins/silver/images/toolbar.end.gif +0 -0
- data/fckeditor/editor/skins/silver/images/toolbar.expand.gif +0 -0
- data/fckeditor/editor/skins/silver/images/toolbar.separator.gif +0 -0
- data/fckeditor/editor/skins/silver/images/toolbar.start.gif +0 -0
- data/fckeditor/fckconfig.js +224 -0
- data/fckeditor/fckeditor.js +214 -0
- data/fckeditor/fckstyles.xml +53 -0
- data/fckeditor/fcktemplates.xml +103 -0
- data/lib/Wiki2GoEditor/Install/editor.rb +39 -0
- data/test/test_install.rb +40 -0
- metadata +517 -0
@@ -0,0 +1,137 @@
|
|
1
|
+
#!/usr/bin/env perl
|
2
|
+
|
3
|
+
#####
|
4
|
+
# FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
5
|
+
# Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
6
|
+
#
|
7
|
+
# == BEGIN LICENSE ==
|
8
|
+
#
|
9
|
+
# Licensed under the terms of any of the following licenses at your
|
10
|
+
# choice:
|
11
|
+
#
|
12
|
+
# - GNU General Public License Version 2 or later (the "GPL")
|
13
|
+
# http://www.gnu.org/licenses/gpl.html
|
14
|
+
#
|
15
|
+
# - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
|
16
|
+
# http://www.gnu.org/licenses/lgpl.html
|
17
|
+
#
|
18
|
+
# - Mozilla Public License Version 1.1 or later (the "MPL")
|
19
|
+
# http://www.mozilla.org/MPL/MPL-1.1.html
|
20
|
+
#
|
21
|
+
# == END LICENSE ==
|
22
|
+
#
|
23
|
+
# This is the File Manager Connector for Perl.
|
24
|
+
#####
|
25
|
+
|
26
|
+
##
|
27
|
+
# ATTENTION: To enable this connector, look for the "SECURITY" comment in this file.
|
28
|
+
##
|
29
|
+
|
30
|
+
## START: Hack for Windows (Not important to understand the editor code... Perl specific).
|
31
|
+
if(Windows_check()) {
|
32
|
+
chdir(GetScriptPath($0));
|
33
|
+
}
|
34
|
+
|
35
|
+
sub Windows_check
|
36
|
+
{
|
37
|
+
# IIS,PWS(NT/95)
|
38
|
+
$www_server_os = $^O;
|
39
|
+
# Win98 & NT(SP4)
|
40
|
+
if($www_server_os eq "") { $www_server_os= $ENV{'OS'}; }
|
41
|
+
# AnHTTPd/Omni/IIS
|
42
|
+
if($ENV{'SERVER_SOFTWARE'} =~ /AnWeb|Omni|IIS\//i) { $www_server_os= 'win'; }
|
43
|
+
# Win Apache
|
44
|
+
if($ENV{'WINDIR'} ne "") { $www_server_os= 'win'; }
|
45
|
+
if($www_server_os=~ /win/i) { return(1); }
|
46
|
+
return(0);
|
47
|
+
}
|
48
|
+
|
49
|
+
sub GetScriptPath {
|
50
|
+
local($path) = @_;
|
51
|
+
if($path =~ /[\:\/\\]/) { $path =~ s/(.*?)[\/\\][^\/\\]+$/$1/; } else { $path = '.'; }
|
52
|
+
$path;
|
53
|
+
}
|
54
|
+
## END: Hack for IIS
|
55
|
+
|
56
|
+
require 'util.pl';
|
57
|
+
require 'io.pl';
|
58
|
+
require 'basexml.pl';
|
59
|
+
require 'commands.pl';
|
60
|
+
require 'upload_fck.pl';
|
61
|
+
|
62
|
+
##
|
63
|
+
# SECURITY: REMOVE/COMMENT THE FOLLOWING LINE TO ENABLE THIS CONNECTOR.
|
64
|
+
##
|
65
|
+
&SendError( 1, 'This connector is disabled. Please check the "editor/filemanager/browser/default/connectors/perl/connector.cgi" file' ) ;
|
66
|
+
|
67
|
+
&read_input();
|
68
|
+
|
69
|
+
if($FORM{'ServerPath'} ne "") {
|
70
|
+
$GLOBALS{'UserFilesPath'} = $FORM{'ServerPath'};
|
71
|
+
if(!($GLOBALS{'UserFilesPath'} =~ /\/$/)) {
|
72
|
+
$GLOBALS{'UserFilesPath'} .= '/' ;
|
73
|
+
}
|
74
|
+
} else {
|
75
|
+
$GLOBALS{'UserFilesPath'} = '/userfiles/';
|
76
|
+
}
|
77
|
+
|
78
|
+
# Map the "UserFiles" path to a local directory.
|
79
|
+
$rootpath = &GetRootPath();
|
80
|
+
$GLOBALS{'UserFilesDirectory'} = $rootpath . $GLOBALS{'UserFilesPath'};
|
81
|
+
|
82
|
+
&DoResponse();
|
83
|
+
|
84
|
+
sub DoResponse
|
85
|
+
{
|
86
|
+
|
87
|
+
if($FORM{'Command'} eq "" || $FORM{'Type'} eq "" || $FORM{'CurrentFolder'} eq "") {
|
88
|
+
return ;
|
89
|
+
}
|
90
|
+
# Get the main request informaiton.
|
91
|
+
$sCommand = $FORM{'Command'};
|
92
|
+
$sResourceType = $FORM{'Type'};
|
93
|
+
$sCurrentFolder = $FORM{'CurrentFolder'};
|
94
|
+
|
95
|
+
# Check the current folder syntax (must begin and start with a slash).
|
96
|
+
if(!($sCurrentFolder =~ /\/$/)) {
|
97
|
+
$sCurrentFolder .= '/';
|
98
|
+
}
|
99
|
+
if(!($sCurrentFolder =~ /^\//)) {
|
100
|
+
$sCurrentFolder = '/' . $sCurrentFolder;
|
101
|
+
}
|
102
|
+
|
103
|
+
# Check for invalid folder paths (..)
|
104
|
+
if ( $sCurrentFolder =~ /\.\./ ) {
|
105
|
+
SendError( 102, "" ) ;
|
106
|
+
}
|
107
|
+
|
108
|
+
# File Upload doesn't have to Return XML, so it must be intercepted before anything.
|
109
|
+
if($sCommand eq 'FileUpload') {
|
110
|
+
FileUpload($sResourceType,$sCurrentFolder);
|
111
|
+
return ;
|
112
|
+
}
|
113
|
+
|
114
|
+
print << "_HTML_HEAD_";
|
115
|
+
Content-Type:text/xml; charset=utf-8
|
116
|
+
Pragma: no-cache
|
117
|
+
Cache-Control: no-cache
|
118
|
+
Expires: Thu, 01 Dec 1994 16:00:00 GMT
|
119
|
+
|
120
|
+
_HTML_HEAD_
|
121
|
+
|
122
|
+
&CreateXmlHeader($sCommand,$sResourceType,$sCurrentFolder);
|
123
|
+
|
124
|
+
# Execute the required command.
|
125
|
+
if($sCommand eq 'GetFolders') {
|
126
|
+
&GetFolders($sResourceType,$sCurrentFolder);
|
127
|
+
} elsif($sCommand eq 'GetFoldersAndFiles') {
|
128
|
+
&GetFoldersAndFiles($sResourceType,$sCurrentFolder);
|
129
|
+
} elsif($sCommand eq 'CreateFolder') {
|
130
|
+
&CreateFolder($sResourceType,$sCurrentFolder);
|
131
|
+
}
|
132
|
+
|
133
|
+
&CreateXmlFooter();
|
134
|
+
|
135
|
+
exit ;
|
136
|
+
}
|
137
|
+
|
@@ -0,0 +1,131 @@
|
|
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 GetUrlFromPath
|
25
|
+
{
|
26
|
+
local($resourceType, $folderPath) = @_;
|
27
|
+
|
28
|
+
if($resourceType eq '') {
|
29
|
+
$rmpath = &RemoveFromEnd($GLOBALS{'UserFilesPath'},'/');
|
30
|
+
return("$rmpath$folderPath");
|
31
|
+
} else {
|
32
|
+
return("$GLOBALS{'UserFilesPath'}$resourceType$folderPath");
|
33
|
+
}
|
34
|
+
}
|
35
|
+
|
36
|
+
sub RemoveExtension
|
37
|
+
{
|
38
|
+
local($fileName) = @_;
|
39
|
+
local($path, $base, $ext);
|
40
|
+
if($fileName !~ /\./) {
|
41
|
+
$fileName .= '.';
|
42
|
+
}
|
43
|
+
if($fileName =~ /([^\\\/]*)\.(.*)$/) {
|
44
|
+
$base = $1;
|
45
|
+
$ext = $2;
|
46
|
+
if($fileName =~ /(.*)$base\.$ext$/) {
|
47
|
+
$path = $1;
|
48
|
+
}
|
49
|
+
}
|
50
|
+
return($path,$base,$ext);
|
51
|
+
|
52
|
+
}
|
53
|
+
|
54
|
+
sub ServerMapFolder
|
55
|
+
{
|
56
|
+
local($resourceType,$folderPath) = @_;
|
57
|
+
|
58
|
+
# Get the resource type directory.
|
59
|
+
$sResourceTypePath = $GLOBALS{'UserFilesDirectory'} . $resourceType . '/';
|
60
|
+
|
61
|
+
# Ensure that the directory exists.
|
62
|
+
&CreateServerFolder($sResourceTypePath);
|
63
|
+
|
64
|
+
# Return the resource type directory combined with the required path.
|
65
|
+
$rmpath = &RemoveFromStart($folderPath,'/');
|
66
|
+
return("$sResourceTypePath$rmpath");
|
67
|
+
}
|
68
|
+
|
69
|
+
sub GetParentFolder
|
70
|
+
{
|
71
|
+
local($folderPath) = @_;
|
72
|
+
|
73
|
+
$folderPath =~ s/[\/][^\/]+[\/]?$//g;
|
74
|
+
return $folderPath;
|
75
|
+
}
|
76
|
+
|
77
|
+
sub CreateServerFolder
|
78
|
+
{
|
79
|
+
local($folderPath) = @_;
|
80
|
+
|
81
|
+
$sParent = &GetParentFolder($folderPath);
|
82
|
+
# Check if the parent exists, or create it.
|
83
|
+
if(!(-e $sParent)) {
|
84
|
+
$sErrorMsg = &CreateServerFolder($sParent);
|
85
|
+
if($sErrorMsg == 1) {
|
86
|
+
return(1);
|
87
|
+
}
|
88
|
+
}
|
89
|
+
if(!(-e $folderPath)) {
|
90
|
+
umask(000);
|
91
|
+
mkdir("$folderPath",0777);
|
92
|
+
chmod(0777,"$folderPath");
|
93
|
+
return(0);
|
94
|
+
} else {
|
95
|
+
return(1);
|
96
|
+
}
|
97
|
+
}
|
98
|
+
|
99
|
+
sub GetRootPath
|
100
|
+
{
|
101
|
+
#use Cwd;
|
102
|
+
|
103
|
+
# my $dir = getcwd;
|
104
|
+
# print $dir;
|
105
|
+
# $dir =~ s/$ENV{'DOCUMENT_ROOT'}//g;
|
106
|
+
# print $dir;
|
107
|
+
# return($dir);
|
108
|
+
|
109
|
+
# $wk = $0;
|
110
|
+
# $wk =~ s/\/connector\.cgi//g;
|
111
|
+
# if($wk) {
|
112
|
+
# $current_dir = $wk;
|
113
|
+
# } else {
|
114
|
+
# $current_dir = `pwd`;
|
115
|
+
# }
|
116
|
+
# return($current_dir);
|
117
|
+
use Cwd;
|
118
|
+
|
119
|
+
if($ENV{'DOCUMENT_ROOT'}) {
|
120
|
+
$dir = $ENV{'DOCUMENT_ROOT'};
|
121
|
+
} else {
|
122
|
+
my $dir = getcwd;
|
123
|
+
$workdir =~ s/\/connector\.cgi//g;
|
124
|
+
$dir =~ s/$workdir//g;
|
125
|
+
}
|
126
|
+
return($dir);
|
127
|
+
|
128
|
+
|
129
|
+
|
130
|
+
}
|
131
|
+
1;
|
@@ -0,0 +1,667 @@
|
|
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
|
+
# image data save dir
|
25
|
+
$img_dir = './temp/';
|
26
|
+
|
27
|
+
|
28
|
+
# File size max(unit KB)
|
29
|
+
$MAX_CONTENT_SIZE = 30000;
|
30
|
+
|
31
|
+
# Filelock (1=use,0=not use)
|
32
|
+
$PM{'flock'} = '1';
|
33
|
+
|
34
|
+
|
35
|
+
# upload Content-Type list
|
36
|
+
my %UPLOAD_CONTENT_TYPE_LIST = (
|
37
|
+
'image/(x-)?png' => 'png', # PNG image
|
38
|
+
'image/p?jpe?g' => 'jpg', # JPEG image
|
39
|
+
'image/gif' => 'gif', # GIF image
|
40
|
+
'image/x-xbitmap' => 'xbm', # XBM image
|
41
|
+
|
42
|
+
'image/(x-(MS-)?)?bmp' => 'bmp', # Windows BMP image
|
43
|
+
'image/pict' => 'pict', # Macintosh PICT image
|
44
|
+
'image/tiff' => 'tif', # TIFF image
|
45
|
+
'application/pdf' => 'pdf', # PDF image
|
46
|
+
'application/x-shockwave-flash' => 'swf', # Shockwave Flash
|
47
|
+
|
48
|
+
'video/(x-)?msvideo' => 'avi', # Microsoft Video
|
49
|
+
'video/quicktime' => 'mov', # QuickTime Video
|
50
|
+
'video/mpeg' => 'mpeg', # MPEG Video
|
51
|
+
'video/x-mpeg2' => 'mpv2', # MPEG2 Video
|
52
|
+
|
53
|
+
'audio/(x-)?midi?' => 'mid', # MIDI Audio
|
54
|
+
'audio/(x-)?wav' => 'wav', # WAV Audio
|
55
|
+
'audio/basic' => 'au', # ULAW Audio
|
56
|
+
'audio/mpeg' => 'mpga', # MPEG Audio
|
57
|
+
|
58
|
+
'application/(x-)?zip(-compressed)?' => 'zip', # ZIP Compress
|
59
|
+
|
60
|
+
'text/html' => 'html', # HTML
|
61
|
+
'text/plain' => 'txt', # TEXT
|
62
|
+
'(?:application|text)/(?:rtf|richtext)' => 'rtf', # RichText
|
63
|
+
|
64
|
+
'application/msword' => 'doc', # Microsoft Word
|
65
|
+
'application/vnd.ms-excel' => 'xls', # Microsoft Excel
|
66
|
+
|
67
|
+
''
|
68
|
+
);
|
69
|
+
|
70
|
+
# Upload is permitted.
|
71
|
+
# A regular expression is possible.
|
72
|
+
my %UPLOAD_EXT_LIST = (
|
73
|
+
'png' => 'PNG image',
|
74
|
+
'p?jpe?g|jpe|jfif|pjp' => 'JPEG image',
|
75
|
+
'gif' => 'GIF image',
|
76
|
+
'xbm' => 'XBM image',
|
77
|
+
|
78
|
+
'bmp|dib|rle' => 'Windows BMP image',
|
79
|
+
'pi?ct' => 'Macintosh PICT image',
|
80
|
+
'tiff?' => 'TIFF image',
|
81
|
+
'pdf' => 'PDF image',
|
82
|
+
'swf' => 'Shockwave Flash',
|
83
|
+
|
84
|
+
'avi' => 'Microsoft Video',
|
85
|
+
'moo?v|qt' => 'QuickTime Video',
|
86
|
+
'm(p(e?gv?|e|v)|1v)' => 'MPEG Video',
|
87
|
+
'mp(v2|2v)' => 'MPEG2 Video',
|
88
|
+
|
89
|
+
'midi?|kar|smf|rmi|mff' => 'MIDI Audio',
|
90
|
+
'wav' => 'WAVE Audio',
|
91
|
+
'au|snd' => 'ULAW Audio',
|
92
|
+
'mp(e?ga|2|a|3)|abs' => 'MPEG Audio',
|
93
|
+
|
94
|
+
'zip' => 'ZIP Compress',
|
95
|
+
'lzh' => 'LZH Compress',
|
96
|
+
'cab' => 'CAB Compress',
|
97
|
+
|
98
|
+
'd?html?' => 'HTML',
|
99
|
+
'rtf|rtx' => 'RichText',
|
100
|
+
'txt|text' => 'Text',
|
101
|
+
|
102
|
+
''
|
103
|
+
);
|
104
|
+
|
105
|
+
|
106
|
+
# sjis or euc
|
107
|
+
my $CHARCODE = 'sjis';
|
108
|
+
|
109
|
+
$TRANS_2BYTE_CODE = 0;
|
110
|
+
|
111
|
+
##############################################################################
|
112
|
+
# Summary
|
113
|
+
#
|
114
|
+
# Form Read input
|
115
|
+
#
|
116
|
+
# Parameters
|
117
|
+
# Returns
|
118
|
+
# Memo
|
119
|
+
##############################################################################
|
120
|
+
sub read_input
|
121
|
+
{
|
122
|
+
eval("use File::Copy;");
|
123
|
+
eval("use File::Path;");
|
124
|
+
|
125
|
+
my ($FORM) = @_;
|
126
|
+
|
127
|
+
|
128
|
+
mkdir($img_dir,0777);
|
129
|
+
chmod(0777,$img_dir);
|
130
|
+
|
131
|
+
undef $img_data_exists;
|
132
|
+
undef @NEWFNAMES;
|
133
|
+
undef @NEWFNAME_DATA;
|
134
|
+
|
135
|
+
if($ENV{'CONTENT_LENGTH'} > 10000000 || $ENV{'CONTENT_LENGTH'} > $MAX_CONTENT_SIZE * 1024) {
|
136
|
+
&upload_error(
|
137
|
+
'Size Error',
|
138
|
+
sprintf(
|
139
|
+
"Transmitting size is too large.MAX <strong>%d KB</strong> Now Size <strong>%d KB</strong>(<strong>%d bytes</strong> Over)",
|
140
|
+
$MAX_CONTENT_SIZE,
|
141
|
+
int($ENV{'CONTENT_LENGTH'} / 1024),
|
142
|
+
$ENV{'CONTENT_LENGTH'} - $MAX_CONTENT_SIZE * 1024
|
143
|
+
)
|
144
|
+
);
|
145
|
+
}
|
146
|
+
|
147
|
+
my $Buffer;
|
148
|
+
if($ENV{'CONTENT_TYPE'} =~ /multipart\/form-data/) {
|
149
|
+
# METHOD POST only
|
150
|
+
return unless($ENV{'CONTENT_LENGTH'});
|
151
|
+
|
152
|
+
binmode(STDIN);
|
153
|
+
# STDIN A pause character is detected.'(MacIE3.0 boundary of $ENV{'CONTENT_TYPE'} cannot be trusted.)
|
154
|
+
my $Boundary = <STDIN>;
|
155
|
+
$Boundary =~ s/\x0D\x0A//;
|
156
|
+
$Boundary = quotemeta($Boundary);
|
157
|
+
while(<STDIN>) {
|
158
|
+
if(/^\s*Content-Disposition:/i) {
|
159
|
+
my($name,$ContentType,$FileName);
|
160
|
+
# form data get
|
161
|
+
if(/\bname="([^"]+)"/i || /\bname=([^\s:;]+)/i) {
|
162
|
+
$name = $1;
|
163
|
+
$name =~ tr/+/ /;
|
164
|
+
$name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
|
165
|
+
&Encode(\$name);
|
166
|
+
}
|
167
|
+
if(/\bfilename="([^"]*)"/i || /\bfilename=([^\s:;]*)/i) {
|
168
|
+
$FileName = $1 || 'unknown';
|
169
|
+
}
|
170
|
+
# head read
|
171
|
+
while(<STDIN>) {
|
172
|
+
last if(! /\w/);
|
173
|
+
if(/^\s*Content-Type:\s*"([^"]+)"/i || /^\s*Content-Type:\s*([^\s:;]+)/i) {
|
174
|
+
$ContentType = $1;
|
175
|
+
}
|
176
|
+
}
|
177
|
+
# body read
|
178
|
+
$value = "";
|
179
|
+
while(<STDIN>) {
|
180
|
+
last if(/^$Boundary/o);
|
181
|
+
$value .= $_;
|
182
|
+
};
|
183
|
+
$lastline = $_;
|
184
|
+
$value =~s /\x0D\x0A$//;
|
185
|
+
if($value ne '') {
|
186
|
+
if($FileName || $ContentType) {
|
187
|
+
$img_data_exists = 1;
|
188
|
+
(
|
189
|
+
$FileName, #
|
190
|
+
$Ext, #
|
191
|
+
$Length, #
|
192
|
+
$ImageWidth, #
|
193
|
+
$ImageHeight, #
|
194
|
+
$ContentName #
|
195
|
+
) = &CheckContentType(\$value,$FileName,$ContentType);
|
196
|
+
|
197
|
+
$FORM{$name} = $FileName;
|
198
|
+
$new_fname = $FileName;
|
199
|
+
push(@NEWFNAME_DATA,"$FileName\t$Ext\t$Length\t$ImageWidth\t$ImageHeight\t$ContentName");
|
200
|
+
|
201
|
+
# Multi-upload correspondence
|
202
|
+
push(@NEWFNAMES,$new_fname);
|
203
|
+
open(OUT,">$img_dir/$new_fname");
|
204
|
+
binmode(OUT);
|
205
|
+
eval "flock(OUT,2);" if($PM{'flock'} == 1);
|
206
|
+
print OUT $value;
|
207
|
+
eval "flock(OUT,8);" if($PM{'flock'} == 1);
|
208
|
+
close(OUT);
|
209
|
+
|
210
|
+
} elsif($name) {
|
211
|
+
$value =~ tr/+/ /;
|
212
|
+
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
|
213
|
+
&Encode(\$value,'trans');
|
214
|
+
$FORM{$name} .= "\0" if(defined($FORM{$name}));
|
215
|
+
$FORM{$name} .= $value;
|
216
|
+
}
|
217
|
+
}
|
218
|
+
};
|
219
|
+
last if($lastline =~ /^$Boundary\-\-/o);
|
220
|
+
}
|
221
|
+
} elsif($ENV{'CONTENT_LENGTH'}) {
|
222
|
+
read(STDIN,$Buffer,$ENV{'CONTENT_LENGTH'});
|
223
|
+
}
|
224
|
+
foreach(split(/&/,$Buffer),split(/&/,$ENV{'QUERY_STRING'})) {
|
225
|
+
my($name, $value) = split(/=/);
|
226
|
+
$name =~ tr/+/ /;
|
227
|
+
$name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
|
228
|
+
$value =~ tr/+/ /;
|
229
|
+
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
|
230
|
+
|
231
|
+
&Encode(\$name);
|
232
|
+
&Encode(\$value,'trans');
|
233
|
+
$FORM{$name} .= "\0" if(defined($FORM{$name}));
|
234
|
+
$FORM{$name} .= $value;
|
235
|
+
|
236
|
+
}
|
237
|
+
|
238
|
+
}
|
239
|
+
|
240
|
+
##############################################################################
|
241
|
+
# Summary
|
242
|
+
#
|
243
|
+
# CheckContentType
|
244
|
+
#
|
245
|
+
# Parameters
|
246
|
+
# Returns
|
247
|
+
# Memo
|
248
|
+
##############################################################################
|
249
|
+
sub CheckContentType
|
250
|
+
{
|
251
|
+
|
252
|
+
my($DATA,$FileName,$ContentType) = @_;
|
253
|
+
my($Ext,$ImageWidth,$ImageHeight,$ContentName,$Infomation);
|
254
|
+
my $DataLength = length($$DATA);
|
255
|
+
|
256
|
+
# An unknown file type
|
257
|
+
|
258
|
+
$_ = $ContentType;
|
259
|
+
my $UnknownType = (
|
260
|
+
!$_
|
261
|
+
|| /^application\/(x-)?macbinary$/i
|
262
|
+
|| /^application\/applefile$/i
|
263
|
+
|| /^application\/octet-stream$/i
|
264
|
+
|| /^text\/plane$/i
|
265
|
+
|| /^x-unknown-content-type/i
|
266
|
+
);
|
267
|
+
|
268
|
+
# MacBinary(Mac Unnecessary data are deleted.)
|
269
|
+
if($UnknownType || $ENV{'HTTP_USER_AGENT'} =~ /Macintosh|Mac_/) {
|
270
|
+
if($DataLength > 128 && !unpack("C",substr($$DATA,0,1)) && !unpack("C",substr($$DATA,74,1)) && !unpack("C",substr($$DATA,82,1)) ) {
|
271
|
+
my $MacBinary_ForkLength = unpack("N", substr($$DATA, 83, 4)); # ForkLength Get
|
272
|
+
my $MacBinary_FileName = quotemeta(substr($$DATA, 2, unpack("C",substr($$DATA, 1, 1))));
|
273
|
+
if($MacBinary_FileName && $MacBinary_ForkLength && $DataLength >= $MacBinary_ForkLength + 128
|
274
|
+
&& ($FileName =~ /$MacBinary_FileName/i || substr($$DATA,102,4) eq 'mBIN')) { # DATA TOP 128byte MacBinary!!
|
275
|
+
$$DATA = substr($$DATA,128,$MacBinary_ForkLength);
|
276
|
+
my $ResourceLength = $DataLength - $MacBinary_ForkLength - 128;
|
277
|
+
$DataLength = $MacBinary_ForkLength;
|
278
|
+
}
|
279
|
+
}
|
280
|
+
}
|
281
|
+
|
282
|
+
# A file name is changed into EUC.
|
283
|
+
# &jcode::convert(\$FileName,'euc',$FormCodeDefault);
|
284
|
+
# &jcode::h2z_euc(\$FileName);
|
285
|
+
$FileName =~ s/^.*\\//; # Windows, Mac
|
286
|
+
$FileName =~ s/^.*\///; # UNIX
|
287
|
+
$FileName =~ s/&/&/g;
|
288
|
+
$FileName =~ s/"/"/g;
|
289
|
+
$FileName =~ s/</</g;
|
290
|
+
$FileName =~ s/>/>/g;
|
291
|
+
#
|
292
|
+
# if($CHARCODE ne 'euc') {
|
293
|
+
# &jcode::convert(\$FileName,$CHARCODE,'euc');
|
294
|
+
# }
|
295
|
+
|
296
|
+
# An extension is extracted and it changes into a small letter.
|
297
|
+
my $FileExt;
|
298
|
+
if($FileName =~ /\.(\w+)$/) {
|
299
|
+
$FileExt = $1;
|
300
|
+
$FileExt =~ tr/A-Z/a-z/;
|
301
|
+
}
|
302
|
+
|
303
|
+
# Executable file detection (ban on upload)
|
304
|
+
if($$DATA =~ /^MZ/) {
|
305
|
+
$Ext = 'exe';
|
306
|
+
}
|
307
|
+
# text
|
308
|
+
if(!$Ext && ($UnknownType || $ContentType =~ /^text\//i || $ContentType =~ /^application\/(?:rtf|richtext)$/i || $ContentType =~ /^image\/x-xbitmap$/i)
|
309
|
+
&& ! $$DATA =~ /[\000-\006\177\377]/) {
|
310
|
+
# $$DATA =~ s/\x0D\x0A/\n/g;
|
311
|
+
# $$DATA =~ tr/\x0D\x0A/\n\n/;
|
312
|
+
#
|
313
|
+
# if(
|
314
|
+
# $$DATA =~ /<\s*SCRIPT(?:.|\n)*?>/i
|
315
|
+
# || $$DATA =~ /<\s*(?:.|\n)*?\bONLOAD\s*=(?:.|\n)*?>/i
|
316
|
+
# || $$DATA =~ /<\s*(?:.|\n)*?\bONCLICK\s*=(?:.|\n)*?>/i
|
317
|
+
# ) {
|
318
|
+
# $Infomation = '(JavaScript contains)';
|
319
|
+
# }
|
320
|
+
# if($$DATA =~ /<\s*TABLE(?:.|\n)*?>/i
|
321
|
+
# || $$DATA =~ /<\s*BLINK(?:.|\n)*?>/i
|
322
|
+
# || $$DATA =~ /<\s*MARQUEE(?:.|\n)*?>/i
|
323
|
+
# || $$DATA =~ /<\s*OBJECT(?:.|\n)*?>/i
|
324
|
+
# || $$DATA =~ /<\s*EMBED(?:.|\n)*?>/i
|
325
|
+
# || $$DATA =~ /<\s*FRAME(?:.|\n)*?>/i
|
326
|
+
# || $$DATA =~ /<\s*APPLET(?:.|\n)*?>/i
|
327
|
+
# || $$DATA =~ /<\s*FORM(?:.|\n)*?>/i
|
328
|
+
# || $$DATA =~ /<\s*(?:.|\n)*?\bSRC\s*=(?:.|\n)*?>/i
|
329
|
+
# || $$DATA =~ /<\s*(?:.|\n)*?\bDYNSRC\s*=(?:.|\n)*?>/i
|
330
|
+
# ) {
|
331
|
+
# $Infomation = '(the HTML tag which is not safe is included)';
|
332
|
+
# }
|
333
|
+
|
334
|
+
if($FileExt =~ /^txt$/i || $FileExt =~ /^cgi$/i || $FileExt =~ /^pl$/i) { # Text File
|
335
|
+
$Ext = 'txt';
|
336
|
+
} elsif($ContentType =~ /^text\/html$/i || $FileExt =~ /html?/i || $$DATA =~ /<\s*HTML(?:.|\n)*?>/i) { # HTML File
|
337
|
+
$Ext = 'html';
|
338
|
+
} elsif($ContentType =~ /^image\/x-xbitmap$/i || $FileExt =~ /^xbm$/i) { # XBM(x-BitMap) Image
|
339
|
+
my $XbmName = $1;
|
340
|
+
my ($XbmWidth, $XbmHeight);
|
341
|
+
if($$DATA =~ /\#define\s*$XbmName\_width\s*(\d+)/i) {
|
342
|
+
$XbmWidth = $1;
|
343
|
+
}
|
344
|
+
if($$DATA =~ /\#define\s*$XbmName\_height\s*(\d+)/i) {
|
345
|
+
$XbmHeight = $1;
|
346
|
+
}
|
347
|
+
if($XbmWidth && $XbmHeight) {
|
348
|
+
$Ext = 'xbm';
|
349
|
+
$ImageWidth = $XbmWidth;
|
350
|
+
$ImageHeight = $XbmHeight;
|
351
|
+
}
|
352
|
+
} else { #
|
353
|
+
$Ext = 'txt';
|
354
|
+
}
|
355
|
+
}
|
356
|
+
|
357
|
+
# image
|
358
|
+
if(!$Ext && ($UnknownType || $ContentType =~ /^image\//i)) {
|
359
|
+
# PNG
|
360
|
+
if($$DATA =~ /^\x89PNG\x0D\x0A\x1A\x0A/) {
|
361
|
+
if(substr($$DATA, 12, 4) eq 'IHDR') {
|
362
|
+
$Ext = 'png';
|
363
|
+
($ImageWidth, $ImageHeight) = unpack("N2", substr($$DATA, 16, 8));
|
364
|
+
}
|
365
|
+
} elsif($$DATA =~ /^GIF8(?:9|7)a/) { # GIF89a(modified), GIF89a, GIF87a
|
366
|
+
$Ext = 'gif';
|
367
|
+
($ImageWidth, $ImageHeight) = unpack("v2", substr($$DATA, 6, 4));
|
368
|
+
} elsif($$DATA =~ /^II\x2a\x00\x08\x00\x00\x00/ || $$DATA =~ /^MM\x00\x2a\x00\x00\x00\x08/) { # TIFF
|
369
|
+
$Ext = 'tif';
|
370
|
+
} elsif($$DATA =~ /^BM/) { # BMP
|
371
|
+
$Ext = 'bmp';
|
372
|
+
} elsif($$DATA =~ /^\xFF\xD8\xFF/ || $$DATA =~ /JFIF/) { # JPEG
|
373
|
+
my $HeaderPoint = index($$DATA, "\xFF\xD8\xFF", 0);
|
374
|
+
my $Point = $HeaderPoint + 2;
|
375
|
+
while($Point < $DataLength) {
|
376
|
+
my($Maker, $MakerType, $MakerLength) = unpack("C2n",substr($$DATA,$Point,4));
|
377
|
+
if($Maker != 0xFF || $MakerType == 0xd9 || $MakerType == 0xda) {
|
378
|
+
last;
|
379
|
+
} elsif($MakerType >= 0xC0 && $MakerType <= 0xC3) {
|
380
|
+
$Ext = 'jpg';
|
381
|
+
($ImageHeight, $ImageWidth) = unpack("n2", substr($$DATA, $Point + 5, 4));
|
382
|
+
if($HeaderPoint > 0) {
|
383
|
+
$$DATA = substr($$DATA, $HeaderPoint);
|
384
|
+
$DataLength = length($$DATA);
|
385
|
+
}
|
386
|
+
last;
|
387
|
+
} else {
|
388
|
+
$Point += $MakerLength + 2;
|
389
|
+
}
|
390
|
+
}
|
391
|
+
}
|
392
|
+
}
|
393
|
+
|
394
|
+
# audio
|
395
|
+
if(!$Ext && ($UnknownType || $ContentType =~ /^audio\//i)) {
|
396
|
+
# MIDI Audio
|
397
|
+
if($$DATA =~ /^MThd/) {
|
398
|
+
$Ext = 'mid';
|
399
|
+
} elsif($$DATA =~ /^\x2esnd/) { # ULAW Audio
|
400
|
+
$Ext = 'au';
|
401
|
+
} elsif($$DATA =~ /^RIFF/ || $$DATA =~ /^ID3/ && $$DATA =~ /RIFF/) {
|
402
|
+
my $HeaderPoint = index($$DATA, "RIFF", 0);
|
403
|
+
$_ = substr($$DATA, $HeaderPoint + 8, 8);
|
404
|
+
if(/^WAVEfmt $/) {
|
405
|
+
# WAVE
|
406
|
+
if(unpack("V",substr($$DATA, $HeaderPoint + 16, 4)) == 16) {
|
407
|
+
$Ext = 'wav';
|
408
|
+
} else { # RIFF WAVE MP3
|
409
|
+
$Ext = 'mp3';
|
410
|
+
}
|
411
|
+
} elsif(/^RMIDdata$/) { # RIFF MIDI
|
412
|
+
$Ext = 'rmi';
|
413
|
+
} elsif(/^RMP3data$/) { # RIFF MP3
|
414
|
+
$Ext = 'rmp';
|
415
|
+
}
|
416
|
+
if($ContentType =~ /^audio\//i) {
|
417
|
+
$Infomation .= '(RIFF '. substr($$DATA, $HeaderPoint + 8, 4). ')';
|
418
|
+
}
|
419
|
+
}
|
420
|
+
}
|
421
|
+
|
422
|
+
# a binary file
|
423
|
+
unless ($Ext) {
|
424
|
+
# PDF image
|
425
|
+
if($$DATA =~ /^\%PDF/) {
|
426
|
+
# Picture size is not measured.
|
427
|
+
$Ext = 'pdf';
|
428
|
+
} elsif($$DATA =~ /^FWS/) { # Shockwave Flash
|
429
|
+
$Ext = 'swf';
|
430
|
+
} elsif($$DATA =~ /^RIFF/ || $$DATA =~ /^ID3/ && $$DATA =~ /RIFF/) {
|
431
|
+
my $HeaderPoint = index($$DATA, "RIFF", 0);
|
432
|
+
$_ = substr($$DATA,$HeaderPoint + 8, 8);
|
433
|
+
# AVI
|
434
|
+
if(/^AVI LIST$/) {
|
435
|
+
$Ext = 'avi';
|
436
|
+
}
|
437
|
+
if($ContentType =~ /^video\//i) {
|
438
|
+
$Infomation .= '(RIFF '. substr($$DATA, $HeaderPoint + 8, 4). ')';
|
439
|
+
}
|
440
|
+
} elsif($$DATA =~ /^PK/) { # ZIP Compress File
|
441
|
+
$Ext = 'zip';
|
442
|
+
} elsif($$DATA =~ /^MSCF/) { # CAB Compress File
|
443
|
+
$Ext = 'cab';
|
444
|
+
} elsif($$DATA =~ /^Rar\!/) { # RAR Compress File
|
445
|
+
$Ext = 'rar';
|
446
|
+
} elsif(substr($$DATA, 2, 5) =~ /^\-lh(\d+|d)\-$/) { # LHA Compress File
|
447
|
+
$Infomation .= "(lh$1)";
|
448
|
+
$Ext = 'lzh';
|
449
|
+
} elsif(substr($$DATA, 325, 25) eq "Apple Video Media Handler" || substr($$DATA, 325, 30) eq "Apple \x83\x72\x83\x66\x83\x49\x81\x45\x83\x81\x83\x66\x83\x42\x83\x41\x83\x6E\x83\x93\x83\x68\x83\x89") {
|
450
|
+
# QuickTime
|
451
|
+
$Ext = 'mov';
|
452
|
+
}
|
453
|
+
}
|
454
|
+
|
455
|
+
# Header analysis failure
|
456
|
+
unless ($Ext) {
|
457
|
+
# It will be followed if it applies for the MIME type from the browser.
|
458
|
+
foreach (keys %UPLOAD_CONTENT_TYPE_LIST) {
|
459
|
+
next unless ($_);
|
460
|
+
if($ContentType =~ /^$_$/i) {
|
461
|
+
$Ext = $UPLOAD_CONTENT_TYPE_LIST{$_};
|
462
|
+
$ContentName = &CheckContentExt($Ext);
|
463
|
+
if(
|
464
|
+
grep {$_ eq $Ext;} (
|
465
|
+
'png',
|
466
|
+
'gif',
|
467
|
+
'jpg',
|
468
|
+
'xbm',
|
469
|
+
'tif',
|
470
|
+
'bmp',
|
471
|
+
'pdf',
|
472
|
+
'swf',
|
473
|
+
'mov',
|
474
|
+
'zip',
|
475
|
+
'cab',
|
476
|
+
'lzh',
|
477
|
+
'rar',
|
478
|
+
'mid',
|
479
|
+
'rmi',
|
480
|
+
'au',
|
481
|
+
'wav',
|
482
|
+
'avi',
|
483
|
+
'exe'
|
484
|
+
)
|
485
|
+
) {
|
486
|
+
$Infomation .= ' / Header analysis failure';
|
487
|
+
}
|
488
|
+
if($Ext ne $FileExt && &CheckContentExt($FileExt) eq $ContentName) {
|
489
|
+
$Ext = $FileExt;
|
490
|
+
}
|
491
|
+
last;
|
492
|
+
}
|
493
|
+
}
|
494
|
+
# a MIME type is unknown--It judges from an extension.
|
495
|
+
unless ($Ext) {
|
496
|
+
$ContentName = &CheckContentExt($FileExt);
|
497
|
+
if($ContentName) {
|
498
|
+
$Ext = $FileExt;
|
499
|
+
$Infomation .= ' / MIME type is unknown('. $ContentType. ')';
|
500
|
+
last;
|
501
|
+
}
|
502
|
+
}
|
503
|
+
}
|
504
|
+
|
505
|
+
# $ContentName = &CheckContentExt($Ext) unless($ContentName);
|
506
|
+
# if($Ext && $ContentName) {
|
507
|
+
# $ContentName .= $Infomation;
|
508
|
+
# } else {
|
509
|
+
# &upload_error(
|
510
|
+
# 'Extension Error',
|
511
|
+
# "$FileName A not corresponding extension ($Ext)<BR>The extension which can be responded ". join(',', sort values(%UPLOAD_EXT_LIST))
|
512
|
+
# );
|
513
|
+
# }
|
514
|
+
|
515
|
+
# # SSI Tag Deletion
|
516
|
+
# if($Ext =~ /.?html?/ && $$DATA =~ /<\!/) {
|
517
|
+
# foreach (
|
518
|
+
# 'config',
|
519
|
+
# 'echo',
|
520
|
+
# 'exec',
|
521
|
+
# 'flastmod',
|
522
|
+
# 'fsize',
|
523
|
+
# 'include'
|
524
|
+
# ) {
|
525
|
+
# $$DATA =~ s/\#\s*$_/\&\#35\;$_/ig
|
526
|
+
# }
|
527
|
+
# }
|
528
|
+
|
529
|
+
return (
|
530
|
+
$FileName,
|
531
|
+
$Ext,
|
532
|
+
int($DataLength / 1024 + 1),
|
533
|
+
$ImageWidth,
|
534
|
+
$ImageHeight,
|
535
|
+
$ContentName
|
536
|
+
);
|
537
|
+
}
|
538
|
+
|
539
|
+
##############################################################################
|
540
|
+
# Summary
|
541
|
+
#
|
542
|
+
# Extension discernment
|
543
|
+
#
|
544
|
+
# Parameters
|
545
|
+
# Returns
|
546
|
+
# Memo
|
547
|
+
##############################################################################
|
548
|
+
|
549
|
+
sub CheckContentExt
|
550
|
+
{
|
551
|
+
|
552
|
+
my($Ext) = @_;
|
553
|
+
my $ContentName;
|
554
|
+
foreach (keys %UPLOAD_EXT_LIST) {
|
555
|
+
next unless ($_);
|
556
|
+
if($_ && $Ext =~ /^$_$/) {
|
557
|
+
$ContentName = $UPLOAD_EXT_LIST{$_};
|
558
|
+
last;
|
559
|
+
}
|
560
|
+
}
|
561
|
+
return $ContentName;
|
562
|
+
|
563
|
+
}
|
564
|
+
|
565
|
+
##############################################################################
|
566
|
+
# Summary
|
567
|
+
#
|
568
|
+
# Form decode
|
569
|
+
#
|
570
|
+
# Parameters
|
571
|
+
# Returns
|
572
|
+
# Memo
|
573
|
+
##############################################################################
|
574
|
+
sub Encode
|
575
|
+
{
|
576
|
+
|
577
|
+
my($value,$Trans) = @_;
|
578
|
+
|
579
|
+
# my $FormCode = &jcode::getcode($value) || $FormCodeDefault;
|
580
|
+
# $FormCodeDefault ||= $FormCode;
|
581
|
+
#
|
582
|
+
# if($Trans && $TRANS_2BYTE_CODE) {
|
583
|
+
# if($FormCode ne 'euc') {
|
584
|
+
# &jcode::convert($value, 'euc', $FormCode);
|
585
|
+
# }
|
586
|
+
# &jcode::tr(
|
587
|
+
# $value,
|
588
|
+
# "\xA3\xB0-\xA3\xB9\xA3\xC1-\xA3\xDA\xA3\xE1-\xA3\xFA",
|
589
|
+
# '0-9A-Za-z'
|
590
|
+
# );
|
591
|
+
# if($CHARCODE ne 'euc') {
|
592
|
+
# &jcode::convert($value,$CHARCODE,'euc');
|
593
|
+
# }
|
594
|
+
# } else {
|
595
|
+
# if($CHARCODE ne $FormCode) {
|
596
|
+
# &jcode::convert($value,$CHARCODE,$FormCode);
|
597
|
+
# }
|
598
|
+
# }
|
599
|
+
# if($CHARCODE eq 'euc') {
|
600
|
+
# &jcode::h2z_euc($value);
|
601
|
+
# } elsif($CHARCODE eq 'sjis') {
|
602
|
+
# &jcode::h2z_sjis($value);
|
603
|
+
# }
|
604
|
+
|
605
|
+
}
|
606
|
+
|
607
|
+
##############################################################################
|
608
|
+
# Summary
|
609
|
+
#
|
610
|
+
# Error Msg
|
611
|
+
#
|
612
|
+
# Parameters
|
613
|
+
# Returns
|
614
|
+
# Memo
|
615
|
+
##############################################################################
|
616
|
+
|
617
|
+
sub upload_error
|
618
|
+
{
|
619
|
+
|
620
|
+
local($error_message) = $_[0];
|
621
|
+
local($error_message2) = $_[1];
|
622
|
+
|
623
|
+
print "Content-type: text/html\n\n";
|
624
|
+
print<<EOF;
|
625
|
+
<HTML>
|
626
|
+
<HEAD>
|
627
|
+
<TITLE>Error Message</TITLE></HEAD>
|
628
|
+
<BODY>
|
629
|
+
<table border="1" cellspacing="10" cellpadding="10">
|
630
|
+
<TR bgcolor="#0000B0">
|
631
|
+
<TD bgcolor="#0000B0" NOWRAP><font size="-1" color="white"><B>Error Message</B></font></TD>
|
632
|
+
</TR>
|
633
|
+
</table>
|
634
|
+
<UL>
|
635
|
+
<H4> $error_message </H4>
|
636
|
+
$error_message2 <BR>
|
637
|
+
</UL>
|
638
|
+
</BODY>
|
639
|
+
</HTML>
|
640
|
+
EOF
|
641
|
+
&rm_tmp_uploaded_files; # Image Temporary deletion
|
642
|
+
exit;
|
643
|
+
}
|
644
|
+
|
645
|
+
##############################################################################
|
646
|
+
# Summary
|
647
|
+
#
|
648
|
+
# Image Temporary deletion
|
649
|
+
#
|
650
|
+
# Parameters
|
651
|
+
# Returns
|
652
|
+
# Memo
|
653
|
+
##############################################################################
|
654
|
+
|
655
|
+
sub rm_tmp_uploaded_files
|
656
|
+
{
|
657
|
+
if($img_data_exists == 1){
|
658
|
+
sleep 1;
|
659
|
+
foreach $fname_list(@NEWFNAMES) {
|
660
|
+
if(-e "$img_dir/$fname_list") {
|
661
|
+
unlink("$img_dir/$fname_list");
|
662
|
+
}
|
663
|
+
}
|
664
|
+
}
|
665
|
+
|
666
|
+
}
|
667
|
+
1;
|