diff --git a/addons/counter/counter.addon.php b/addons/counter/counter.addon.php index 67ed706ab..65d665bd5 100644 --- a/addons/counter/counter.addon.php +++ b/addons/counter/counter.addon.php @@ -10,7 +10,7 @@ if(!defined('__XE__')) * @brief Counter add-on */ // Execute if called_position is before_display_content -if($called_position == 'before_module_init' && Context::get('module') != 'admin' && Context::getResponseMethod() == 'HTML' && Context::isInstalled()) +if($called_position == 'before_module_init' && Context::get('module') != 'admin' && Context::getResponseMethod() == 'HTML' && Context::isInstalled() && !isCrawler()) { $oCounterController = getController('counter'); $oCounterController->counterExecute(); diff --git a/classes/context/Context.class.php b/classes/context/Context.class.php index ae3bc20eb..e90a83858 100644 --- a/classes/context/Context.class.php +++ b/classes/context/Context.class.php @@ -337,11 +337,9 @@ class Context array(&$oSessionController, 'open'), array(&$oSessionController, 'close'), array(&$oSessionModel, 'read'), array(&$oSessionController, 'write'), array(&$oSessionController, 'destroy'), array(&$oSessionController, 'gc') ); } + + if($sess = $_POST[session_name()]) session_id($sess); session_start(); - if($sess = $_POST[session_name()]) - { - session_id($sess); - } // set authentication information in Context and session if(self::isInstalled()) @@ -1283,15 +1281,17 @@ class Context $val = array($val); } + $result = array(); foreach($val as $k => $v) { + $k = htmlentities($k); if($key === 'page' || $key === 'cpage' || substr_compare($key, 'srl', -3) === 0) { - $val[$k] = !preg_match('/^[0-9,]+$/', $v) ? (int) $v : $v; + $result[$k] = !preg_match('/^[0-9,]+$/', $v) ? (int) $v : $v; } elseif($key === 'mid' || $key === 'vid' || $key === 'search_keyword') { - $val[$k] = htmlspecialchars($v, ENT_COMPAT | ENT_HTML401, 'UTF-8', FALSE); + $result[$k] = htmlspecialchars($v, ENT_COMPAT | ENT_HTML401, 'UTF-8', FALSE); } else { @@ -1302,12 +1302,12 @@ class Context if(!is_array($v)) { - $val[$k] = trim($v); + $result[$k] = trim($v); } } } - return $isArray ? $val : $val[0]; + return $isArray ? $result : $result[0]; } /** diff --git a/classes/db/DB.class.php b/classes/db/DB.class.php index 25a7cdb10..849f6ea3a 100644 --- a/classes/db/DB.class.php +++ b/classes/db/DB.class.php @@ -447,7 +447,8 @@ class DB $log['act'] = Context::get('act'); $log['time'] = date('Y-m-d H:i:s'); - $bt = debug_backtrace(); + $bt = version_compare(PHP_VERSION, '5.3.6', '>=') ? debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS) : debug_backtrace(); + foreach($bt as $no => $call) { if($call['function'] == 'executeQuery' || $call['function'] == 'executeQueryArray') @@ -455,6 +456,7 @@ class DB $call_no = $no; $call_no++; $log['called_file'] = $bt[$call_no]['file'].':'.$bt[$call_no]['line']; + $log['called_file'] = str_replace(_XE_PATH_ , '', $log['called_file']); $call_no++; $log['called_method'] = $bt[$call_no]['class'].$bt[$call_no]['type'].$bt[$call_no]['function']; break; @@ -487,20 +489,12 @@ class DB $this->setQueryLog($log); - // if __LOG_SLOW_QUERY__ if defined, check elapsed time and leave query log - if(__LOG_SLOW_QUERY__ > 0 && $elapsed_time > __LOG_SLOW_QUERY__) - { - $buff = ''; - $log_file = _XE_PATH_ . 'files/_db_slow_query.php'; - if(!file_exists($log_file)) - { - $buff = '' . "\n"; - } - - $buff .= sprintf("%s\t%s\n\t%0.6f sec\tquery_id:%s\n\n", date("Y-m-d H:i"), $this->query, $elapsed_time, $this->query_id); - - @file_put_contents($log_file, $buff, FILE_APPEND|LOCK_EX); - } + $log_args = new stdClass; + $log_args->query = $this->query; + $log_args->query_id = $this->query_id; + $log_args->caller = $log['called_method'] . '() in ' . $log['called_file']; + $log_args->connection = $log['connection']; + writeSlowlog('query', $elapsed_time, $log_args); } /** diff --git a/classes/module/ModuleHandler.class.php b/classes/module/ModuleHandler.class.php index fde57e049..0bde1b8bc 100644 --- a/classes/module/ModuleHandler.class.php +++ b/classes/module/ModuleHandler.class.php @@ -380,6 +380,22 @@ class ModuleHandler extends Handler $kind = 'admin'; } + if($kind == 'admin') + { + $oMemberController = ModuleHandler::getModuleInstance('member', 'controller'); + $validate_session = $oMemberController->validateSession(); + $oMemberController->regenerateSession(); + if(!$validate_session) + { + $this->error = 'security_invalid_session'; + $oMessageObject = ModuleHandler::getModuleInstance('message', 'view'); + $oMessageObject->setError(-1); + $oMessageObject->setMessage($this->error); + $oMessageObject->dispMessage(); + return $oMessageObject; + } + } + // check REQUEST_METHOD in controller if($type == 'controller') { @@ -579,7 +595,7 @@ class ModuleHandler extends Handler if($kind == 'admin') { $grant = $oModuleModel->getGrant($this->module_info, $logged_info); - if(!$grant->is_admin && !$grant->manager) + if(!$grant->manager) { $this->_setInputErrorToContext(); $this->error = 'msg_is_not_manager'; @@ -589,6 +605,19 @@ class ModuleHandler extends Handler $oMessageObject->dispMessage(); return $oMessageObject; } + else + { + if(!$grant->is_admin && $this->module != $this->orig_module->module && $xml_info->permission->{$this->act} != 'manager') + { + $this->_setInputErrorToContext(); + $this->error = 'msg_is_not_administrator'; + $oMessageObject = ModuleHandler::getModuleInstance('message', 'view'); + $oMessageObject->setError(-1); + $oMessageObject->setMessage($this->error); + $oMessageObject->dispMessage(); + return $oMessageObject; + } + } } } else if($xml_info->default_index_act && method_exists($oModule, $xml_info->default_index_act)) @@ -1152,7 +1181,7 @@ class ModuleHandler extends Handler $before_trigger_time = NULL; if(__LOG_SLOW_TRIGGER__> 0) { - $before_trigger_time = microtime(true); + $before_trigger_time = microtime(true); } foreach($triggers as $item) @@ -1160,12 +1189,6 @@ class ModuleHandler extends Handler $module = $item->module; $type = $item->type; $called_method = $item->called_method; - - $before_each_trigger_time = NULL; - if(__LOG_SLOW_TRIGGER__> 0) - { - $before_each_trigger_time = microtime(true); - } // todo why don't we call a normal class object ? $oModule = getModule($module, $type); @@ -1174,63 +1197,24 @@ class ModuleHandler extends Handler continue; } + $before_each_trigger_time = microtime(true); + $output = $oModule->{$called_method}($obj); + + $after_each_trigger_time = microtime(true); + $elapsed_time_trigger = $after_each_trigger_time - $before_each_trigger_time; + + $slowlog = new stdClass; + $slowlog->caller = $trigger_name . '.' . $called_position; + $slowlog->called = $module . '.' . $called_method; + $slowlog->called_extension = $module; + if($trigger_name != 'XE.writeSlowlog') writeSlowlog('trigger', $elapsed_time_trigger, $slowlog); + if(is_object($output) && method_exists($output, 'toBool') && !$output->toBool()) { return $output; } unset($oModule); - - //store after trigger call time - $after_each_trigger_time = NULL; - //init value to 0 - $elapsed_time_trigger = 0; - - if(__LOG_SLOW_TRIGGER__> 0) - { - $after_each_trigger_time = microtime(true); - $elapsed_time_trigger = ($after_each_trigger_time - $before_each_trigger_time) * 1000; - } - - // if __LOG_SLOW_TRIGGER__ is defined, check elapsed time and leave trigger time log - if(__LOG_SLOW_TRIGGER__> 0 && $elapsed_time_trigger > __LOG_SLOW_TRIGGER__) - { - $buff = ''; - $log_file = _XE_PATH_ . 'files/_db_slow_trigger.php'; - if(!file_exists($log_file)) - { - $buff = '' . "\n"; - } - - $buff .= sprintf("%s\t%s.%s.%s.%s(%s)\n\t%0.6f msec\n\n", date("Y-m-d H:i"), $item->trigger_name,$item->module,$item->called_method,$item->called_position,$item->type, $elapsed_time_trigger); - - @file_put_contents($log_file, $buff, FILE_APPEND|LOCK_EX); - } - } - - //store after trigger call time - $after_trigger_time = NULL; - //init value to 0 - $elapsed_time = 0; - if(__LOG_SLOW_TRIGGER__> 0) - { - $after_trigger_time = microtime(true); - $elapsed_time = ($after_trigger_time - $before_trigger_time) * 1000; - } - - // if __LOG_SLOW_TRIGGER__ is defined, check elapsed time and leave trigger time log - if(__LOG_SLOW_TRIGGER__> 0 && $elapsed_time > __LOG_SLOW_TRIGGER__) - { - $buff = ''; - $log_file = _XE_PATH_ . 'files/_slow_trigger.php'; - if(!file_exists($log_file)) - { - $buff = '' . "\n"; - } - - $buff .= sprintf("%s\t%s.totaltime\n\t%0.6f msec\n\n", date("Y-m-d H:i"), $trigger_name,$elapsed_time); - - @file_put_contents($log_file, $buff, FILE_APPEND|LOCK_EX); } return new Object(); diff --git a/common/js/common.js b/common/js/common.js index 498392750..d97620e1c 100644 --- a/common/js/common.js +++ b/common/js/common.js @@ -596,25 +596,14 @@ function doDocumentLoad(obj) { } /* 저장된 게시글의 선택 */ -function doDocumentSelect(document_srl, module) { +function doDocumentSelect(document_srl) { if(!opener || !opener.objForSavedDoc) { window.close(); return; } - if(module===undefined) { - module = 'document'; - } - // 게시글을 가져와서 등록하기 - switch(module) { - case 'page' : - opener.location.href = opener.current_url.setQuery('document_srl', document_srl).setQuery('act', 'dispPageAdminContentModify'); - break; - default : - opener.location.href = opener.current_url.setQuery('document_srl', document_srl).setQuery('act', 'dispBoardWrite'); - break; - } + opener.location.href = opener.current_url.setQuery('document_srl', document_srl).setQuery('act', 'dispBoardWrite'); window.close(); } @@ -911,7 +900,7 @@ function get_by_id(id) { jQuery(function($){ // display popup menu that contains member actions and document actions - $(document).on('click touchstart', function(evt) { + $(document).on('click', function(evt) { var $area = $('#popup_menu_area'); if(!$area.length) $area = $('
').appendTo(document.body); diff --git a/common/js/xe.js b/common/js/xe.js index e004829f2..3fffb4906 100644 --- a/common/js/xe.js +++ b/common/js/xe.js @@ -595,25 +595,14 @@ function doDocumentLoad(obj) { } /* 저장된 게시글의 선택 */ -function doDocumentSelect(document_srl, module) { +function doDocumentSelect(document_srl) { if(!opener || !opener.objForSavedDoc) { window.close(); return; } - if(module===undefined) { - module = 'document'; - } - // 게시글을 가져와서 등록하기 - switch(module) { - case 'page' : - opener.location.href = opener.current_url.setQuery('document_srl', document_srl).setQuery('act', 'dispPageAdminContentModify'); - break; - default : - opener.location.href = opener.current_url.setQuery('document_srl', document_srl).setQuery('act', 'dispBoardWrite'); - break; - } + opener.location.href = opener.current_url.setQuery('document_srl', document_srl).setQuery('act', 'dispBoardWrite'); window.close(); } @@ -910,7 +899,7 @@ function get_by_id(id) { jQuery(function($){ // display popup menu that contains member actions and document actions - $(document).on('click touchstart', function(evt) { + $(document).on('click', function(evt) { var $area = $('#popup_menu_area'); if(!$area.length) $area = $('').appendTo(document.body); @@ -1662,55 +1651,31 @@ function xml2json(xml, tab, ignoreAttrib) { if(typeof(xeVid)!='undefined') $.extend(data,{vid:xeVid}); - try { - $.ajax({ - type: "POST", - dataType: "json", - url: request_uri, - contentType: "application/json", - data: $.param(data), - success: function(data) { - $(".wfsr").hide().trigger('cancel_confirm'); - if(data.error != '0' && data.error > -1000) { - if(data.error == -1 && data.message == 'msg_is_not_administrator') { - alert('You are not logged in as an administrator'); - if($.isFunction(callback_error)) callback_error(data); + $.ajax({ + type: "POST", + dataType: "json", + url: request_uri, + contentType: "application/json", + data: $.param(data), + success: function(data) { + $(".wfsr").hide().trigger('cancel_confirm'); + if(data.error != '0' && data.error > -1000) { + if(data.error == -1 && data.message == 'msg_is_not_administrator') { + alert('You are not logged in as an administrator'); + if($.isFunction(callback_error)) callback_error(data); - return; - } else { - alert(data.message); - if($.isFunction(callback_error)) callback_error(data); - - return; - } - } - - if($.isFunction(callback_sucess)) callback_sucess(data); - }, - error: function(xhr, textStatus) { - $(".wfsr").hide(); - - var msg = ''; - - if (textStatus == 'parsererror') { - msg = 'The result is not valid JSON :\n-------------------------------------\n'; - - if(xhr.responseText === "") return; - - msg += xhr.responseText.replace(/<[^>]+>/g, ''); + return; } else { - msg = textStatus; - } + alert(data.message); + if($.isFunction(callback_error)) callback_error(data); - try{ - console.log(msg); - } catch(ee){} + return; + } } - }); - } catch(e) { - alert(e); - return; - } + + if($.isFunction(callback_sucess)) callback_sucess(data); + } + }); } }; @@ -1730,43 +1695,17 @@ function xml2json(xml, tab, ignoreAttrib) { if(show_waiting_message) $(".wfsr").html(waiting_message).show(); $.extend(data,{module:action[0],act:action[1]}); - try { - $.ajax({ - type:"POST", - dataType:"html", - url:request_uri, - data:$.param(data), - success : function(html){ - $(".wfsr").hide().trigger('cancel_confirm'); - self[type](html); - if($.isFunction(func)) func(args); - }, - error: function(xhr, textStatus) { - $(".wfsr").hide(); - - var msg = ''; - - if (textStatus == 'parsererror') { - msg = 'The result is not valid page :\n-------------------------------------\n'; - - if(xhr.responseText === "") return; - - msg += xhr.responseText.replace(/<[^>]+>/g, ''); - } else { - msg = textStatus; - } - - try{ - console.log(msg); - } catch(ee){} - } - - }); - - } catch(e) { - alert(e); - return; - } + $.ajax({ + type:"POST", + dataType:"html", + url:request_uri, + data:$.param(data), + success : function(html){ + $(".wfsr").hide().trigger('cancel_confirm'); + self[type](html); + if($.isFunction(func)) func(args); + } + }); } }; diff --git a/common/js/xe.min.js b/common/js/xe.min.js index 9d440b9bf..a362dff6e 100644 --- a/common/js/xe.min.js +++ b/common/js/xe.min.js @@ -3,5 +3,4 @@ * @file common.js + js_app.js + xml_handler.js + xml_js_filter.js * @brief XE Common JavaScript **/ -function xSleep(a){a/=1e3;for(var b=new Date,c=new Date;c.getTime()-b.getTime()-1&&!a.getQuery("vid")&&(a=a.setQuery("vid",xeVid));try{"_blank"!=b&&winopen_list[b]&&(winopen_list[b].close(),winopen_list[b]=null)}catch(d){}"undefined"==typeof b&&(b="_blank"),"undefined"==typeof c&&(c="");var e=window.open(a,b,c);e.focus(),"_blank"!=b&&(winopen_list[b]=e)}function popopen(a,b){"undefined"==typeof b&&(b="_blank"),"undefined"!=typeof xeVid&&a.indexOf(request_uri)>-1&&!a.getQuery("vid")&&(a=a.setQuery("vid",xeVid)),winopen(a,b,"width=800,height=600,scrollbars=yes,resizable=yes,toolbars=no")}function sendMailTo(a){location.href="mailto:"+a}function move_url(a,b){return a?("undefined"==typeof b&&(b="N"),b="N"==b?!1:!0,/^\./.test(a)&&(a=request_uri+a),b?winopen(a):location.href=a,!1):!1}function displayMultimedia(a,b,c,d){var e=_displayMultimedia(a,b,c,d);e&&document.writeln(e)}function _displayMultimedia(a,b,c,d){0===a.indexOf("files")&&(a=request_uri+a);var e={wmode:"transparent",allowScriptAccess:"never",quality:"high",flashvars:"",autostart:!1},f=jQuery.extend(e,d||{}),g=f.autostart&&"false"!=f.autostart?"true":"false";delete f.autostart;var h="",i="",j="";if(/\.(gif|jpg|jpeg|bmp|png)$/i.test(a))j='"+c+"
")}return c=c.replace(/src\s?=\s?(["']?)(?:\.\.\/)+(files\/attach\/)/gi,function(a,b,c){return"src="+(b||"")+c}),c=c.replace(/\<(\/)?([A-Z]+)([^>]*)\>/gi,function(a,b,c,d){return d=d?d.replace(/ ([A-Z]+?)\=/gi,function(a,b){return b=b.toLowerCase()," "+b+"="}):"",c=c.toLowerCase(),b||(b=""),"<"+b+c+d+">"}),c=c.replace("
',h&&d.html(h)))}function removeUploadedFile(a){var b=uploaderSettings[a],c=b.fileListAreaID,d=get_by_id(c);if(d&&!(d.selectedIndex<0)){for(var e=[],f=0;f
'):f.push(''+i.source_filename+"\n")}}if("html"==editorMode[a])f.length>0&&get_by_id("editor_textarea_"+a)&&(get_by_id("editor_textarea_"+a).value+=f.join(""));else{var j=editorGetIFrame(a);if(!j)return;f.length>0&&editorReplaceHTML(j,f.join(""))}}}}var uploadedFiles=[],uploaderSettings=[],loaded_images=[],swfUploadObjs=[],uploadSettingObj=[],uploadAutosaveChecker=!1;!function(a){function b(b){var d=b.editorSequence;is_def(d)&&(b=a.extend({sessionName:"PHPSESSID",allowedFileSize:2097152,allowedFileTypes:"*.*",allowedFileTypesDescription:"All Files",replaceButtonID:"swfUploadButton"+b.editorSequence,insertedFiles:0},b),uploadSettingObj[d]=b,a(function(){c(b)}))}function c(b){var c,d,g,h,i,j,k,l,m,n,o,p;i=b.editorSequence,j=b.replaceButtonID,c=a("#"+j).wrap(''),d=c.width(),g=c.height(),h=a('').insertAfter(c),k={flash_url:request_uri+"modules/editor/tpl/images/SWFUpload.swf",upload_url:request_uri.replace(/^https/i,"http")+"index.php",post_params:{mid:current_mid,act:"procFileUpload",editor_sequence:i,uploadTargetSrl:editorRelKeys[i].primary.value},http_success:[302],file_size_limit:Math.floor((parseInt(b.allowedFileSize,10)||1024)/1024),file_queue_limit:0,file_upload_limit:0,file_types:b.allowedFileTypes,file_types_description:b.allowedFileTypesDescription,custom_settings:{progressTarget:null,cancelButtonId:null},debug:!1,button_window_mode:"transparent",button_placeholder_id:h.attr("id"),button_text:null,button_image_url:request_uri+"common/img/blank.gif",button_width:d,button_height:g,button_text_style:null,button_text_left_padding:0,button_text_top_padding:0,button_cursor:-2,editorSequence:i,uploadTargetSrl:editorRelKeys[i].primary.value,fileListAreaID:b.fileListAreaID,previewAreaID:b.previewAreaID,uploaderStatusID:b.uploaderStatusID},"undefined"!=typeof enforce_ssl&&enforce_ssl&&(k.upload_url=request_uri+"index.php"),a("#"+b.fileListAreaID).click(previewFiles),l={file_queued:"FileQueued",file_queue_error:"FileQueueError",file_dialog_complete:"FileDialogComplete",upload_start:"UploadStart",upload_progress:"UploadProgress",upload_error:"UploadError",upload_success:"UploadSuccess",upload_complete:"UploadComplete",queue_complete:"QueueComplete"};for(m in l)l.hasOwnProperty(m)&&(n="on"+l[m],k[m+"_handler"]=b["on"+n]||f[n]);is_def(window.xeVid)&&(k.post_params.vid=xeVid),k.post_params[b.sessionName]=getCookie(b.sessionName),uploaderSettings[i]=k,o=new SWFUpload(k),p=a("#"+o.movieName),swfUploadObjs[i]=o.movieName,p.length&&(p.css({display:"block",cursor:"pointer",position:"absolute",left:0,top:0,width:d+"px",height:g+"px"}),(b.insertedFiles||editorRelKeys[i].primary.value)&&e(b))}function d(){return!0}function e(b){function c(){"function"==typeof _editorAutoSave&&(uploadAutosaveChecker=!0,_editorAutoSave(!0))}function d(d){var e,f,g,h,i,j,k,l,m,n,o;if(f=d.editor_sequence,g=d.files,i=d.upload_status,h=d.upload_target_srl,j=Math.floor((parseInt(d.left_size,10)||0)/1024),e=a("#"+b.fileListAreaID).empty(),h&&(editorRelKeys[f].primary.value!=h&&(editorRelKeys[f].primary.value=h,c()),editorRelKeys[f].primary.value=h,b.uploadTargetSrl=h),a("#"+b.uploaderStatusID).html(i),a("#"+b.previewAreaID).empty(),g&&g.item){for(k=g.item,a.isArray(k)||(k=[k]),l=0,m=k.length;m>l;l++)n=k[l],o=n.file_srl,uploadedFiles[o]=n,n.previewAreaID=b.previewAreaID,/\.(jpe?g|png|gif)$/i.test(n.download_url)&&(loaded_images[o]=a("
',h&&d.html(h)))}function removeUploadedFile(a){var b=uploaderSettings[a],c=b.fileListAreaID,d=get_by_id(c);if(d&&!(d.selectedIndex<0)){for(var e=[],f=0;f
'):f.push(''+i.source_filename+"\n")}}if("html"==editorMode[a])f.length>0&&get_by_id("editor_textarea_"+a)&&(get_by_id("editor_textarea_"+a).value+=f.join(""));else{var j=editorGetIFrame(a);if(!j)return;f.length>0&&editorReplaceHTML(j,f.join(""))}}}}var uploadedFiles=[],uploaderSettings=[],loaded_images=[],swfUploadObjs=[],uploadSettingObj=[],uploadAutosaveChecker=!1;!function(a){function b(b){var d=b.editorSequence;is_def(d)&&(b=a.extend({sessionName:"PHPSESSID",allowedFileSize:2097152,allowedFileTypes:"*.*",allowedFileTypesDescription:"All Files",replaceButtonID:"swfUploadButton"+b.editorSequence,insertedFiles:0},b),uploadSettingObj[d]=b,a(function(){c(b)}))}function c(b){var c,d,g,h,i,j,k,l,m,n,o,p;i=b.editorSequence,j=b.replaceButtonID,c=a("#"+j).wrap(''),d=c.width(),g=c.height(),h=a('').insertAfter(c),k={flash_url:request_uri+"modules/editor/tpl/images/SWFUpload.swf",upload_url:request_uri.replace(/^https/i,"http")+"index.php",post_params:{mid:current_mid,act:"procFileUpload",editor_sequence:i,uploadTargetSrl:editorRelKeys[i].primary.value},http_success:[302],file_size_limit:Math.floor((parseInt(b.allowedFileSize,10)||1024)/1024),file_queue_limit:0,file_upload_limit:0,file_types:b.allowedFileTypes,file_types_description:b.allowedFileTypesDescription,custom_settings:{progressTarget:null,cancelButtonId:null},debug:!1,button_window_mode:"transparent",button_placeholder_id:h.attr("id"),button_text:null,button_image_url:request_uri+"common/img/blank.gif",button_width:d,button_height:g,button_text_style:null,button_text_left_padding:0,button_text_top_padding:0,button_cursor:-2,editorSequence:i,uploadTargetSrl:editorRelKeys[i].primary.value,fileListAreaID:b.fileListAreaID,previewAreaID:b.previewAreaID,uploaderStatusID:b.uploaderStatusID},"undefined"!=typeof enforce_ssl&&enforce_ssl&&(k.upload_url=request_uri+"index.php"),a("#"+b.fileListAreaID).click(previewFiles),l={file_queued:"FileQueued",file_queue_error:"FileQueueError",file_dialog_complete:"FileDialogComplete",upload_start:"UploadStart",upload_progress:"UploadProgress",upload_error:"UploadError",upload_success:"UploadSuccess",upload_complete:"UploadComplete",queue_complete:"QueueComplete"};for(m in l)l.hasOwnProperty(m)&&(n="on"+l[m],k[m+"_handler"]=b["on"+n]||f[n]);is_def(window.xeVid)&&(k.post_params.vid=xeVid),k.sessionName=b.sessionName,k.post_params[b.sessionName]=getCookie(b.sessionName),uploaderSettings[i]=k,o=new SWFUpload(k),p=a("#"+o.movieName),swfUploadObjs[i]=o.movieName,p.length&&(p.css({display:"block",cursor:"pointer",position:"absolute",left:0,top:0,width:d+"px",height:g+"px"}),(b.insertedFiles||editorRelKeys[i].primary.value)&&e(b))}function d(){return!0}function e(b){function c(){"function"==typeof _editorAutoSave&&(uploadAutosaveChecker=!0,_editorAutoSave(!0))}function d(d){var e,f,g,h,i,j,k,l,m,n,o;if(f=d.editor_sequence,g=d.files,i=d.upload_status,h=d.upload_target_srl,j=Math.floor((parseInt(d.left_size,10)||0)/1024),e=a("#"+b.fileListAreaID).empty(),h&&(editorRelKeys[f].primary.value!=h&&(editorRelKeys[f].primary.value=h,c()),editorRelKeys[f].primary.value=h,b.uploadTargetSrl=h),a("#"+b.uploaderStatusID).html(i),a("#"+b.previewAreaID).empty(),g&&g.item){for(k=g.item,a.isArray(k)||(k=[k]),l=0,m=k.length;m>l;l++)n=k[l],o=n.file_srl,uploadedFiles[o]=n,n.previewAreaID=b.previewAreaID,/\.(jpe?g|png|gif)$/i.test(n.download_url)&&(loaded_images[o]=a("