Форма загрузки

Тема в разделе "Как сделать...", создана пользователем inmy, 23 авг 2013.

  1. inmy

    inmy

    Регистр.:
    13 апр 2012
    Сообщения:
    302
    Симпатии:
    201
    Имееться форма мультизагрузки модуля вопрос-ответ под dle,ест класс загрузки в форме добавления материала:
    PHP:
    var SWFUpload;
    if (
    SWFUpload == undefined) {
      
    SWFUpload = function (a) {
      
    this.initSWFUpload(a)
      }
    }
    SWFUpload.prototype.initSWFUpload = function (b) {
      try {
      
    this.customSettings = {};
      
    this.settings b;
      
    this.eventQueue = [];
      
    this.movieName "SWFUpload_" SWFUpload.movieCount++;
      
    this.movieElement null;
      
    SWFUpload.instances[this.movieName] = this;
      
    this.initSettings();
      
    this.loadFlash();
      
    this.displayDebugInfo()
      } catch (
    a) {
      
    delete SWFUpload.instances[this.movieName];
      throw 
    a
      
    }
    };
    SWFUpload.instances = {};
    SWFUpload.movieCount 0;
    SWFUpload.version "2.2.0 2009-03-25";
    SWFUpload.QUEUE_ERROR = {
      
    QUEUE_LIMIT_EXCEEDED: -100,
      
    FILE_EXCEEDS_SIZE_LIMIT: -110,
      
    ZERO_BYTE_FILE: -120,
      
    INVALID_FILETYPE: -130
    };
    SWFUpload.UPLOAD_ERROR = {
      
    HTTP_ERROR: -200,
      
    MISSING_UPLOAD_URL: -210,
      
    IO_ERROR: -220,
      
    SECURITY_ERROR: -230,
      
    UPLOAD_LIMIT_EXCEEDED: -240,
      
    UPLOAD_FAILED: -250,
      
    SPECIFIED_FILE_ID_NOT_FOUND: -260,
      
    FILE_VALIDATION_FAILED: -270,
      
    FILE_CANCELLED: -280,
      
    UPLOAD_STOPPED: -290
    };
    SWFUpload.FILE_STATUS = {
      
    QUEUED: -1,
      
    IN_PROGRESS: -2,
      
    ERROR: -3,
      
    COMPLETE: -4,
      
    CANCELLED: -5
    };
    SWFUpload.BUTTON_ACTION = {
      
    SELECT_FILE: -100,
      
    SELECT_FILES: -110,
      
    START_UPLOAD: -120
    };
    SWFUpload.CURSOR = {
      
    ARROW: -1,
      
    HAND: -2
    };
    SWFUpload.WINDOW_MODE = {
      
    WINDOW"window",
      
    TRANSPARENT"transparent",
      
    OPAQUE"opaque"
    };
    SWFUpload.completeURL = function (a) {
      if (
    typeof (a) !== "string" || == "" || a.match(/^https?:\/\//i) || a.match(/^\//)) {
      
    return a
      
    }
      var 
    window.location.protocol "//" window.location.hostname + (window.location.port ":" window.location.port "");
      var 
    window.location.pathname.lastIndexOf("/");
      if (
    <= 0) {
      
    path "/"
      
    } else {
      
    path window.location.pathname.substr(0b) + "/"
      
    }
      return 
    path a
    };
    SWFUpload.prototype.initSettings = function () {
      
    this.ensureDefault = function (ba) {
      
    this.settings[b] = (this.settings[b] == undefined) ? this.settings[b]
      };
      
    this.ensureDefault("upload_url""");
      
    this.ensureDefault("preserve_relative_urls"false);
      
    this.ensureDefault("file_post_name""Filedata");
      
    this.ensureDefault("post_params", {});
      
    this.ensureDefault("use_query_string"false);
      
    this.ensureDefault("requeue_on_error"false);
      
    this.ensureDefault("http_success", []);
      
    this.ensureDefault("assume_success_timeout"0);
      
    this.ensureDefault("file_types""*.*");
      
    this.ensureDefault("file_types_description""All Files");
      
    this.ensureDefault("file_size_limit"0);
      
    this.ensureDefault("file_upload_limit"0);
      
    this.ensureDefault("file_queue_limit"0);
      
    this.ensureDefault("flash_url""swfupload.swf");
      
    this.ensureDefault("prevent_swf_caching"true);
      
    this.ensureDefault("button_image_url""");
      
    this.ensureDefault("button_width"1);
      
    this.ensureDefault("button_height"1);
      
    this.ensureDefault("button_text""");
      
    this.ensureDefault("button_text_style""color: #000000; font-size: 16pt;");
      
    this.ensureDefault("button_text_top_padding"0);
      
    this.ensureDefault("button_text_left_padding"0);
      
    this.ensureDefault("button_action"SWFUpload.BUTTON_ACTION.SELECT_FILES);
      
    this.ensureDefault("button_disabled"false);
      
    this.ensureDefault("button_placeholder_id""");
      
    this.ensureDefault("button_placeholder"null);
      
    this.ensureDefault("button_cursor"SWFUpload.CURSOR.ARROW);
      
    this.ensureDefault("button_window_mode"SWFUpload.WINDOW_MODE.WINDOW);
      
    this.ensureDefault("debug"false);
      
    this.settings.debug_enabled this.settings.debug;
      
    this.settings.return_upload_start_handler this.returnUploadStart;
      
    this.ensureDefault("swfupload_loaded_handler"null);
      
    this.ensureDefault("file_dialog_start_handler"null);
      
    this.ensureDefault("file_queued_handler"null);
      
    this.ensureDefault("file_queue_error_handler"null);
      
    this.ensureDefault("file_dialog_complete_handler"null);
      
    this.ensureDefault("upload_start_handler"null);
      
    this.ensureDefault("upload_progress_handler"null);
      
    this.ensureDefault("upload_error_handler"null);
      
    this.ensureDefault("upload_success_handler"null);
      
    this.ensureDefault("upload_complete_handler"null);
      
    this.ensureDefault("debug_handler"this.debugMessage);
      
    this.ensureDefault("custom_settings", {});
      
    this.customSettings this.settings.custom_settings;
      if ( !! 
    this.settings.prevent_swf_caching) {
      
    this.settings.flash_url this.settings.flash_url + (this.settings.flash_url.indexOf("?") < "?" "&") + "preventswfcaching=" + new Date().getTime()
      }
      if (!
    this.settings.preserve_relative_urls) {
      
    this.settings.upload_url SWFUpload.completeURL(this.settings.upload_url);
      
    this.settings.button_image_url SWFUpload.completeURL(this.settings.button_image_url)
      }
      
    delete this.ensureDefault
    };
    SWFUpload.prototype.loadFlash = function () {
      var 
    ab;
      if (
    document.getElementById(this.movieName) !== null) {
      throw 
    "ID " this.movieName " is already in use. The Flash Object could not be added"
      
    }
      
    document.getElementById(this.settings.button_placeholder_id) || this.settings.button_placeholder;
      if (
    == undefined) {
      throw 
    "Could not find the placeholder element: " this.settings.button_placeholder_id
      
    }
      
    document.createElement("div");
      
    b.innerHTML this.getFlashHTML();
      
    a.parentNode.replaceChild(b.firstChilda);
      if (
    window[this.movieName] == undefined) {
      
    window[this.movieName] = this.getMovieElement()
      }
    };
    SWFUpload.prototype.getFlashHTML = function () {
      return [
    '<object id="'this.movieName'" type="application/x-shockwave-flash" data="'this.settings.flash_url'" width="'this.settings.button_width'" height="'this.settings.button_height'" class="swfupload">''<param name="wmode" value="'this.settings.button_window_mode'" />''<param name="movie" value="'this.settings.flash_url'" />''<param name="quality" value="high" />''<param name="menu" value="false" />''<param name="allowScriptAccess" value="always" />''<param name="flashvars" value="' this.getFlashVars() + '" />'"</object>"].join("")
    };
    SWFUpload.prototype.getFlashVars = function () {
      var 
    this.buildParamString();
      var 
    this.settings.http_success.join(",");
      return [
    "movieName="encodeURIComponent(this.movieName), "&amp;uploadURL="encodeURIComponent(this.settings.upload_url), "&amp;useQueryString="encodeURIComponent(this.settings.use_query_string), "&amp;requeueOnError="encodeURIComponent(this.settings.requeue_on_error), "&amp;httpSuccess="encodeURIComponent(a), "&amp;assumeSuccessTimeout="encodeURIComponent(this.settings.assume_success_timeout), "&amp;params="encodeURIComponent(b), "&amp;filePostName="encodeURIComponent(this.settings.file_post_name), "&amp;fileTypes="encodeURIComponent(this.settings.file_types), "&amp;fileTypesDescription="encodeURIComponent(this.settings.file_types_description), "&amp;fileSizeLimit="encodeURIComponent(this.settings.file_size_limit), "&amp;fileUploadLimit="encodeURIComponent(this.settings.file_upload_limit), "&amp;fileQueueLimit="encodeURIComponent(this.settings.file_queue_limit), "&amp;debugEnabled="encodeURIComponent(this.settings.debug_enabled), "&amp;buttonImageURL="encodeURIComponent(this.settings.button_image_url), "&amp;buttonWidth="encodeURIComponent(this.settings.button_width), "&amp;buttonHeight="encodeURIComponent(this.settings.button_height), "&amp;buttonText="encodeURIComponent(this.settings.button_text), "&amp;buttonTextTopPadding="encodeURIComponent(this.settings.button_text_top_padding), "&amp;buttonTextLeftPadding="encodeURIComponent(this.settings.button_text_left_padding), "&amp;buttonTextStyle="encodeURIComponent(this.settings.button_text_style), "&amp;buttonAction="encodeURIComponent(this.settings.button_action), "&amp;buttonDisabled="encodeURIComponent(this.settings.button_disabled), "&amp;buttonCursor="encodeURIComponent(this.settings.button_cursor)].join("")
    };
    SWFUpload.prototype.getMovieElement = function () {
      if (
    this.movieElement == undefined) {
      
    this.movieElement document.getElementById(this.movieName)
      }
      if (
    this.movieElement === null) {
      throw 
    "Could not find Flash element"
      
    }
      return 
    this.movieElement
    };
    SWFUpload.prototype.buildParamString = function () {
      var 
    this.settings.post_params;
      var 
    = [];
      if (
    typeof (c) === "object") {
      for (var 
    a in c) {
      if (
    c.hasOwnProperty(a)) {
      
    b.push(encodeURIComponent(a.toString()) + "=" encodeURIComponent(c[a].toString()))
      }
      }
      }
      return 
    b.join("&amp;")
    };
    SWFUpload.prototype.destroy = function () {
      try {
      
    this.cancelUpload(nullfalse);
      var 
    null;
      
    this.getMovieElement();
      if (
    && typeof (a.CallFunction) === "unknown") {
      for (var 
    c in a) {
      try {
      if (
    typeof (a[c]) === "function") {
      
    a[c] = null
      
    }
      } catch (
    e) {}
      }
      try {
      
    a.parentNode.removeChild(a)
      } catch (
    b) {}
      }
      
    window[this.movieName] = null;
      
    SWFUpload.instances[this.movieName] = null;
      
    delete SWFUpload.instances[this.movieName];
      
    this.movieElement null;
      
    this.settings null;
      
    this.customSettings null;
      
    this.eventQueue null;
      
    this.movieName null;
      return 
    true
      
    } catch (d) {
      return 
    false
      
    }
    };
    SWFUpload.prototype.displayDebugInfo = function () {
      
    this.debug(["---SWFUpload Instance Info---\n""Version: "SWFUpload.version"\n""Movie Name: "this.movieName"\n""Settings:\n""\t""upload_url:  "this.settings.upload_url"\n""\t""flash_url:  "this.settings.flash_url"\n""\t""use_query_string:  "this.settings.use_query_string.toString(), "\n""\t""requeue_on_error:  "this.settings.requeue_on_error.toString(), "\n""\t""http_success:  "this.settings.http_success.join(", "), "\n""\t""assume_success_timeout:  "this.settings.assume_success_timeout"\n""\t""file_post_name:  "this.settings.file_post_name"\n""\t""post_params:  "this.settings.post_params.toString(), "\n""\t""file_types:  "this.settings.file_types"\n""\t""file_types_description:  "this.settings.file_types_description"\n""\t""file_size_limit:  "this.settings.file_size_limit"\n""\t""file_upload_limit:  "this.settings.file_upload_limit"\n""\t""file_queue_limit:  "this.settings.file_queue_limit"\n""\t""debug:  "this.settings.debug.toString(), "\n""\t""prevent_swf_caching:  "this.settings.prevent_swf_caching.toString(), "\n""\t""button_placeholder_id:  "this.settings.button_placeholder_id.toString(), "\n""\t""button_placeholder:  ", (this.settings.button_placeholder "Set" "Not Set"), "\n""\t""button_image_url:  "this.settings.button_image_url.toString(), "\n""\t""button_width:  "this.settings.button_width.toString(), "\n""\t""button_height:  "this.settings.button_height.toString(), "\n""\t""button_text:  "this.settings.button_text.toString(), "\n""\t""button_text_style:  "this.settings.button_text_style.toString(), "\n""\t""button_text_top_padding:  "this.settings.button_text_top_padding.toString(), "\n""\t""button_text_left_padding: "this.settings.button_text_left_padding.toString(), "\n""\t""button_action:  "this.settings.button_action.toString(), "\n""\t""button_disabled:  "this.settings.button_disabled.toString(), "\n""\t""custom_settings:  "this.settings.custom_settings.toString(), "\n""Event Handlers:\n""\t""swfupload_loaded_handler assigned:  ", (typeof this.settings.swfupload_loaded_handler === "function").toString(), "\n""\t""file_dialog_start_handler assigned: ", (typeof this.settings.file_dialog_start_handler === "function").toString(), "\n""\t""file_queued_handler assigned:  ", (typeof this.settings.file_queued_handler === "function").toString(), "\n""\t""file_queue_error_handler assigned:  ", (typeof this.settings.file_queue_error_handler === "function").toString(), "\n""\t""upload_start_handler assigned:  ", (typeof this.settings.upload_start_handler === "function").toString(), "\n""\t""upload_progress_handler assigned:  ", (typeof this.settings.upload_progress_handler === "function").toString(), "\n""\t""upload_error_handler assigned:  ", (typeof this.settings.upload_error_handler === "function").toString(), "\n""\t""upload_success_handler assigned:  ", (typeof this.settings.upload_success_handler === "function").toString(), "\n""\t""upload_complete_handler assigned:  ", (typeof this.settings.upload_complete_handler === "function").toString(), "\n""\t""debug_handler assigned:  ", (typeof this.settings.debug_handler === "function").toString(), "\n"].join(""))
    };
    SWFUpload.prototype.addSetting = function (bca) {
      if (
    == undefined) {
      return (
    this.settings[b] = a)
      } else {
      return (
    this.settings[b] = c)
      }
    };
    SWFUpload.prototype.getSetting = function (a) {
      if (
    this.settings[a] != undefined) {
      return 
    this.settings[a]
      }
      return 
    ""
    };
    SWFUpload.prototype.callFlash = function (functionNameargumentArray) {
      
    argumentArray argumentArray || [];
      var 
    movieElement this.getMovieElement();
      var 
    returnValuereturnString;
      try {
      
    returnString movieElement.CallFunction('<invoke name="' functionName '" returntype="javascript">' __flash__argumentsToXML(argumentArray0) + "</invoke>");
      
    returnValue = eval(returnString)
      } catch (
    ex) {
      throw 
    "Call to " functionName " failed"
      
    }
      if (
    returnValue != undefined && typeof returnValue.post === "object") {
      
    returnValue this.unescapeFilePostParams(returnValue)
      }
      return 
    returnValue
    };
    SWFUpload.prototype.selectFile = function () {
      
    this.callFlash("SelectFile")
    };
    SWFUpload.prototype.selectFiles = function () {
      
    this.callFlash("SelectFiles")
    };
    SWFUpload.prototype.startUpload = function (a) {
      
    this.callFlash("StartUpload", [a])
    };
    SWFUpload.prototype.cancelUpload = function (ab) {
      if (
    !== false) {
      
    true
      
    }
      
    this.callFlash("CancelUpload", [ab])
    };
    SWFUpload.prototype.stopUpload = function () {
      
    this.callFlash("StopUpload")
    };
    SWFUpload.prototype.getStats = function () {
      return 
    this.callFlash("GetStats")
    };
    SWFUpload.prototype.setStats = function (a) {
      
    this.callFlash("SetStats", [a])
    };
    SWFUpload.prototype.getFile = function (a) {
      if (
    typeof (a) === "number") {
      return 
    this.callFlash("GetFileByIndex", [a])
      } else {
      return 
    this.callFlash("GetFile", [a])
      }
    };
    SWFUpload.prototype.addFileParam = function (abc) {
      return 
    this.callFlash("AddFileParam", [abc])
    };
    SWFUpload.prototype.removeFileParam = function (ab) {
      
    this.callFlash("RemoveFileParam", [ab])
    };
    SWFUpload.prototype.setUploadURL = function (a) {
      
    this.settings.upload_url a.toString();
      
    this.callFlash("SetUploadURL", [a])
    };
    SWFUpload.prototype.setPostParams = function (a) {
      
    this.settings.post_params a;
      
    this.callFlash("SetPostParams", [a])
    };
    SWFUpload.prototype.addPostParam = function (ab) {
      
    this.settings.post_params[a] = b;
      
    this.callFlash("SetPostParams", [this.settings.post_params])
    };
    SWFUpload.prototype.removePostParam = function (a) {
      
    delete this.settings.post_params[a];
      
    this.callFlash("SetPostParams", [this.settings.post_params])
    };
    SWFUpload.prototype.setFileTypes = function (ab) {
      
    this.settings.file_types a;
      
    this.settings.file_types_description b;
      
    this.callFlash("SetFileTypes", [ab])
    };
    SWFUpload.prototype.setFileSizeLimit = function (a) {
      
    this.settings.file_size_limit a;
      
    this.callFlash("SetFileSizeLimit", [a])
    };
    SWFUpload.prototype.setFileUploadLimit = function (a) {
      
    this.settings.file_upload_limit a;
      
    this.callFlash("SetFileUploadLimit", [a])
    };
    SWFUpload.prototype.setFileQueueLimit = function (a) {
      
    this.settings.file_queue_limit a;
      
    this.callFlash("SetFileQueueLimit", [a])
    };
    SWFUpload.prototype.setFilePostName = function (a) {
      
    this.settings.file_post_name a;
      
    this.callFlash("SetFilePostName", [a])
    };
    SWFUpload.prototype.setUseQueryString = function (a) {
      
    this.settings.use_query_string a;
      
    this.callFlash("SetUseQueryString", [a])
    };
    SWFUpload.prototype.setRequeueOnError = function (a) {
      
    this.settings.requeue_on_error a;
      
    this.callFlash("SetRequeueOnError", [a])
    };
    SWFUpload.prototype.setHTTPSuccess = function (a) {
      if (
    typeof a === "string") {
      
    a.replace(" """).split(",")
      }
      
    this.settings.http_success a;
      
    this.callFlash("SetHTTPSuccess", [a])
    };
    SWFUpload.prototype.setAssumeSuccessTimeout = function (a) {
      
    this.settings.assume_success_timeout a;
      
    this.callFlash("SetAssumeSuccessTimeout", [a])
    };
    SWFUpload.prototype.setDebugEnabled = function (a) {
      
    this.settings.debug_enabled a;
      
    this.callFlash("SetDebugEnabled", [a])
    };
    SWFUpload.prototype.setButtonImageURL = function (a) {
      if (
    == undefined) {
      
    ""
      
    }
      
    this.settings.button_image_url a;
      
    this.callFlash("SetButtonImageURL", [a])
    };
    SWFUpload.prototype.setButtonDimensions = function (ca) {
      
    this.settings.button_width c;
      
    this.settings.button_height a;
      var 
    this.getMovieElement();
      if (
    != undefined) {
      
    b.style.width "px";
      
    b.style.height "px"
      
    }
      
    this.callFlash("SetButtonDimensions", [ca])
    };
    SWFUpload.prototype.setButtonText = function (a) {
      
    this.settings.button_text a;
      
    this.callFlash("SetButtonText", [a])
    };
    SWFUpload.prototype.setButtonTextPadding = function (ba) {
      
    this.settings.button_text_top_padding a;
      
    this.settings.button_text_left_padding b;
      
    this.callFlash("SetButtonTextPadding", [ba])
    };
    SWFUpload.prototype.setButtonTextStyle = function (a) {
      
    this.settings.button_text_style a;
      
    this.callFlash("SetButtonTextStyle", [a])
    };
    SWFUpload.prototype.setButtonDisabled = function (a) {
      
    this.settings.button_disabled a;
      
    this.callFlash("SetButtonDisabled", [a])
    };
    SWFUpload.prototype.setButtonAction = function (a) {
      
    this.settings.button_action a;
      
    this.callFlash("SetButtonAction", [a])
    };
    SWFUpload.prototype.setButtonCursor = function (a) {
      
    this.settings.button_cursor a;
      
    this.callFlash("SetButtonCursor", [a])
    };
    SWFUpload.prototype.queueEvent = function (bc) {
      if (
    == undefined) {
      
    = []
      } else {
      if (!(
    instanceof Array)) {
      
    = [c]
      }
      }
      var 
    this;
      if (
    typeof this.settings[b] === "function") {
      
    this.eventQueue.push(function () {
      
    this.settings[b].apply(thisc)
      });
      
    setTimeout(function () {
      
    a.executeNextEvent()
      }, 
    0)
      } else {
      if (
    this.settings[b] !== null) {
      throw 
    "Event handler " " is unknown or is not a function"
      
    }
      }
    };
    SWFUpload.prototype.executeNextEvent = function () {
      var 
    this.eventQueue this.eventQueue.shift() : null;
      if (
    typeof (a) === "function") {
      
    a.apply(this)
      }
    };
    SWFUpload.prototype.unescapeFilePostParams = function (c) {
      var 
    = /[$]([0-9a-f]{4})/i;
      var 
    = {};
      var 
    d;
      if (
    != undefined) {
      for (var 
    a in c.post) {
      if (
    c.post.hasOwnProperty(a)) {
      
    a;
      var 
    b;
      while ((
    e.exec(d)) !== null) {
      
    d.replace(b[0], String.fromCharCode(parseInt("0x" b[1], 16)))
      }
      
    f[d] = c.post[a]
      }
      }
      
    c.post f
      
    }
      return 
    c
    };
    SWFUpload.prototype.testExternalInterface = function () {
      try {
      return 
    this.callFlash("TestExternalInterface")
      } catch (
    a) {
      return 
    false
      
    }
    };
    SWFUpload.prototype.flashReady = function () {
      var 
    this.getMovieElement();
      if (!
    a) {
      
    this.debug("Flash called back ready but the flash movie can't be found.");
      return
      }
      
    this.cleanUp(a);
      
    this.queueEvent("swfupload_loaded_handler")
    };
    SWFUpload.prototype.cleanUp = function (a) {
      try {
      if (
    this.movieElement && typeof (a.CallFunction) === "unknown") {
      
    this.debug("Removing Flash functions hooks (this should only run in IE and should prevent memory leaks)");
      for (var 
    c in a) {
      try {
      if (
    typeof (a[c]) === "function") {
      
    a[c] = null
      
    }
      } catch (
    b) {}
      }
      }
      } catch (
    d) {}
      
    window.__flash__removeCallback = function (ef) {
      try {
      if (
    e) {
      
    e[f] = null
      
    }
      } catch (
    g) {}
      }
    };
    SWFUpload.prototype.fileDialogStart = function () {
      
    this.queueEvent("file_dialog_start_handler")
    };
    SWFUpload.prototype.fileQueued = function (a) {
      
    this.unescapeFilePostParams(a);
      
    this.queueEvent("file_queued_handler"a)
    };
    SWFUpload.prototype.fileQueueError = function (acb) {
      
    this.unescapeFilePostParams(a);
      
    this.queueEvent("file_queue_error_handler", [acb])
    };
    SWFUpload.prototype.fileDialogComplete = function (bca) {
      
    this.queueEvent("file_dialog_complete_handler", [bca])
    };
    SWFUpload.prototype.uploadStart = function (a) {
      
    this.unescapeFilePostParams(a);
      
    this.queueEvent("return_upload_start_handler"a)
    };
    SWFUpload.prototype.returnUploadStart = function (a) {
      var 
    b;
      if (
    typeof this.settings.upload_start_handler === "function") {
      
    this.unescapeFilePostParams(a);
      
    this.settings.upload_start_handler.call(thisa)
      } else {
      if (
    this.settings.upload_start_handler != undefined) {
      throw 
    "upload_start_handler must be a function"
      
    }
      } if (
    === undefined) {
      
    true
      
    }
      
    = !! b;
      
    this.callFlash("ReturnUploadStart", [b])
    };
    SWFUpload.prototype.uploadProgress = function (acb) {
      
    this.unescapeFilePostParams(a);
      
    this.queueEvent("upload_progress_handler", [acb])
    };
    SWFUpload.prototype.uploadError = function (acb) {
      
    this.unescapeFilePostParams(a);
      
    this.queueEvent("upload_error_handler", [acb])
    };
    SWFUpload.prototype.uploadSuccess = function (bac) {
      
    this.unescapeFilePostParams(b);
      
    this.queueEvent("upload_success_handler", [bac])
    };
    SWFUpload.prototype.uploadComplete = function (a) {
      
    this.unescapeFilePostParams(a);
      
    this.queueEvent("upload_complete_handler"a)
    };
    SWFUpload.prototype.debug = function (a) {
      
    this.queueEvent("debug_handler"a)
    };
    SWFUpload.prototype.debugMessage = function (c) {
      if (
    this.settings.debug) {
      var 
    a= [];
      if (
    typeof c === "object" && typeof c.name === "string" && typeof c.message === "string") {
      for (var 
    b in c) {
      if (
    c.hasOwnProperty(b)) {
      
    d.push(": " c[b])
      }
      }
      
    d.join("\n") || "";
      
    a.split("\n");
      
    "EXCEPTION: " d.join("\nEXCEPTION: ");
      
    SWFUpload.Console.writeLine(a)
      } else {
      
    SWFUpload.Console.writeLine(c)
      }
      }
    };
    SWFUpload.Console = {};
    SWFUpload.Console.writeLine = function (d) {
      var 
    ba;
      try {
      
    document.getElementById("SWFUpload_Console");
      if (!
    b) {
      
    document.createElement("form");
      
    document.getElementsByTagName("body")[0].appendChild(a);
      
    document.createElement("textarea");
      
    b.id "SWFUpload_Console";
      
    b.style.fontFamily "monospace";
      
    b.setAttribute("wrap""off");
      
    b.wrap "off";
      
    b.style.overflow "auto";
      
    b.style.width "700px";
      
    b.style.height "350px";
      
    b.style.margin "5px";
      
    a.appendChild(b)
      }
      
    b.value += "\n";
      
    b.scrollTop b.scrollHeight b.clientHeight
      
    } catch (c) {
      
    alert("Exception: " c.name " Message: " c.message)
      }
    };
    if (
    jQuery)(function (jQuery) {
      
    jQuery.extend(jQuery.fn, {
      
    uploadify: function (optionsswfUploadOptions) {
      
    jQuery(this).each(function () {
      var clone = 
    jQuery(this).clone();
      var 
    settings jQuery.extend({
      
    idjQuery(this).attr('id'),
      
    swf'/uploadify/uploadify.swf',
      
    uploader'/ajax/files.uploader.php',
      
    autotrue,
      
    buttonClass'',
      
    buttonCursor'hand',
      
    buttonImage"",
      
    buttonText'',
      
    cancelImage'',
      
    checkExistingfalse,
      
    debugfalse,
      
    fileObjName'Filedata',
      
    fileSizeLimit0,
      
    fileTypeDesc'All Files',
      
    fileTypeExts'*.*',
      
    height30,
      
    method'post',
      
    multifalse,
      
    queueIDfalse,
      
    queueSizeLimit10,
      
    removeCompletedfalse,
      
    removeTimeout10,
      
    requeueErrorstrue,
      
    postData: {},
      
    preventCachingtrue,
      
    progressData'percentage',
      
    successTimeout30,
      
    transparenttrue,
      
    uploadLimit50,
      
    uploaderType'flash',
      
    width130,
      
    skipDefault: [],
      
    onClearQueue: function () {},
      
    onDialogOpen: function () {},
      
    onDialogClose: function () {},
      
    onInit: function () {},
      
    onQueueComplete: function () {},
      
    onSelectError: function () {},
      
    onSelect: function () {},
      
    onSWFReady: function () {},
      
    onUploadCancel: function () {},
      
    onUploadComplete: function () {},
      
    onUploadError: function () {},
      
    onUploadProgress: function () {},
      
    onUploadStart: function () {}
      }, 
    options);
      var 
    swfUploadSettings = {
      
    assume_success_timeoutsettings.successTimeout,
      
    button_placeholder_idsettings.id,
      
    button_image_urlsettings.buttonImage,
      
    button_widthsettings.width,
      
    button_heightsettings.height,
      
    button_textnull,
      
    button_text_stylenull,
      
    button_text_top_padding0,
      
    button_text_left_padding0,
      
    button_action: (settings.multi SWFUpload.BUTTON_ACTION.SELECT_FILES SWFUpload.BUTTON_ACTION.SELECT_FILE),
      
    button_disabledfalse,
      
    button_cursor: (settings.buttonCursor == 'arrow' SWFUpload.CURSOR.ARROW SWFUpload.CURSOR.HAND),
      
    button_window_mode: (settings.transparent && !settings.buttonImage SWFUpload.WINDOW_MODE.TRANSPARENT SWFUpload.WINDOW_MODE.OPAQUE),
      
    debugsettings.debug,
      
    requeue_on_errorsettings.requeueErrors,
      
    file_post_namesettings.fileObjName,
      
    file_size_limitsettings.fileSizeLimit,
      
    file_typessettings.fileTypeExts,
      
    file_types_descriptionsettings.fileTypeDesc,
      
    file_queue_limitsettings.queueSizeLimit,
      
    file_upload_limitsettings.uploadLimit,
      
    flash_urlsettings.swf,
      
    prevent_swf_cachingsettings.preventCaching,
      
    post_paramssettings.postData,
      
    upload_urlsettings.uploader,
      
    use_query_string: (settings.method == 'get'),
      
    file_dialog_complete_handleronDialogClose,
      
    file_dialog_start_handleronDialogOpen,
      
    file_queued_handleronSelect,
      
    file_queue_error_handleronSelectError,
      
    swfupload_loaded_handleronSWFReady,
      
    upload_complete_handleronUploadComplete,
      
    upload_error_handleronUploadError,
      
    upload_progress_handleronUploadProgress,
      
    upload_start_handleronUploadStart,
      
    upload_success_handleronUploadSuccess
      
    }
      if (
    swfUploadOptions) {
      
    swfUploadSettings jQuery.extend(swfUploadSettingsswfUploadOptions);
      }
      
    swfUploadSettings jQuery.extend(swfUploadSettingssettings);
      
    window['uploadify_' settings.id] = new SWFUpload(swfUploadSettings);
      var 
    swfuploadify window['uploadify_' settings.id];
      
    swfuploadify.original = clone;
      var 
    wrapper jQuery('<div />', {
      
    idsettings.id,
      
    'class''uploadify',
      
    css: {
      
    'height'settings.height 'px',
      
    'position''relative',
      
    'width'settings.width 'px'
      
    }
      });
      
    jQuery('#' swfuploadify.movieName).wrap(wrapper);
      if (!
    settings.queueID) {
      var 
    queue jQuery('<div />', {
      
    idsettings.id '_queue',
      
    'class''uploadifyQueue'
      
    });
      
    jQuery('#' settings.id).after(queue);
      
    swfuploadify.settings.queueID settings.queueID settings.id '_queue';
      }
      
    swfuploadify.queue = {
      
    files: {},
      
    filesSelected0,
      
    filesQueued0,
      
    filesReplaced0,
      
    filesCancelled0,
      
    filesErrored0,
      
    averageSpeed0,
      
    queueLength0,
      
    queueSize0,
      
    uploadSize0,
      
    queueBytesUploaded0,
      
    uploadQueue: [],
      
    errorMsg'Some files were not added to the queue:'
      
    };
      if (!
    settings.buttonImage) {
      var 
    button jQuery('<div />', {
      
    idsettings.id '_button',
      
    'class''uploadifyButton ' settings.buttonClass,
      
    html'<span class="uploadifyButtonText">' settings.buttonText '</span>'
      
    });
      
    jQuery('#' settings.id).append(button);
      
    jQuery('#' swfuploadify.movieName).css({
      
    position'absolute',
      
    'z-index'1
      
    });
      } else {
      
    jQuery('#' swfuploadify.movieName).addClass(settings.buttonClass);
      }

      function 
    onSWFReady() {
      if (
    swfuploadify.settings.onSWFReadyswfuploadify.settings.onSWFReady();
      }

      function 
    onDialogClose(filesSelectedfilesQueuedqueueLength) {
      
    swfuploadify.setButtonDisabled(0);
      var 
    stats swfuploadify.getStats();
      
    swfuploadify.queue.filesErrored filesSelected filesQueued;
      
    swfuploadify.queue.filesSelected filesSelected;
      
    swfuploadify.queue.filesQueued filesQueued swfuploadify.queue.filesCancelled;
      
    swfuploadify.queue.queueLength queueLength;
      if (
    jQuery.inArray('onDialogClose'swfuploadify.settings.skipDefault) < 0) {
      if (
    swfuploadify.queue.filesErrored 0) {
      
    alert(swfuploadify.queue.errorMsg);
      }
      }
      if (
    swfuploadify.settings.onDialogCloseswfuploadify.settings.onDialogClose(swfuploadify.queue);
      if (
    swfuploadify.settings.autojQuery('#' swfuploadify.settings.id).uploadifyUpload('*');
      }

      function 
    onDialogOpen() {
      
    swfuploadify.setButtonDisabled(1);
      
    swfuploadify.queue.errorMsg 'Вы выбрали слишком много файлов для загрузки';
      
    swfuploadify.queue.filesReplaced 0;
      
    swfuploadify.queue.filesCancelled 0;
      if (
    swfuploadify.settings.onDialogOpenswfuploadify.settings.onDialogOpen();
      }

      function 
    onSelect(file) {
      if (
    jQuery.inArray('onSelect'swfuploadify.settings.skipDefault) < 0) {
      var 
    queuedFile = {};
      for (var 
    n in swfuploadify.queue.files) {
      
    queuedFile swfuploadify.queue.files[n];
      if (
    queuedFile.name == file.name) {
      var 
    replaceQueueItem confirm('Файл "' file.name '" уже готов к загрузке.\nХотите заменить уже выбравнный файл?');
      if (!
    replaceQueueItem) {
      
    swfuploadify.cancelUpload(file.id);
      
    swfuploadify.queue.filesCancelled++;
      return 
    false;
      } else {
      
    jQuery('#' queuedFile.id).remove();
      
    swfuploadify.cancelUpload(queuedFile.id);
      
    swfuploadify.queue.filesReplaced++;
      }
      }
      }
      var 
    fileSize Math.round(file.size 1024);
      var 
    suffix 'KB';
      if (
    fileSize 1000) {
      
    fileSize Math.round(fileSize 1000);
      
    suffix 'MB';
      }
      var 
    fileSizeParts fileSize.toString().split('.');
      
    fileSize fileSizeParts[0];
      if (
    fileSizeParts.length 1) {
      
    fileSize += '.' fileSizeParts[1].substr(02);
      }
      
    fileSize += suffix;
      var 
    fileName file.name;
      
    jQuery('#' swfuploadify.settings.queueID).append('<div id="' file.id '" class="uploadifyQueueItem">\
      <div class="cancel">\
      <a href="javascript:jQuery(\'#' 
    swfuploadify.settings.id '\').uploadifyCancel(\'' file.id '\')"><img src="' swfuploadify.settings.cancelImage '" border="0" /></a>\
      </div>\
      <span class="fileName">' 
    fileName ' (' fileSize ')</span><span class="data"></span>\
      <div class="uploadifyProgress">\
      <div class="uploadifyProgressBar"><!--Progress Bar--></div>\
      </div>\
      </div>'
    );
      
    swfuploadify.queue.queueSize += file.size;
      }
      
    swfuploadify.queue.files[file.id] = file;
      if (
    swfuploadify.settings.onSelect) {
      
    swfuploadify.settings.onSelect(file);
      }
      }

      function 
    declOfNum(numbertitles) {
      
    cases = [201112];
      return 
    titles[(number 100 && number 100 20) ? cases[(number 10 5) ? number 10 5]];
      }

      function 
    onSelectError(fileerrorCodeerrorMsg) {
      if (
    jQuery.inArray('onSelectError'swfuploadify.settings.skipDefault) < 0) {
      switch (
    errorCode) {
      case 
    SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED:
      if (
    swfuploadify.settings.queueSizeLimit errorMsg) {
      var 
    fileTXT declOfNum(errorMsg, ['файл''файла''файлов']);
      
    swfuploadify.queue.errorMsg += '\nВы можете загрузить еще ' errorMsg ' ' fileTXT '.';
      } else {
      var 
    fileTXT declOfNum(swfuploadify.settings.queueSizeLimit, ['файл''файла''файлов']);
      
    swfuploadify.queue.errorMsg += '\nВы можете выбрать еще ' swfuploadify.settings.queueSizeLimit ' ' fileTXT '.';
      }
      break;
      case 
    SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:
      
    swfuploadify.queue.errorMsg += '\nФайл "' file.name '" превышает допустимый размер ' swfuploadify.settings.fileSizeLimit '.';
      break;
      case 
    SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE:
      
    swfuploadify.queue.errorMsg += '\nФайл "' file.name '" пустой.';
      break;
      case 
    SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:
      
    swfuploadify.queue.errorMsg += '\nФайл "' file.name '" имеет не правильное описание. Доступное описание для файлов (' swfuploadify.settings.fileTypeDesc ').';
      break;
      }
      }
      if (
    errorCode != SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED) {
      
    delete swfuploadify.queue.files[file.id];
      }
      if (
    swfuploadify.settings.onSelectErrorswfuploadify.settings.onSelectError(fileerrorCodeerrorMsg);
      }

      function 
    onQueueComplete() {
      var 
    stats swfuploadify.getStats();
      if (
    swfuploadify.settings.onQueueCompleteswfuploadify.settings.onQueueComplete(stats);
      }

      function 
    onUploadComplete(file) {
      var 
    stats swfuploadify.getStats();
      
    swfuploadify.queue.queueLength stats.files_queued;
      if (
    swfuploadify.queue.uploadQueue[0] == '*') {
      if (
    swfuploadify.queue.queueLength 0) {
      
    swfuploadify.startUpload();
      } else {
      
    swfuploadify.queue.uploadQueue = [];
      if (
    swfuploadify.settings.onQueueCompleteswfuploadify.settings.onQueueComplete(stats);
      }
      } else {
      if (
    swfuploadify.queue.uploadQueue.length 0) {
      
    swfuploadify.startUpload(swfuploadify.queue.uploadQueue.shift());
      } else {
      
    swfuploadify.queue.uploadQueue = [];
      if (
    swfuploadify.settings.onQueueCompletesetting.onQueueComplete(stats);
      }
      }
      if (
    jQuery.inArray('onUploadComplete'swfuploadify.settings.skipDefault) < 0) {
      if (
    swfuploadify.settings.removeCompleted) {
      switch (
    file.filestatus) {
      case 
    SWFUpload.FILE_STATUS.COMPLETE:
      
    setTimeout(function () {
      if (
    jQuery('#' file.id)) {
      
    swfuploadify.queue.queueSize -= file.size;
      
    delete swfuploadify.queue.files[file.id]
      
    jQuery('#' file.id).fadeOut(500, function () {
      
    jQuery(this).remove();
      });
      }
      }, 
    swfuploadify.settings.removeTimeout 1000);
      break;
      case 
    SWFUpload.FILE_STATUS.ERROR:
      if (!
    swfuploadify.settings.requeueErrors) {
      
    setTimeout(function () {
      if (
    jQuery('#' file.id)) {
      
    swfuploadify.queue.queueSize -= file.size;
      
    delete swfuploadify.queue.files[file.id];
      
    jQuery('#' file.id).fadeOut(500, function () {
      
    jQuery(this).remove();
      });
      }
      }, 
    swfuploadify.settings.removeTimeout 1000);
      }
      break;
      }
      }
      }
      if (
    swfuploadify.settings.onUploadCompleteswfuploadify.settings.onUploadComplete(fileswfuploadify.queue);
      }

      function 
    onUploadError(fileerrorCodeerrorMsg) {
      var 
    errorString 'Error';
      if (
    errorCode != SWFUpload.UPLOAD_ERROR.FILE_CANCELLED && errorCode != SWFUpload.UPLOAD_ERROR.UPLOAD_STOPPED) {
      
    jQuery('#' file.id).addClass('uploadifyError');
      }
      
    jQuery('#' file.id).find('.uploadifyProgressBar').css('width''1px');
      switch (
    errorCode) {
      case 
    SWFUpload.UPLOAD_ERROR.HTTP_ERROR:
      
    errorString 'HTTP Error (' errorMsg ')';
      break;
      case 
    SWFUpload.UPLOAD_ERROR.MISSING_UPLOAD_URL:
      
    errorString 'Missing Upload URL';
      break;
      case 
    SWFUpload.UPLOAD_ERROR.IO_ERROR:
      
    errorString 'IO Error';
      break;
      case 
    SWFUpload.UPLOAD_ERROR.SECURITY_ERROR:
      
    errorString 'Security Error';
      break;
      case 
    SWFUpload.UPLOAD_ERROR.UPLOAD_LIMIT_EXCEEDED:
      
    alert('The upload limit has been reached (' errorMsg ').');
      
    errorString 'Exceeds Upload Limit';
      break;
      case 
    SWFUpload.UPLOAD_ERROR.UPLOAD_FAILED:
      
    errorString 'Failed';
      break;
      case 
    SWFUpload.UPLOAD_ERROR.SPECIFIED_FILE_ID_NOT_FOUND:
      break;
      case 
    SWFUpload.UPLOAD_ERROR.FILE_VALIDATION_FAILED:
      
    errorString 'Validation Error';
      break;
      case 
    SWFUpload.UPLOAD_ERROR.FILE_CANCELLED:
      
    errorString 'Cancelled';
      
    swfuploadify.queue.queueSize -= file.size;
      if (
    file.status == SWFUpload.FILE_STATUS.IN_PROGRESS || jQuery.inArray(file.idswfuploadify.queue.uploadQueue) >= 0) {
      
    swfuploadify.queue.uploadSize -= file.size;
      }
      
    delete swfuploadify.queue.files[file.id];
      break;
      case 
    SWFUpload.UPLOAD_ERROR.UPLOAD_STOPPED:
      
    errorString 'Stopped';
      break;
      }
      if (
    errorCode != SWFUpload.UPLOAD_ERROR.SPECIFIED_FILE_ID_NOT_FOUND && file.status != SWFUpload.FILE_STATUS.COMPLETE) {
      
    jQuery('#' file.id).find('.data').html(' - ' errorString);
      }
      if (
    swfuploadify.settings.onUploadErrorswfuploadify.settings.onUploadError(fileerrorCodeerrorMsgerrorStringswfuploadify.queue);
      }

      function 
    onUploadProgress(filefileBytesLoadedfileTotalBytes) {
      var 
    timer = new Date();
      var 
    newTime timer.getTime();
      var 
    lapsedTime newTime swfuploadify.timer;
      
    swfuploadify.timer newTime;
      var 
    lapsedBytes fileBytesLoaded swfuploadify.bytesLoaded;
      
    swfuploadify.bytesLoaded fileBytesLoaded;
      var 
    queueBytesLoaded swfuploadify.queue.queueBytesUploaded fileBytesLoaded;
      var 
    percentage Math.round(fileBytesLoaded fileTotalBytes 100);
      var 
    mbs 0;
      var 
    kbs = (lapsedBytes 1024) / (lapsedTime 1000);
      
    kbs Math.floor(kbs 10) / 10;
      if (
    swfuploadify.queue.averageSpeed 0) {
      
    swfuploadify.queue.averageSpeed = (swfuploadify.queue.averageSpeed kbs) / 2;
      } else {
      
    swfuploadify.queue.averageSpeed kbs;
      }
      if (
    kbs 1000) {
      
    mbs = (kbs .001);
      
    swfuploadify.queue.averageSpeed mbs;
      }
      var 
    suffix 'KB/s';
      if (
    mbs 0) {
      
    suffix 'MB/s';
      }
      if (
    jQuery.inArray('onUploadProgress'swfuploadify.settings.skipDefault) < 0) {
      if (
    swfuploadify.settings.progressData == 'percentage') {
      
    jQuery('#' file.id).find('.data').html(' - ' percentage '%');
      } else if (
    swfuploadify.settings.progressData == 'speed') {
      
    jQuery('#' file.id).find('.data').html(' - ' percentage suffix);
      }
      
    jQuery('#' file.id).find('.uploadifyProgressBar').css('width'percentage '%');
      }
      if (
    swfuploadify.settings.onUploadProgressswfuploadify.settings.onUploadProgress(filefileBytesLoadedfileTotalBytesqueueBytesLoadedswfuploadify.queue.uploadSize);
      }

      function 
    onUploadStart(file) {
      var 
    timer = new Date();
      
    swfuploadify.timer timer.getTime();
      
    swfuploadify.bytesLoaded 0;
      if (
    swfuploadify.queue.uploadQueue.length == 0) {
      
    swfuploadify.queue.uploadSize file.size;
      }
      if (
    swfuploadify.settings.checkExisting !== false) {
      
    jQuery.ajax({
      
    type'POST',
      
    asyncfalse,
      
    urlswfuploadify.settings.checkExisting,
      
    data: {
      
    filenamefile.name
      
    },
      
    success: function (data) {
      if (
    data == 1) {
      var 
    overwrite confirm('Файл с именем "' file.name '" уже загружен на сервер.\nХотите заменить уже существующий файл?');
      if (!
    overwrite) {
      
    swfuploadify.cancelUpload(file.id);
      
    jQuery('#' file.id).remove();
      if (
    swfuploadify.queue.uploadQueue.length && swfuploadify.queue.queueLength 0) {
      if (
    swfuploadify.queue.uploadQueue[0] == '*') {
      
    swfuploadify.startUpload();
      } else {
      
    swfuploadify.startUpload(swfuploadify.queue.uploadQueue.shift());
      }
      }
      }
      }
      }
      });
      }
      if (
    swfuploadify.settings.onUploadStartswfuploadify.settings.onUploadStart(file);
      }

      function 
    onUploadSuccess(filedataresponse) {
      
    swfuploadify.queue.queueBytesUploaded += file.size;
      if (
    swfuploadify.settings.onUploadSuccessswfuploadify.settings.onUploadSuccess(filedataresponse);
      }
      });
      },
      
    uploadifyCancel: function (fileID) {
      var 
    id jQuery(this).selector.replace('#''');
      var 
    swfuploadify window['uploadify_' id];
      var 
    delay = -1;
      if (
    arguments[0]) {
      if (
    arguments[0] == '*') {
      
    jQuery('#' swfuploadify.settings.queueID).find('.uploadifyQueueItem').each(function () {
      
    delay++;
      
    swfuploadify.cancelUpload(jQuery(this).attr('id'));
      
    jQuery(this).delay(100 delay).fadeOut(500, function () {
      
    jQuery(this).remove();
      });
      });
      
    swfuploadify.queue.queueSize 0;
      } else {
      for (var 
    0arguments.lengthn++) {
      
    swfuploadify.cancelUpload(arguments[n]);
      
    jQuery('#' arguments[n]).delay(100 n).fadeOut(500, function () {
      
    jQuery(this).remove();
      });
      }
      }
      } else {
      
    jQuery('#' swfuploadify.settings.queueID).find('.uploadifyQueueItem').get(0).fadeOut(500, function () {
      
    jQuery(this).remove();
      
    swfuploadify.cancelUpload(jQuery(this).attr('id'));
      });
      }
      var 
    stats swfuploadify.getStats();
      if (
    stats.files_queued == 0) {
      $(
    '#file_upload_startUpload').fadeOut('slow');
      }
      },
      
    uploadifyDestroy: function () {
      var 
    id jQuery(this).selector.replace('#''');
      var 
    swfuploadify window['uploadify_' id];
      
    swfuploadify.destroy();
      
    jQuery('#' id '_queue').remove();
      
    jQuery('#' id).replaceWith(swfuploadify.original);
      
    delete window['uploadify_' id];
      },
      
    uploadifyDisable: function (isDisabled) {
      var 
    id jQuery(this).selector.replace('#''');
      var 
    swfuploadify window['uploadify_' id];
      
    swfuploadify.setButtonDisabled(isDisabled);
      },
      
    uploadifySettings: function (namevalueresetObjects) {
      var 
    id jQuery(this).selector.replace('#''');
      var 
    swfuploadify window['uploadify_' id];
      if (
    typeof (arguments[0]) == 'object') {
      for (var 
    n in value) {
      
    setData(nvalue[n]);
      }
      }
      if (
    arguments.length == 1) {
      return 
    swfuploadify.settings[name];
      } else {
      
    setData(namevalueresetObjects);
      }

      function 
    setData(settingNamesettingValueresetObjects) {
      switch (
    settingName) {
      case 
    'uploader':
      
    swfuploadify.setUploadURL(settingValue);
      break;
      case 
    'postData':
      if (!
    resetObjects) {
      
    value jQuery.extend(swfuploadify.settings.postDatasettingValue);
      }
      
    swfuploadify.setPostParams(settingValue);
      break;
      case 
    'method':
      if (
    settingValue == 'get') {
      
    swfuploadify.setUseQueryString(true);
      } else {
      
    swfuploadify.setUseQueryString(false);
      }
      break;
      case 
    'fileObjName':
      
    swfuploadify.setFilePostName(settingValue);
      break;
      case 
    'fileTypeExts':
      
    swfuploadify.setFileTypes(settingValueswfuploadify.settings.fileTypeDesc);
      break;
      case 
    'fileTypeDesc':
      
    swfuploadify.setFileTypes(swfuploadify.settings.fileTypeExtssettingValue);
      break;
      case 
    'fileSizeLimit':
      
    swfuploadify.setFileSizeLimit(settingValue);
      break;
      case 
    'uploadLimit':
      
    swfuploadify.setFileUploadLimit(settingValue);
      break;
      case 
    'queueSizeLimit':
      
    swfuploadify.setFileQueueLimit(settingValue);
      break;
      case 
    'buttonImage':
      
    jQuery('#' swfuploadify.settings.id '_button').remove();
      
    swfuploadify.setButtonImageURL(settingValue);
      break;
      case 
    'buttonCursor':
      if (
    settingValue == 'arrow') {
      
    swfuploadify.setButtonCursor(SWFUpload.CURSOR.ARROW);
      } else {
      
    swfuploadify.setButtonCursor(SWFUpload.CURSOR.HAND);
      }
      break;
      case 
    'buttonText':
      
    jQuery('#' swfuploadify.settings.id '_button').find('.uploadifyButtonText').html(settingValue);
      break;
      case 
    'width':
      
    swfuploadify.setButtonDimensions(settingValueswfuploadify.settings.height);
      break;
      case 
    'height':
      
    swfuploadify.setButtonDimensions(swfuploadify.settings.widthsettingValue);
      break;
      case 
    'multi':
      if (
    settingValue) {
      
    swfuploadify.setButtonAction(SWFUpload.BUTTON_ACTION.SELECT_FILES);
      } else {
      
    swfuploadify.setButtonAction(SWFUpload.BUTTON_ACTION.SELECT_FILE);
      }
      break;
      }
      
    swfuploadify.settings[settingName] = value;
      }
      },
      
    SetSuccessfulUploads: function (val) {
      var 
    id jQuery(this).selector.replace('#''');
      var 
    swfuploadify window['uploadify_' id];
      var 
    stats swfuploadify.getStats();
      
    stats.successful_uploads val;
      
    swfuploadify.setStats(stats);
      },
      
    SetErrorUploads: function () {
      var 
    id jQuery(this).selector.replace('#''');
      var 
    swfuploadify window['uploadify_' id];
      var 
    stats swfuploadify.getStats();
      
    stats.successful_uploads--;
      
    swfuploadify.setStats(stats);
      },
      
    uploadifyAddPostParam: function (namevalue) {
      var 
    id jQuery(this).selector.replace('#''');
      var 
    swfuploadify window['uploadify_' id];
      
    swfuploadify.addPostParam(namevalue);
      },
      
    uploadifyStop: function () {
      var 
    id jQuery(this).selector.replace('#''');
      var 
    swfuploadify window['uploadify_' id];
      
    swfuploadify.stopUpload();
      },
      
    uploadifyUpload: function () {
      var 
    id jQuery(this).selector.replace('#''');
      var 
    swfuploadify window['uploadify_' id];
      
    swfuploadify.queue.averageSpeed 0;
      
    swfuploadify.queue.uploadSize 0;
      
    swfuploadify.queue.bytesUploaded 0;
      
    swfuploadify.queue.uploadQueue = [];
      if (
    arguments[0]) {
      if (
    arguments[0] == '*') {
      
    swfuploadify.queue.uploadSize swfuploadify.queue.queueSize;
      
    swfuploadify.queue.uploadQueue.push('*');
      
    swfuploadify.startUpload();
      } else {
      for (var 
    0arguments.lengthn++) {
      
    swfuploadify.queue.uploadSize += swfuploadify.queue.files[arguments[n]].size;
      
    swfuploadify.queue.uploadQueue.push(arguments[n]);
      }
      
    swfuploadify.startUpload(swfuploadify.queue.uploadQueue.shift());
      }
      } else {
      
    swfuploadify.startUpload();
      }
      }
      })
    })(
    jQuery);

    function 
    insertimage(selectedImage) {
      
    imageAlign = $('#imageAlign').val();
      if (
    imageAlign == 'center') {
      
    finalImage "[center][img]" selectedImage "[/img][/center]";
      } else {
      
    finalImage "[img=" imageAlign "]" selectedImage "[/img]";
      }
      
    tinyMCE.execCommand('mceInsertContent'falsefinalImage);
    }

    function 
    insertthumb(selectedImage) {
      
    imageAlign = $('#imageAlign').val();
      if (
    imageAlign == 'center') {
      
    finalImage "[center][thumb]" selectedImage "[/thumb][/center]";
      } else {
      
    finalImage "[thumb=" imageAlign "]" selectedImage "[/thumb]";
      }
      
    tinyMCE.execCommand('mceInsertContent'falsefinalImage);
    }

    function 
    insertfile(selectedFile) {
      
    tinyMCE.execCommand('mceInsertContent'falseselectedFile);
    }

    function 
    ckeck_uncheck_all(block_idcheck_butt) {
      if ($(
    '#' block_id ' input[name=' check_butt ']').is(':checked')) {
      $(
    '#' block_id ' .files_content').find('input:checkbox').attr("checked""checked");
      } else {
      $(
    '#' block_id ' .files_content').find('input:checkbox').attr("checked""");
      }
    }

    function 
    tag_disable() {
      if ($(
    '#make_thumb').attr('checked')) {
      $(
    '#img_settings').show();
      } else {
      $(
    '#img_settings').hide();
      }
    }

    function 
    file_uploader(modareapost_id) {
      $(
    "#file_uploder").remove();
      
    ShowLoading('');
      $.
    post('/engine/modules/faq/admin/ajax/files.uploader.php', {
      
    modmod,
      
    areaarea,
      
    post_idpost_id
      
    }, function (data) {
      
    HideLoading('');
      $(
    "body").append(data);
      $(
    '#file_uploder').dialog({
      
    autoOpentrue,
      
    show'fade',
      
    hide'fade',
      
    width650
      
    });
      });
      return 
    false;
    };

    function 
    file_descr(ID) {
      if ($(
    '#' ID '_descr_content').is(':visible')) {
      $(
    '#' ID '_descr_content').hide('slow');
      $(
    '#' ID '_descr_link').html(uploadify_show);
      } else {
      $(
    '#' ID '_descr_content').show('slow');
      $(
    '#' ID '_descr_link').html(uploadify_hide);
      }
    }

    function 
    UploadifyDisable(IDval) {
      $(
    '#' ID).uploadifyDisable(val);
    }

    function 
    UploadifyQFLimit(IDval) {
      $(
    '#' ID).uploadifySettings('uploadLimit'val);
      $(
    '#' ID).uploadifySettings('queueSizeLimit'val);
    }

    function 
    UploadifyStartUpload(ID) {
      $(
    '#' ID).uploadifyUpload('*');
    }

    function 
    uploadifyAllCancel(ID) {
      $(
    '#' ID).uploadifyCancel('*');
    }

    function 
    file_delete(modareapost_idtype) {
      
    ShowLoading('');
      var 
    0;
      $(
    '#' type '_all_check').attr('checked''');
      $(
    '#' type '-delete').attr('disabled''disabled');
      var 
    arr_checkbox = new Array();
      $(
    '.' type '-checkbox:checked').each(function () {
      
    arr_checkbox[i] = $(this).val();
      
    i++;
      });
      if (
    != 0) {
      $.
    post('/engine/modules/faq/admin/ajax/files.uploader.php', {
      
    modmod,
      
    areaarea,
      
    post_idpost_id,
      
    file_delete1,
      
    typetype,
      
    arr_checkboxarr_checkbox
      
    }, function (data) {
      
    HideLoading('');
      if (
    data.substring(06) == 'ERROR:') {
      $(
    '#file_upload').SetErrorUploads();
      
    jQuery('#' file.id).find('.data').html(' - ' uploadify_msg_error);
      
    jQuery('#' file.id).append(data);
      
    jQuery('#' file.id).addClass('uploadifyError');
      $(
    '#' type '-delete').removeAttr('disabled');
      } else {
      var 
    data data.split("|");
      var 
    0;
      $.
    each(data, function (indexpost_id) {
      $(
    '#' post_id).slideUp(1000);
      $(
    '#' post_id).remove();
      
    i++;
      });
      var 
    file_uploaded = $("#divStatus").html();
      var 
    file_uploaded parseInt(file_uploaded) - i;
      $(
    "#divStatus").html(file_uploaded);
      $(
    '#file_upload').SetSuccessfulUploads(file_uploaded);
      $(
    '#' type '-delete').removeAttr('disabled');
      $(
    '#uploadifyButtons').css({
      
    visibility"visible"
      
    });
      }
      });
      } else {
      
    HideLoading('');
      $(
    '#' type '-delete').removeAttr('disabled');
      
    alert(uploadify_error_delete);
      }
    }

    function 
    one_file_delete(modareapost_idtypefile_id) {
      
    ShowLoading('');
      var 
    file_value = $("#uploadify_filevalue_" file_id).val();
      var 
    arr_checkbox = new Array();
      
    arr_checkbox[0] = file_value;
      if (
    arr_checkbox[0]) {
      $.
    post('/engine/modules/faq/admin/ajax/files.uploader.php', {
      
    file_idfile_id,
      
    modmod,
      
    areaarea,
      
    post_idpost_id,
      
    file_delete1,
      
    typetype,
      
    arr_checkboxarr_checkbox
      
    }, function (data) {
      
    HideLoading('');
      $(
    '#uploadify_filevalue_' file_id).val('');
      if (
    data.substring(06) == 'ERROR:') {
      $(
    '#' file_id).SetErrorUploads();
      $(
    '#uploadify_queueID_' file_id).find('.data').html(' - ' uploadify_msg_error).find('.uploadifyQueueItem').addClass('uploadifyError').append(data);
      } else {
      $(
    '#uploadify_queueID_' file_id).find('.uploadifyQueueItem').remove();
      if ($(
    '#uploadify_block_' file_id).is(':hidden')) {
      $(
    '#uploadify_load_id_' file_id).show();
      } else {
      $(
    '#uploadify_load_id_' file_id).show();
      $(
    '#' file_id '_button').css({
      
    visibility"visible"
      
    });
      $(
    '#' file_id).uploadifyDisable(0);
      $(
    '#' file_id).SetSuccessfulUploads(0);
      }
      if ($(
    '#file_upload').is(':visible')) {
      $(
    '#' data).slideUp(1000).remove();
      var 
    file_uploaded parseInt($("#divStatus").html()) - 1;
      $(
    "#divStatus").html(file_uploaded);
      $(
    '#file_upload').SetSuccessfulUploads(file_uploaded);
      $(
    '#uploadifyButtons').css({
      
    visibility"visible"
      
    });
      }
      }
      });
      }
    };

    суть проблемы в том что не грузит на фтп в директорию ни файлы,ни картинки,второй файл инициализатор загрузки:
    PHP:
    <?php
    /*
    =====================================================
    Module FAQ for DataLife Engine
    -----------------------------------------------------
    author: RinX
    email:  rinx@inbox.ru
    icq:    195444502
    -----------------------------------------------------
    Copyright (c) 2011
    =====================================================
    Данный код защищен авторскими правами
    =====================================================
    Файл: /engine/ucatalog/classes/files.uploader.php
    -----------------------------------------------------
    Назначение: Загрузчик файлов на сервер.
    =====================================================
    */
    if(!defined'DATALIFEENGINE')){die("Hacking attempt!");}

    include_once 
    ENGINE_DIR.'/classes/thumb.class.php';

    class 
    uc_files_uploader extends thumbnail{
       
        var 
    $file_prefix ''// Префикс будет добавлятся вначале имен всех файлов.
       
        
    var $image_ext = array("gif""jpg""png""jpeg");
        var 
    $video_ext = array('avi''mp4''wmv''mpg''flv''mp3''swf''m4v''m4a''mov''3gp''f4v');
        var 
    $allowed_extensions = Array();
        var 
    $files_uploaded 0;
        var 
    $stop = Array();
       
        function 
    uc_files_uploader($MOD_NAME$TABLE_FILES$config$lang){
            global 
    $db$member_id$PHP_SELF;
           
            
    $this->session_id session_id();
            
    $this->db $db;
            
    $this->author $member_id['name'];
            
    $this->MOD_NAME $MOD_NAME;
            
    $this->TABLE_FILES $TABLE_FILES;
            
    $this->config $config;
            
    $this->lang $lang;
            if(
    $_REQUEST['area']){
                
    $this->area totranslit(stripslashes(trim($_REQUEST['area'])));
                if(!
    in_Array($this->area, Array('category','questions'))){die('no area');}
            }
            
    $this->post_id intval($_REQUEST['post_id']);
           
            
    $this->WEB_ADMIN_DIR WEB_ADMIN_DIR;
            
    $this->WEB_CLASS_DIR WEB_CLASS_DIR;
           
           
            
    $this->PHP_SELF $PHP_SELF;
            
    $files_ext explode(','$this->config['files_type']);
            
    $this->files_ext $files_ext;
           
            
    $this->img_dir_http str_replace(ROOT_DIR substr($this->config['http_home_url'], 0strlen($this->config['http_home_url']) - 1), UPLOAD_DIR_IMAGE);
            
    $this->file_dir_http str_replace(ROOT_DIR substr($this->config['http_home_url'], 0strlen($this->config['http_home_url']) - 1), UPLOAD_DIR_FILES);
     
           
            if(
    $this->config['images_allow_cfg'] AND $_POST['file_upload']){
                
    $this->config['allow_watermark'] = ($_POST['allow_watermark']) ? 0;
                
    $this->config['make_thumb'] = ($_POST['make_thumb']) ? 0;
                
    $max_image explode ("x"$_POST['max_image']);
                
    $this->config['max_image'] = (count($max_image) == 2) ? intval($max_image[0])."x".intval($max_image[1]) : intval($max_image[0]);
                
    $this->config['t_seite'] = ($_POST['t_seite']) ? intval($_POST['t_seite']) : 0;
            }
           
           
            
    $this->max_file_size str_replace( array ('M''m' ), '', @ini_get'upload_max_filesize' ) );
            
    $this->max_file_size formatsize$this->max_file_size 1024 1024 );
           
            
    $this->seite_selected[$this->config['t_seite']] = 'selected="selected"';
            
    $this->image_align[$this->config['image_align']] = 'selected="selected"';
        }
       
       
        function 
    file_delete(){
            
    $this->stop 'ERROR:';

            if(
    in_Array($_POST['type'], Array('image','video','files'))){
                
    $this->type $_POST['type'];

                
    $this->db->query"SELECT id, file_name, file_path, images, type FROM " $this->TABLE_FILES " WHERE type='".$this->type."' AND area='".$this->area."' AND author = '".$this->author."' AND post_id = '".$this->post_id."';");
               
                while(
    $row $this->db->get_row()) {
                    if(
    $this->type == 'image'){
                        
    $post_images explode"|||"$row['images'] );
                        
    sort($post_images); reset($post_images);
                        
    $i 0;
                        foreach (
    $post_images as $image ) {
                            if(
    in_Array($image$_POST['arr_checkbox'])) {
                                
    $url_image explode"/"$image );
                                if( 
    count$url_image ) == ) {
                                    
    $this->FOLDER_PREFIX $url_image[0];
                                    
    $this->new_file_name $url_image[1];
                                } else {
                                    
    $this->FOLDER_PREFIX "";
                                    
    $this->new_file_name $url_image[0];
                                }
                                
    $this->img_dir_uppload UPLOAD_DIR_IMAGE.$this->FOLDER_PREFIX."/";
                                unset( 
    $post_images[$i] );
                                
    $this->hide_id[] = 'F-'.md5($image);
                                @
    unlink($this->img_dir_uppload.$this->new_file_name);
                                @
    unlink($this->img_dir_uppload."thumbs/".$this->new_file_name);
                            }
                            
    $i++;
                        }
           
                    }else{

                        if(
    in_Array($row['file_path'], $_POST['arr_checkbox'])){
                            
    $url_file explode"/"$row['file_path'] );
                            if(
    count$url_file ) == ){
                                
    $this->FOLDER_PREFIX $url_file[0];
                                
    $this->new_file_name $url_file[1];
                            } else{
                                
    $this->FOLDER_PREFIX "";
                                
    $this->new_file_name $url_file[0];
                            }
                            
    $this->file_name $row['file_name'];
                            
    $this->file_id[] = $row['id'];
                            
    $this->hide_id[] = 'F-'.md5($row['file_path']);
                            
    $this->file_dir_uppload UPLOAD_DIR_FILES.$this->FOLDER_PREFIX.'/';
                            @
    unlink($this->file_dir_uppload.$this->new_file_name);
                        }
                    }
                }
               
                
    $field_name strtolower(totranslit($_POST['field_name']));
                if(
    $field_name != ""){
                    unset(
    $_SESSION['onefileupload'][$this->post_id][$field_name]);
                }
               
                if(
    $this->type == 'image'){
                    if(
    count($post_images)){
                        
    $this->db->query"UPDATE " $this->TABLE_FILES " SET type='".$this->type."', images='".implode"|||"$post_images )."' WHERE area='".$this->area."' AND type='".$this->type."' AND author = '".$this->author."' AND post_id = '".$this->post_id."';");
                    }else{
                        
    $this->db->query"DELETE FROM " $this->TABLE_FILES " WHERE area='".$this->area."' AND type='".$this->type."' AND author = '".$this->author."' AND post_id = '".$this->post_id."';");
                    }
                }else{
                    
    $this->file_id = (is_Array($this->file_id)) ? (count($this->file_id)==1) ? '='.$this->file_id[0] : "IN (".implode(','$this->file_id).")" '='.$this->file_id;
                    if(
    $this->file_id != ""){
                        
    $this->db->query ("DELETE FROM " $this->TABLE_FILES " WHERE id ".$this->file_id);
                    }
                }
               
                
    $body implode('|'$this->hide_id);
            }else{
                
    $this->stop .= "File type error \r\n";
            }
           
            if(
    $this->stop != 'ERROR:'){
                echo 
    $this->stop;
            }else{
                echo 
    $body;
            }
            exit();
        }
       
       
        function 
    echo_multi_files_uploader(){
            
    $files_content $this->show_multi_files_upload();
            
    $body .= $this->show_multi_JS();
            
    $body .= $this->show_multi_form();
            
    $body .= $files_content;
            
    $body '<div id="file_uploder" title="'.$this->lang['fileuploader'].'" style="display:none">'.$body.'</div>';
            echo 
    $body;
        }
       
       
        function 
    file_upload(){
            
    $this->db->query"INSERT INTO " $this->TABLE_FILES " (area, type, author, post_id, date, file_path) values ('".$this->area."', '".$this->type."', '".$this->author."', '".$this->post_id."', '".$this->added_time."', '".$this->FOLDER_PREFIX."/".$this->new_file_name."')" );
            
    $this->file_id $this->db->insert_id();
       
            @
    move_uploaded_file($this->file_tmp$this->file_dir_uppload.$this->new_file_name) or die($this->lang['fileuploader_msg_error_3']);
            if(@
    file_exists($this->file_dir_uppload.$this->new_file_name)){
                @
    chmod($this->file_dir_uppload.$this->new_file_name0666 );
                
    $field_name strtolower(totranslit($_POST['field_name']));
                if(
    $field_name != ""){
                    
    $_SESSION['onefileupload'][$this->post_id][$field_name] = $this->FOLDER_PREFIX."/".$this->new_file_name;
                }
               
            }else{ die(
    $this->lang['fileuploader_msg_error_3']); }
        }

       
        function 
    image_upload(){

            
    $post_images = ($this->images_uploaded == '') ? array () : explode"|||"$this->images_uploaded);
            
    $post_images[] = $this->FOLDER_PREFIX."/".$this->new_file_name;
            if(
    $this->images_uploaded != ''){
                
    $this->db->query"UPDATE " $this->TABLE_FILES " SET type='".$this->type."', images='".implode"|||"$post_images )."' WHERE area='".$this->area."' AND type='".$this->type."' AND author = '".$this->author."' AND post_id = '".$this->post_id."';");
            }else{
                
    $this->db->query"INSERT INTO " $this->TABLE_FILES " (area, type, images, author, post_id, date) values ('".$this->area."', '".$this->type."', '".implode"|||"$post_images )."', '".$this->author."', '".$this->post_id."', '".$this->added_time."');" );
            }
            @
    move_uploaded_file($this->file_tmp$this->img_dir_uppload.$this->new_file_name) or die($this->lang['fileuploader_msg_error_3']);
            if(@
    file_exists($this->img_dir_uppload.$this->new_file_name)){
                @
    chmod($this->img_dir_uppload.$this->new_file_name0666 );
                
    $field_name strtolower(totranslit($_POST['field_name']));
                if(
    $field_name != ""){
                    
    $_SESSION['onefileupload'][$this->post_id][$field_name] = $this->FOLDER_PREFIX."/".$this->new_file_name;
                }
            }else{ die(
    $this->lang['fileuploader_msg_error_3']); }

            
    $t_seite = ($this->config['t_seite']) ? $this->config['t_seite'] : 0;
           
            if(
    $this->config['make_thumb']){
                
    $max_image = ($this->config['max_image'] != 0) ? $this->config['max_image'] : 0;
                
    $this->thumbnail($this->img_dir_uppload.$this->new_file_name);
                
    $this->jpeg_quality($this->config['jpeg_quality'] );
                if ( 
    $this->size_auto($max_image$t_seite) ) {
                    
    $this->save($this->img_dir_uppload."thumbs/".$this->new_file_name );
                    if ( @
    file_exists($this->img_dir_uppload."thumbs/".$this->new_file_name ) ){
                        @
    chmod($this->img_dir_uppload."thumbs/".$this->new_file_name0666 );
                    }
                }
            }

            
    $this->thumbnail($this->img_dir_uppload.$this->new_file_name);
            
    $this->jpeg_quality($this->config['jpeg_quality'] );
            if(
    $this->config['allow_watermark']){
                
    $this->insert_watermark($this->config['max_watermark']);
            }
            if(
    $this->config['max_up_side'] != 0){
                
    $this->size_auto($this->config['max_up_side']);
            }
           
            
    $this->save($this->img_dir_uppload.$this->new_file_name );
            if (@
    file_exists($this->img_dir_uppload.$this->new_file_name ) ){
                @
    chmod($this->img_dir_uppload.$this->new_file_name0666 );
            }
           
       
        }
       
       
        function 
    run_upload(){
            
    $POST_MAX_SIZE ini_get('post_max_size');
            
    $unit strtoupper(substr($POST_MAX_SIZE, -1));
            
    $multiplier = ($unit == 'M' 1048576 : ($unit == 'K' 1024 : ($unit == 'G' 1073741824 1)));
            if ((int)
    $_SERVER['CONTENT_LENGTH'] > $multiplier*(int)$POST_MAX_SIZE && $POST_MAX_SIZE) {
                
    header("HTTP/1.1 500 Internal Server Error");
                exit(
    0);
            }
           
            
    $this->file_name  totranslit(convert_unicode($_FILES['Filedata']['name'], $this->config['charset']));
            
    $this->file_tmp  $_FILES['Filedata']['tmp_name'];
            
    $this->file_size  $_FILES['Filedata']['size'];
            
    $this->file_error $_FILES['Filedata']['error'];
            
    $this->file_type  strtolower(totranslit(end(explode"."$this->file_name))));

            
    $this->added_time time() + ($this->config['date_adjust'] * 60);
            
    $this->added_time date ("Y-m-d H:i:s"$this->added_time);
           
            if(
    in_Array($this->file_type$this->image_ext)){
                
    $this->type 'image';
                
    $this->check_file_error($this->image_ext);
                
    $this->create_image_dir();
               
                if(
    count($this->stop) == 0){
                    
    $this->image_upload();
                }
               
            }elseif(
    in_Array($this->file_type$this->video_ext)){
                
    $this->type 'video';
                
    $this->check_file_error($this->video_ext);
                
    $this->create_file_dir();
               
                if(
    count($this->stop) == 0){
                    
    $this->file_upload();
                   
                }
            }elseif(
    in_Array($this->file_type$this->files_ext)){
                
    $this->type 'files';
                
    $this->check_file_error($this->files_ext);
                
    $this->create_file_dir();
               
                if(
    count($this->stop) == 0){
                    
    $this->file_upload();
                }
            }else{
                
    $this->stop[] = $this->lang['fileuploader_msg_error_1'];
            }
        }
       
       
        function 
    upload(){
            
    $this->run_upload();
            if(
    count($this->stop) > 0){
                
    $stop iconv($this->config['charset'], "UTF-8"implode("<br />"$this->stop));
                echo 
    '<div class="msgError">'.$stop.'</div>';
                exit(
    0);
            }else{
                echo 
    iconv($this->config['charset'], "UTF-8"$this->get_file_html(11));
                exit();
            }
        }
       
       
        function 
    get_file_html($use_type=false$display_none false){
           
            if(
    $this->type == 'image'){
                
    $img_info = @getimagesize($this->img_dir_uppload.$this->new_file_name);
                
    $info_file $img_info[0].'x'.$img_info[1];
                   
                if(
    file_exists($this->img_dir_uppload.'thumbs/'.$this->new_file_name)){
                    
    $thumb_img_info = @getimagesize($this->img_dir_uppload.'thumbs/'.$this->new_file_name);
                    
    $thumb_img_info $thumb_img_info[0] + 50;
                    
    $insert_file '<a class=maintitle href="javascript:insertthumb(\''.$this->img_dir_uppload_http.$this->new_file_name'\')">'.$this->new_file_name.'</a>';
                }else{
                    
    $insert_file '<a class=maintitle href="javascript:insertimage(\''.$this->img_dir_uppload_http.$this->new_file_name.'\')">'.$this->new_file_name.'</a>';
                }
                   
                
    $original_link '[ <a class=maintitle href="javascript:insertimage(\''.$this->img_dir_uppload_http.$this->new_file_name .'\')">'.$this->lang['fileuploader_original'].'</a> ] ';
                
    $show_file $original_link.'[ <a class="maintitle" href="javascript:ShowBild(\''.$this->img_dir_uppload_http.$this->new_file_name.'\')">'.$this->lang['fileuploader_view'].'</a> ]';
            }else if(
    $this->type == 'video'){
                
    $info_file formatsize( @filesize($this->file_dir_uppload.$this->new_file_name));
                if(
    $this->file_type == 'mp3' ) {
                    
    $insert_file '<a class="maintitle" href="javascript:insertfile(\'[audio='.$this->file_dir_uppload_http.$this->new_file_name.']\')">'.$this->new_file_name.'</a>';
                } elseif (
    $this->file_type == 'swf') {
                    
    $insert_file '<a class="maintitle" href="javascript:insertfile(\'[flash=425,264]'.$this->file_dir_uppload_http.$this->new_file_name.'[/flash]\')">'.$this->new_file_name.'</a>';
                } else {
                    
    $insert_file '<a class="maintitle" href="javascript:insertfile(\'[video='.$this->file_dir_uppload_http.$this->new_file_name.']\')">'.$this->new_file_name.'</a>';
                }
               
                
    $show_file '<a class="maintitle" href="javascript:insertfile(\'[attachment='.$this->file_id.':'.$this->new_file_name.']\')">'.$this->lang['fileuploader_insertfile'].'</a>';
            }else if(
    $this->type == 'files'){
                
    $info_file formatsize( @filesize($this->file_dir_uppload.$this->new_file_name));
                
    $insert_file '<a class="maintitle" href="javascript:insertfile(\'[attachment='.$this->file_id.':'.$this->new_file_name.']\')">'.$this->new_file_name.'</a>';
            }
            
    $use_type = ($use_type) ? $this->type.'|'.$this->FOLDER_PREFIX."/".$this->new_file_name.'|' false;
           
           
            
    $display_none = ($display_none) ? ' style="display:none;"' false;

            
    $file_id md5($this->FOLDER_PREFIX."/".$this->new_file_name);
            return 
    $use_type.'
                    <div'
    .$display_none.' id="F-'.$file_id.'" class="files-list">
                        <ul>
                            <li class="first">'
    .$insert_file.'</li>
                            <li><input type="checkbox" class="'
    .$this->type.'-checkbox" name="files['.$this->FOLDER_PREFIX."/".$this->new_file_name.']" value="'.$this->FOLDER_PREFIX."/".$this->new_file_name.'"></li>
                            <li>'
    .$info_file.'</li>
                            <li>'
    .$show_file.'</li>
                        </ul>
                        <div class="hr_mline"></div>
                    </div>'
    ;
        }
       
       
        function 
    check_file_error($allowed_type){
           
       
            
    $this->db->query"SELECT id, images, type FROM " $this->TABLE_FILES " WHERE area='".$this->area."' AND author = '".$this->author."' AND post_id = '".$this->post_id."';");
            while ( 
    $row $this->db->get_row()) {
                if(
    $row['images'] != '' AND $row['type'] == 'image'){
                    
    $this->images_uploaded $row['images'];
                    
    $images_arr explode"|||"$row['images'] );
                    
    $this->files_uploaded $this->files_uploaded count($images_arr);
                }else{
                    
    $this->files_uploaded++;
                }
               
            }
            if(
    $this->files_uploaded >= $this->config['max_upload_limit']){
                
    $this->stop[] = $this->lang['fileuploader_msg_error_2'];
            }
           
            if( 
    strpos ($this->file_type"php" ) !== false ){$this->stop[] = $this->lang['fileuploader_msg_error_1'];}

            if (!
    in_array($this->file_type$allowed_type)) {
                
    $this->stop[] = $this->lang['fileuploader_msg_error_1'];
            } else if (
    $this->file_error 0) {
                switch (
    $this->file_error) {
                    case 
    1$this->file_error 'PHP Error: The uploaded file exceeds the upload_max_filesize directive in php.ini'; break;
                    case 
    2$this->file_error 'PHP Error: The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form'; break;
                    case 
    3$this->file_error 'PHP Error: The uploaded file was only partially uploaded'; break;
                    case 
    4$this->file_error 'PHP Error: No file was uploaded'; break;
                    case 
    5$this->file_error 'PHP Error: Missing a PHP temporary folder'; break;
                    case 
    6$this->file_error 'PHP Error: Failed to write file to disk'; break;
                    case 
    7$this->file_error 'PHP Error: File upload stopped by extension'; break;
                    default: 
    $this->file_error 'Unknown upload error';  break;
                }
                
    $this->stop[] = $this->file_error;
            }
        }
       
       
        function 
    create_image_dir(){
            if (@
    ini_get'safe_mode' ) == 1){
                
    $this->FOLDER_PREFIX;
            }else{
                
    $this->FOLDER_PREFIX date"Y-m" );
            }
           
            
    $this->img_dir_uppload UPLOAD_DIR_IMAGE.$this->FOLDER_PREFIX."/";
            
    $this->img_dir_uppload_http str_replace(ROOT_DIR substr($this->config['http_home_url'], 0strlen($this->config['http_home_url']) - 1), UPLOAD_DIR_IMAGE).$this->FOLDER_PREFIX."/";
           
            if(!
    is_dir(UPLOAD_DIR_IMAGE.$this->FOLDER_PREFIX)) {
                @
    mkdir(UPLOAD_DIR_IMAGE.$this->FOLDER_PREFIX0777 );
                @
    chmod(UPLOAD_DIR_IMAGE.$this->FOLDER_PREFIX0777 );
                @
    mkdir(UPLOAD_DIR_IMAGE.$this->FOLDER_PREFIX."/thumbs"0777 );
                @
    chmod(UPLOAD_DIR_IMAGE.$this->FOLDER_PREFIX."/thumbs"0777 );
                
    $hta_file $this->img_dir_uppload.'index.html';
                @
    fopen($hta_file'w');
                @
    fclose();
                
    $hta_file $this->img_dir_uppload.'thumbs/index.html';
                @
    fopen($hta_file'w');
                @
    fclose();
            }
           
            if(!
    is_dir(UPLOAD_DIR_IMAGE.$this->FOLDER_PREFIX )) {
                
    $this->stop[] = $this->FOLDER_PREFIX.' cannot created.';
            } 
           
           
            
    $file_name_arr explode"."$this->file_name);
            
    $type end($file_name_arr);
            
    $curr_key key($file_name_arr);
            unset(
    $file_name_arr[$curr_key]);
            
    $file_name implode("."$file_name_arr );
            
    $file_suffix '';
            while ( 
    file_exists($this->img_dir_uppload .$this->file_prefix.$file_name.$file_suffix.'.'.$type) ) {
              
    $file_suffix++;
            }
            
    $this->new_file_name $this->file_prefix.$file_name.$file_suffix.'.'.$type;
        }
       
       
        function 
    create_file_dir(){
            if (@
    ini_get'safe_mode' ) == 1){
                
    $this->FOLDER_PREFIX;
            }else{
                
    $this->FOLDER_PREFIX date"Y-m" );
            }
           
            
    $this->file_dir_uppload UPLOAD_DIR_FILES.$this->FOLDER_PREFIX.'/';
            
    $this->file_dir_uppload_http str_replace(ROOT_DIR substr($this->config['http_home_url'], 0strlen($this->config['http_home_url']) - 1), UPLOAD_DIR_FILES).$this->FOLDER_PREFIX."/";
     
            if(!
    is_dir(UPLOAD_DIR_FILES.$this->FOLDER_PREFIX)) {
                @
    mkdir(UPLOAD_DIR_FILES.$this->FOLDER_PREFIX0777 );
                @
    chmod(UPLOAD_DIR_FILES.$this->FOLDER_PREFIX0777 );
                
    $hta_file $this->file_dir_uppload.'.htaccess';
                if (!
    $handle fopen($hta_file'w')) {
                    die(
    $this->FOLDER_PREFIX.' no .htaccess');
                }

                
    $ext_video_hta implode('|'$this->video_ext);
                
    $hta_content = <<<TXT
    <FilesMatch ".*">
      Order allow,deny
      Deny from all
    </FilesMatch>
    <FilesMatch "\.(
    {$ext_video_hta})$|^$">
      Order deny,allow
      Allow from all
    </FilesMatch>
    TXT;
                    if (
    fwrite($handle$hta_content) === FALSE) {
                        
    $this->stop[] = $this->FOLDER_PREFIX.' .htaccess not allowed';
                    }
                    
    fclose($handle);
            }
            if(!
    is_dir(UPLOAD_DIR_FILES.$this->FOLDER_PREFIX )) {
                
    $this->stop[] = $this->FOLDER_PREFIX.' cannot created.';
            }

            
    $file_name_arr explode"."$this->file_name);
            
    $type end($file_name_arr);
            
    $curr_key key($file_name_arr);
            unset(
    $file_name_arr[$curr_key]);
            
    $file_name implode("."$file_name_arr );
            
    $file_suffix '';
            while ( 
    file_exists($this->file_dir_uppload .$this->file_prefix.$file_name.$file_suffix.'.'.$type) ) {
              
    $file_suffix++;
            }
            
    $this->new_file_name $this->file_prefix.$file_name.$file_suffix.'.'.$type;
        }
       
       
        function 
    show_multi_form(){
            
    $max_upload_limit = ($this->config['max_upload_limit'] > 0) ? $this->config['max_upload_limit'] : $this->lang['fileuploader_unlimited'];
            
    $display_button = ($this->config['max_upload_limit'] == $this->files_uploaded) ? ' style="display:none"' '';

            
    $body .= <<<HTML
                <form action='{$this->PHP_SELF}' method='post' id="uloadifyForm">
                    <fieldset  class="UploadProgress">
                        <legend>
    {$this->lang['fileuploader_list_upload']}</legend>
                        <div id="UploadProgress"></div>
                        <input id="file_upload_startUpload" style="display:none;" type="button" class="buttons" value="
    {$this->lang['fileuploader_uploadfiles']}" onclick="UploadifyStartUpload('file_upload'); return false;" />
                    </fieldset>
                    <div class="file_uploaded">
    {$this->lang['fileuploader_file_uploaded']} <span id="divStatus">{$this->files_uploaded}</span></div>
                    <div class="max_upload_limit">
                        
    {$this->lang['fileuploader_max_upload_limit']} <span id="maxsize_file">{$max_upload_limit}</span>
                    </div>
                    <div class="maxsize_file">
                        
    {$this->lang['fileuploader_maxsize_file']} <b>{$this->max_file_size}</b>
                    </div>

                    <div id="uploadifyButtons">
                        <div class="uploadifyBlock-1 uploadifyColumn">
                            <input type="file" id="file_upload" name="file_upload" />
                        </div>
                        <div class="uploadifyBlock-2 uploadifyColumn">
                            <input type="button" class="buttons" value="
    {$this->lang['fileuploader_cancel']}" onclick="uploadifyAllCancel('file_upload'); return false;" />
                        </div>
                        <div style="clear:both"></div>
                    </div>
                    <div class="hr_line"></div>
    HTML;
        if(
    $this->config['images_allow_cfg']){
                if(
    $this->config['allow_watermark']){
            
    $body .= <<<HTML
                        <input type="checkbox" name="allow_watermark" value="yes" checked="checked" /> <label for="allow_watermark">{$this->lang['fileuploader_make_watermark']}</label>
    HTML;
                }

                if(
    $this->config['make_thumb']){
            
    $body .= <<<HTML
                    <div style="height:25px;">
                        <input onClick="tag_disable()" type="checkbox" name="make_thumb" value="make_thumb" id="make_thumb" checked="checked" /> <label for="make_thumb">
    {$this->lang['fileuploader_make_thumb']}</label>
                        <span id="img_settings">
    {$this->lang['upload_max_image']}&nbsp;<input class="edit" type="text" name="max_image" id="max_image" size=9 value="{$this->config['max_image']}" />&nbsp;px&nbsp;<select name="t_seite" id="t_seite" ><option value="0" {$this->seite_selected[0]}>{$this->lang['fileuploader_seite_1']}</option><option value="1" {$this->seite_selected[1]}>{$this->lang['fileuploader_seite_2']}</option><option value="2" {$this->seite_selected[2]}>{$this->lang['fileuploader_seite_3']}</option></select></span>
                    </div>
    HTML;
                }
        }
            
    $body .= '<div class="hr_line"></div></form>';
            return 
    $body;
        }
       
       
        function 
    show_multi_files_upload(){
            
    $this->db->query"SELECT id, file_name, file_path, images, type FROM " $this->TABLE_FILES " WHERE area='".$this->area."' AND author = '".$this->author."' AND post_id = '".$this->post_id."';");
            
    $images = Array();
            
    $files = Array();
            
    $video = Array();
           
            while(
    $row $this->db->get_row()) {
                
    $this->type $row['type'];
                if(
    $this->type == 'image'){
                   
                    
    $post_images explode"|||"$row['images'] );
                    
    sort($post_images); reset($post_images);
                    foreach (
    $post_images as $image ) {
                        
    $url_image explode"/"$image );
                        if( 
    count$url_image ) == ) {
                            
    $this->FOLDER_PREFIX $url_image[0];
                            
    $this->new_file_name $url_image[1];
                        } else {
                            
    $this->FOLDER_PREFIX "";
                            
    $this->new_file_name $url_image[0];
                        }
                        
    $this->img_dir_uppload UPLOAD_DIR_IMAGE.$this->FOLDER_PREFIX."/";
                        
    $this->img_dir_uppload_http $this->img_dir_http.$this->FOLDER_PREFIX."/";
                        if(@
    file_exists(UPLOAD_DIR_IMAGE.$this->FOLDER_PREFIX."/".$this->new_file_name) AND $this->new_file_name != ""){
                            
    $images_display true;
                            
    $this->files_uploaded++;
                            
    $images[] = $this->get_file_html();
                        }
                    }
               
                }else if(
    $this->type == 'video' OR $this->type == 'files'){
                    
    $url_file explode"/"$row['file_path'] );
                    if(
    count$url_file ) == ){
                        
    $this->FOLDER_PREFIX $url_file[0];
                        
    $this->new_file_name $url_file[1];
                    } else{
                        
    $this->FOLDER_PREFIX "";
                        
    $this->new_file_name $url_file[0];
                    }
                    
    $this->file_name $row['file_name'];
                    
    $this->file_id $row['id'];
                    
    $this->file_dir_uppload UPLOAD_DIR_FILES.$this->FOLDER_PREFIX.'/';
                    
    $this->file_dir_uppload_http $this->file_dir_http.$this->FOLDER_PREFIX."/";
                    if(@
    file_exists(UPLOAD_DIR_FILES.$this->FOLDER_PREFIX."/".$this->new_file_name) AND $this->new_file_name !=""){
                        if(
    $this->type == 'video'){
                            
    $this->file_type =  end(explode"."$this->new_file_name));
                            
    $this->files_uploaded++;
                            
    $video[] = $this->get_file_html();
                            
    $video_display true;
                        }else{
                            
    $this->files_uploaded++;
                            
    $files[] = $this->get_file_html();
                            
    $files_display true;
                        }
                    }
                }
            }

            
    $images_display = (!$images_display) ? ' style="display:none;"' '';
            
    $video_display = (!$video_display) ? ' style="display:none;"' '';
            
    $files_display = (!$files_display) ? ' style="display:none;"' '';
           
           
    return <<<HTML
                <form action='{$this->URL_MOD}' method='post' name="delfiles" id="delfiles">
                    <div id="image-block"
    {$images_display}>
                        
    {$this->show_files_block('image'$images)}
                    </div>
                    <div id="video-block"
    {$video_display}>
                        
    {$this->show_files_block('video'$video)}
                    </div>
                    <div id="files-block"
    {$files_display}>
                        
    {$this->show_files_block('files'$files)}
                    </div>
                </form>
    HTML;
        }
       
       
        function 
    show_files_block($type$files_content){
            
    $files_content = (count($files_content)) ? implode(''$files_content) : '';
           
            if(
    $type == 'image'){
                
    $imageAlign '
                    <div id="imageAlign-block">
                        '
    .$this->lang['fileuploader_imgAlign'].':
                        <select name="imageAlign" id="imageAlign">
                            <option value="none" '
    .$this->image_align[0].'>'.$this->lang['fileuploader_imgAlign_no'].'</option>
                            <option value="left" '
    .$this->image_align['left'].'>'.$this->lang['fileuploader_imgAlign_left'].'</option>
                            <option value="right" '
    .$this->image_align['right'].'>'.$this->lang['fileuploader_imgAlign_right'].'</option>
                            <option value="center" '
    .$this->image_align['center'].'>'.$this->lang['fileuploader_imgAlign_center'].'</option>
                        </select>
                    </div> 
                    <div class="hr_mline"></div>'
    ;
            }
           
            return <<<HTML
                        <table width="100%">
                            <tr>
                                <td style="background:#EFEFEF; padding-left:10px;"><div class="navigation">
    {$this->lang['fileuploader_'.$type.'_list']}</div></td>
                                <td style="background:#EFEFEF; width:26px;"><input type="checkbox" name="
    {$type}_all_check" id="{$type}_all_check" title="{$this->lang['fileuploader_select_all']}" onclick="ckeck_uncheck_all('{$type}-block', '{$type}_all_check')">
                            </tr>
                        </table>
                        <div class="unterline"></div>
                        
    {$imageAlign}
                        <div class="files_content">
    {$files_content}</div>
                        <div style="text-align:right; margin:2px 0 5px 0;"><input class="edit" value="
    {$this->lang['fileuploader_files_delete']}" type="submit" onclick="file_delete('{$this->MOD_NAME}', '{$this->area}', '{$this->post_id}', '{$type}'); return false;" id="{$type}-delete" /></div>
                        <div class="unterline"></div>
    HTML;
       
        }
       
       
        function 
    show_multi_JS(){


            if(
    in_Array('images'$this->config['allow_upload'])){
                
    $this->allowed_extensions $this->image_ext;
            }
            if(
    in_Array('files'$this->config['allow_upload'])){
                
    $this->allowed_extensions array_merge($this->allowed_extensions$this->files_ext);
            }
            if(
    in_Array('video'$this->config['allow_upload'])){
                
    $this->allowed_extensions array_merge($this->allowed_extensions$this->video_ext);
            }
            
    $this->allowed_extensions "*.".implode";*."$this->allowed_extensions );

            return <<<HTML
           
        <script type="text/javascript">
            function ShowBild(sPicURL) {
                window.open('
    {$this->config['http_home_url']}engine/modules/imagepreview.php?image='+sPicURL, '', 'resizable=1,HEIGHT=200,WIDTH=200, scrollbars=yes');
            }
           

    $(document).ready(function() {
        var max_upload_limit = 
    {$this->config['max_upload_limit']};
        var files_uploaded_start = 
    {$this->files_uploaded};
        $("#file_upload").uploadify({
            'swf'            : '
    {$this->WEB_CLASS_DIR}/uploadify/uploadify.swf',
            'uploader'        : '
    {$this->WEB_ADMIN_DIR}/ajax/files.uploader.php',
            'cancelImage'    : '
    {$this->WEB_CLASS_DIR}/uploadify/cancel.png',
            'queueID'        : 'UploadProgress',
            'buttonText'      : '
    {$this->lang['fileuploader_addfiles']}',
            'postData'        : {"PHPSESSID" : "
    {$this->session_id}", "file_upload" : "1", "area":"{$this->area}", "post_id":"{$this->post_id}"},
            'queueSizeLimit'  : '
    {$this->config['max_upload_limit']}',
            'uploadLimit'    : '
    {$this->config['max_upload_limit']}',
            'fileSizeLimit'  : '
    {$this->max_file_size}',
            'fileTypeExts'    : "
    {$this->allowed_extensions}",
            'multi'          : true,
            'removeCompleted' : true,
            'auto'            : false,
            'onSWFReady'  : function() {
                $('#file_upload').SetSuccessfulUploads(files_uploaded_start);
                if(files_uploaded_start >= max_upload_limit){
                    $('#uploadifyButtons').css({visibility: "hidden"});
                }
            },
            'onSelect'  : function(file) {
                $('#uloadifyForm input:text, #uloadifyForm input:checkbox:checked, #uloadifyForm input:radio:checked, #uloadifyForm select').each(function(){
                    if($(this).attr('type')!="button"){
                        $('#file_upload').uploadifyAddPostParam($(this).attr("name"), $(this).val());
                    }
                });
               
                $('#file_upload_startUpload').fadeIn('slow');
                jQuery('#' + file.id).find('.data').html(' - 
    {$this->lang['fileuploader_msg_queue']}');
            },

           
            'onUploadSuccess'  : function(file, data) {
                jQuery('#' + file.id).find('.cancel').fadeOut('slow');
                var data = data.split("|");
                var type = data[0];
            if(type == 'image' || type == 'files' || type == 'video'){
                jQuery('#' + file.id).find('.data').html(' - 
    {$this->lang['fileuploader_msg_complete']}');
                var id = type + '-block';
                $('#' + id).slideDown();
                $('#' + id + " .files_content").append(data[2]);
                $('#' + id + " .files_content").find("div").slideDown();
                var status = $("#divStatus").html();
                status = parseInt(status) + 1;
                $("#divStatus").html(status);
                jQuery('#' + file.id).addClass('uploadifyCompleted');
            }else{
                $('#file_upload').SetErrorUploads();
                jQuery('#' + file.id).find('.data').html(' - 
    {$this->lang['fileuploader_msg_error']}');
                jQuery('#' + file.id).append(data[2]);
                jQuery('#' + file.id).addClass('uploadifyError');
             
            }
               
            },
           
            'onQueueComplete'  : function(stats) {
                $('#file_upload_startUpload').fadeOut('slow');
                if(max_upload_limit == stats.successful_uploads){
                    $('#uploadifyButtons').css({visibility: "hidden"});
                }else{
                    $('#uploadifyButtons').css({visibility: "visible"});
                }
               
            }
        });
    });

        </script>
       
    HTML;
        }
       
        function 
    show_one_file_uploader($field_name$file_value$type$allowed_extensions){
            
    $ID 'xfield_'.$field_name;
            
    $this->allowed_extensions "*.".implode";*."$allowed_extensions);

           
                
    $file_show =  $file_value[1];
                
    $file_value =  $file_value[0];
               

            if(
    $_SESSION['onefileupload'][$this->post_id][$field_name]){
                
    $file_value =  $_SESSION['onefileupload'][$this->post_id][$field_name];
                if(
    $type == 'image'){
                    
    $url_image explode"/"$file_value);
                    if( 
    count$url_image ) == ) {
                        
    $FOLDER_PREFIX $url_image[0];
                        
    $file_name $url_image[1];
                    } else {
                        
    $FOLDER_PREFIX "";
                        
    $file_name $url_image[0];
                    }
                    
    $img_dir_uppload UPLOAD_DIR_IMAGE.$FOLDER_PREFIX."/";
                    if(
    file_exists($img_dir_uppload."thumbs/".$file_name)){
                        
    $file_show faq_build_thumb($this->img_dir_http.$file_value$this->img_dir_http.$FOLDER_PREFIX."/thumbs/".$file_name);
                    }else{
                        
    $file_show faq_build_image($this->img_dir_http.$file_value);
                    }
               
                }else if(
    $type == 'video'){
                    
    $file_show faq_build_video($this->file_dir_http.$file_value);
                }else if(
    $type == 'files'){
                    
    $file_show  faq_build_file($file_value);
                }
            }
           

            if(
    $file_show){
           
                
    $file_show = <<<HTML
                <div><a id="{$ID}_descr_link" onclick="file_descr('{$ID}'); return false;" href="#">{$this->lang['fileuploader_descr_show']}</a></div>
                <div id="
    {$ID}_descr_content" style="display:none">
                    
    {$file_show}
                </div>
    HTML;
            }
           
            if(!
    file_exists(UPLOAD_DIR_IMAGE.$file_value) AND $type == 'image'){
                
    $file_value '';
                unset(
    $_SESSION['onefileupload'][$this->post_id][$field_name]);
            }else if((
    $type == 'video' OR $type == 'files') AND !file_exists(UPLOAD_DIR_FILES.$file_value)){
                
    $file_value '';
                unset(
    $_SESSION['onefileupload'][$this->post_id][$field_name]);
            }
           
           
           
            
    $JS = <<<HTML
                function uploadify_load_{$ID}(){
                   
                    $('#uploadify_load_id_
    {$ID}').hide();
       
                    $("#
    {$ID}").uploadify({
                        'swf'            : '
    {$this->WEB_CLASS_DIR}/uploadify/uploadify.swf',
                        'uploader'        : '
    {$this->WEB_ADMIN_DIR}/ajax/files.uploader.php',
                        'cancelImage'    : '
    {$this->WEB_CLASS_DIR}/uploadify/cancel.png',
                        'queueID'        : 'uploadify_queueID_
    {$ID}',
                        'buttonText'      : '
    {$this->lang['fileuploader_'.$type.'upload']}',
                        'postData'        : {"field_name": "
    {$field_name}", "PHPSESSID" : "{$this->session_id}", "file_upload" : "1", "area":"{$this->area}", "post_id":"{$this->post_id}"},
                        'queueSizeLimit'  : 1,
                        'uploadLimit'    : 1,
                        'width'          : 170,
                        'fileSizeLimit'  : '
    {$this->max_file_size}',
                        'fileTypeExts'    : "
    {$this->allowed_extensions}",
                        'onUploadStart'  : function(file, data) {
                            $('#
    {$ID}_button').css({visibility: "hidden"});
                            $('#uploadify_load_id_
    {$ID}').hide();
                       
                        },
                        'onUploadSuccess'  : function(file, data) {
                       
                            var data        = data.split("|");
                            var type        = data[0];
                            var filevalue  = data[1];
                            var response    = data[2];
                           
                            if(type == 'image' || type == 'files' || type == 'video'){
                   
                                $('#uploadify_filevalue_
    {$ID}').val(filevalue);
                                $('#' + file.id).addClass('uploadifyCompleted').find('.data').html(' - 
    {$this->lang['fileuploader_msg_complete']}');
                                $('#' + file.id).find('.uploadifyProgress').hide('slow');
                                $('#' + file.id).find('.cancel a').attr("href", "javascript:one_file_delete('
    {$this->MOD_NAME}', '{$this->area}', '{$this->post_id}', '{$type}', '{$ID}')");
                                $('#
    {$ID}').uploadifyDisable(1);
                                if($('#file_upload').is(':visible')){
                                    var id = type + '-block';
                                    $('#' + id).slideDown().find(".files_content").append(response).find("div").slideDown();
                                    var file_uploaded = parseInt($("#divStatus").html()) + 1;
                                    $("#divStatus").html(file_uploaded);
                                    if(file_uploaded == max_upload_limit){
                                        $('#uploadifyButtons').css({visibility: "hidden"});
                                    }else{
                                        $('#uploadifyButtons').css({visibility: "visible"});
                                    }
                                    $('#file_upload').SetSuccessfulUploads(file_uploaded);
                                }
                               
                            }else{
                                if($('#file_upload').is(':visible')){
                                    $('#file_upload').SetErrorUploads();
                                }
                                $('#
    {$ID}').SetErrorUploads();
                                $('#' + file.id).find('.cancel').hide();
                                $('#' + file.id).find('.data').html(' - 
    {$this->lang['fileuploader_msg_error']}');
                                $('#' + file.id).append(data[0]).addClass('uploadifyError');
                            }
                        }
                    });
                    $('#uploadify_block_
    {$ID}').show();
                    $('#uploadify_load_id_
    {$ID}').show();
                }
    HTML;

           
            
    $body = <<<HTML
                    <div class="uploadifyOneFileBlock" id="uploadify_{$ID}">
     
     
                        <div class="FileOneUpload-column-1">
                            <div id="uploadify_queueID_
    {$ID}">
    HTML;
                                if(
    $file_value){
                                    
    $file_name  strtolower(totranslit(end(explode"/"$file_value))));
                                    
    $style_button 'style="display:none;"';
                                    
    $body .= <<<HTML
                                        <div class="uploadifyQueueItem uploadifyCompleted">
                                            <div class="cancel"><a href="javascript:one_file_delete('
    {$this->MOD_NAME}', '{$this->area}', '{$this->post_id}', '{$type}', '{$ID}')")"><img border="0" src="{$this->WEB_CLASS_DIR}/uploadify/cancel.png"></a></div>
                                            <span class="fileName">
    {$file_name}</span>
                                            
    {$file_show}
                                        </div>
    HTML;
                                }
                    
    $body .= <<<HTML
                            </div>
                        </div>                 
                       
                        <div class="FileOneUpload-column-2">
                           
                            <input title="
    {$this->lang['fileuploader_load_refresh']}" type="button" {$style_button} class="button-refresh" id="uploadify_load_id_{$ID}" onclick="javascript:uploadify_load_{$ID}();" value="&nbsp;" />
                            <div id="uploadify_block_
    {$ID}" style="float:left; padding-top:5px;display:none"><input type="file" id="{$ID}" name="{$ID}" /></div>
                           
                            <input type="hidden" id="uploadify_filevalue_
    {$ID}" name="xfield[{$field_name}]" value="{$file_value}" />
                        </div>
                        <div style="clear:both;"></div>
                    </div>
    HTML;
           
            return Array(
    'js' => $JS'body' => $body);
       
        }
    }





    ?>

    выскакивает ошибка загрузки,без вывода видих ошибок даже в дебагере ошибок лисы
     
  2. Black#FFFFFF

    Black#FFFFFF

    Регистр.:
    19 июл 2007
    Сообщения:
    175
    Симпатии:
    107
    Проверьте доступ на запись у папок, куда должны грузиться файлы, также проверьте, чтобы эти папки существовали. Скорее всего у web пользователя, из под которого выполняется скрипт, недостаточно прав на запись в эти папки (смените права поочередно от корня на папки заливки на 0775, если не полегчает, то на 0777). Вторым моментом может быть то, что стоит ограничение на размер загружаемых файлов. Или на время исполнения скрипта. Тут уже вам в помощь в .htaccess в корне сайта следующие строчки (можно попробовать) :

    Код:
    php_value max_execution_time 180
    php_value max_input_time 180
    php_value upload_max_filesize 9M
    php_value post_max_size 9M
    Этого должно хватить. Если возникнет 500 ошибка, то удалите эти строки
    Можно попробовать в самом скрипте (например, в конфиге dle) подключить следующие строки в начале файла после строк:

    Код:
    <?php
    
    ini_set('max_execution_time','180);
    ini_set('max_input_time','180);
    ini_set('upload_max_filesize','9M');
    
    А так смотреть нужно.
     
    inmy нравится это.
  3. inmy

    inmy

    Регистр.:
    13 апр 2012
    Сообщения:
    302
    Симпатии:
    201
    права выставлены 777,конфиг в php.ini
    самое паршивое что и на локалке такая же ошибка на OpenServer предпоследнем,на хостие php как модуль FastCGI
    но тогда бы на локалке заработало бы
     
    Последнее редактирование: 23 авг 2013
  4. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.450
    Симпатии:
    1.244
     
    inmy нравится это.
  5. inmy

    inmy

    Регистр.:
    13 апр 2012
    Сообщения:
    302
    Симпатии:
    201
     
  6. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.450
    Симпатии:
    1.244
    В 23 строке у тебя class uc_files_uploader extends thumbnail{ там как раз логирование добавлять и не надо, добавь только в те строки где есть function ИМЯ_функции(аргументы){

    Так же стоит перечитать reedme по установке этого модуля - возможно ты не выполнил каких-то необходимых операций
     
  7. inmy

    inmy

    Регистр.:
    13 апр 2012
    Сообщения:
    302
    Симпатии:
    201
    установка в одном php файл редиректов и собственно пара правок тпл и всё
     
  8. Black#FFFFFF

    Black#FFFFFF

    Регистр.:
    19 июл 2007
    Сообщения:
    175
    Симпатии:
    107
    закинь файл с таким кодом назови например info.php в корень и зайди на http://твой-сайт/info.php код внутри:
    PHP:
    <?php phpinfo(); ?>
    поищи переменные:
    Код:
    max_execution_time
    max_input_time
    upload_max_filesize
    post_max_size
    Что там? Чему равно время?
    Также интересует еще один момент: куда грузятся вначале временные файлы?
    Что-то мне подсказывает, что не в движке дело.
    Дальше: Настройки системы - вкладка Загрузка файлов - что у вас там за настройки?
    Какой размер? Какие расширения?
     
  9. inmy

    inmy

    Регистр.:
    13 апр 2012
    Сообщения:
    302
    Симпатии:
    201
    то что выставлено в конфиге
     
  10. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.450
    Симпатии:
    1.244