$upload_url * @param $post_params * @param $options * @return */ function swf_upload_javascript($upload_url, $post_params = array(), $options = array()) { $request = sfContext::getInstance()->getResponse(); $request->addJavascript(sfConfig::get('sf_swfupload_js_dir').'swfupload.js'); $request->addJavascript(sfConfig::get('sf_swfupload_js_dir').'swfupload.swfobject.js'); $request->addJavascript(sfConfig::get('sf_swfupload_js_dir').'swfupload.queue.js'); $request->addJavascript(sfConfig::get('sf_swfupload_js_dir').'fileprogress.js'); $request->addJavascript(sfConfig::get('sf_swfupload_js_dir').'handlers.js'); $request->addStylesheet(sfConfig::get('sf_swfupload_css_dir').'default.css'); $post_params_out = _swf_upload_options_for_javascript($post_params); $o = sfConfig::get("app_swfupload_files"); if(!isset($options["file_size_limit"])) { $options["file_size_limit"] = $o["file_size_limit"]; } if(!isset($options["file_types"])) { $options["file_types"] = $o["file_types"]; } if(!isset($options["file_types_description"])) { $options["file_types_description"] = $o["file_types_description"]; } if(!isset($options["file_upload_limit"])) { $options["file_upload_limit"] = $o["file_upload_limit"]; } if(!isset($options["file_queue_limit"])) { $options["file_queue_limit"] = $o["file_queue_limit"]; } if (!isset($options["debug"])) { $options["debug"] = sfConfig::get("app_swfupload_debug"); } $output = " var swfu; SWFUpload.onload = function () { var settings = { flash_url : '".sfConfig::get('sf_swfupload_swf_dir')."swfupload.swf', upload_url : '".url_for($upload_url,true)."', post_params: ".$post_params_out.", file_size_limit : '".$options["file_size_limit"]."', file_types : '".$options["file_types"]."', file_types_description : '".$options["file_types_description"]."', file_upload_limit : ".$options["file_upload_limit"].", file_queue_limit : ".$options["file_queue_limit"].", custom_settings : { progressTarget : 'fsUploadProgress', cancelButtonId : 'btnCancel' }, debug: ".$options["debug"].", // Button Settings button_image_url : '".sfConfig::get('sf_swfupload_css_dir')."../css/button.png', // Relative to the SWF file button_placeholder_id : 'spanButtonPlaceholder', button_width: 61, button_height: 22, swfupload_loaded_handler : swfUploadLoaded, file_queued_handler : fileQueued, file_queue_error_handler : fileQueueError, file_dialog_complete_handler : fileDialogComplete, upload_start_handler : uploadStart, upload_progress_handler : uploadProgress, upload_error_handler : uploadError, upload_success_handler : uploadSuccess, upload_complete_handler : uploadComplete, queue_complete_handler : queueComplete, minimum_flash_version : '9.0.28', swfupload_pre_load_handler : swfUploadPreLoad, swfupload_load_failed_handler : swfUploadLoadFailed }; swfu = new SWFUpload(settings); } "; return javascript_tag($output); } /** * * @return string */ function swf_upload_standard_html() { $output = '

'./*
*/'
Fronta uploadu


'./*
*/'
'; return $output; } /** * * @param array $options * @return string */ function _swf_upload_options_for_javascript($options) { $opts = array(); foreach ($options as $key => $value) { $opts[] = "'$key':'$value'"; } sort($opts); return "{".join(", ", $opts)."}"; }