From 16e9323162c10409b6be222d48bc6c33e42be73d Mon Sep 17 00:00:00 2001 From: Kiran Prajapati Date: Thu, 4 Apr 2024 16:02:26 +0530 Subject: [PATCH 1/3] GD images don't allows .svg images even WP media allows - FIXED --- assets/aui/js/geodirectory-plupload.js | 2 +- assets/aui/js/geodirectory-plupload.min.js | 2 +- assets/js/geodirectory-plupload.js | 2 +- assets/js/geodirectory-plupload.min.js | 2 +- .../settings/class-geodir-settings-cpt-cf.php | 2 +- includes/class-geodir-media.php | 11 +++- includes/core-functions.php | 10 +--- .../custom-fields/input-functions-aui.php | 2 +- includes/custom-fields/input-functions.php | 2 +- includes/custom-fields/output-functions.php | 2 +- includes/general-functions.php | 53 +++++++++++++++++++ includes/helper-functions.php | 18 +++---- readme.txt | 3 ++ 13 files changed, 83 insertions(+), 28 deletions(-) diff --git a/assets/aui/js/geodirectory-plupload.js b/assets/aui/js/geodirectory-plupload.js index e3b8d90b1..3896eac93 100644 --- a/assets/aui/js/geodirectory-plupload.js +++ b/assets/aui/js/geodirectory-plupload.js @@ -347,7 +347,7 @@ function plu_show_thumbs(imgId) { var file_display = ''; var file_display_class = ''; - if (file_ext == 'jpg' || file_ext == 'jpe' || file_ext == 'jpeg' || file_ext == 'png' || file_ext == 'gif' || file_ext == 'bmp' || file_ext == 'ico' || file_ext == 'webp') { + if (file_ext == 'jpg' || file_ext == 'jpe' || file_ext == 'jpeg' || file_ext == 'png' || file_ext == 'gif' || file_ext == 'bmp' || file_ext == 'ico' || file_ext == 'webp' || file_ext == 'svg') { file_display = ''; if(!!image_title.trim()){ image_title_html = '' + image_title + ''; diff --git a/assets/aui/js/geodirectory-plupload.min.js b/assets/aui/js/geodirectory-plupload.min.js index 426265664..adb4a4dcc 100644 --- a/assets/aui/js/geodirectory-plupload.min.js +++ b/assets/aui/js/geodirectory-plupload.min.js @@ -1 +1 @@ -jQuery.fn.exists=function(){return jQuery(this).length>0};jQuery(document).ready(function($){if($(".plupload-upload-uic").exists()){var pconfig=false;var msgErr="";var post_id="";if(jQuery("#geodirectory-add-post input[name='ID']").length){post_id=jQuery("#geodirectory-add-post input[name='ID']").val()}else{post_id=jQuery("#post input[name='post_ID']").val()}$(".plupload-upload-uic").each(function(){var $this=$(this);var id1=$this.attr("id");var imgId=id1.replace("plupload-upload-ui","");plu_show_thumbs(imgId);pconfig=JSON.parse(geodir_plupload_params.base_plupload_config);pconfig["browse_button"]=imgId+pconfig["browse_button"];pconfig["container"]=imgId+pconfig["container"];if(jQuery("#"+imgId+"dropbox").length){pconfig["drop_element"]=imgId+"dropbox"}pconfig["file_data_name"]=imgId+pconfig["file_data_name"];pconfig["multipart_params"]["imgid"]=imgId;pconfig["multipart_params"]["post_id"]=post_id;if($this.hasClass("plupload-upload-uic-multiple")){pconfig["multi_selection"]=true}var allowed_exts=jQuery("#"+imgId+"_allowed_types").val();allowed_exts=allowed_exts&&allowed_exts!=""?allowed_exts:"";if(imgId=="post_images"&&typeof geodir_params.gd_allowed_img_types!="undefined"&&geodir_params.gd_allowed_img_types!=""){allowed_exts=geodir_params.gd_allowed_img_types}if(allowed_exts&&allowed_exts!=""){var txt_all_files=typeof geodir_params.txt_all_files!="undefined"&&geodir_params.txt_all_files!=""?geodir_params.txt_all_files:"Allowed files";pconfig["filters"]=[{title:txt_all_files,extensions:allowed_exts}]}var uploader=new plupload.Uploader(pconfig);uploader.bind("Init",function(up){});uploader.bind("Init",function(up,params){if(uploader.features.dragdrop){var drop_id=imgId+"dropbox";var target=jQuery("#"+drop_id);target.on("dragenter",function(event){target.addClass("dragover")});target.on("dragleave",function(event){target.removeClass("dragover")});target.on("drop",function(){target.removeClass("dragover")})}if($this.find(".moxie-shim").length){$this.find(".moxie-shim").css({position:"initial"})}});uploader.init();uploader.bind("UploadFile",function(up,file){if(imgId=="post_images"){window.geodirUploading=true}});uploader.bind("UploadComplete",function(up,files){if(imgId=="post_images"){window.geodirUploading=false}});uploader.bind("Error",function(up,files){if(imgId=="post_images"){window.geodirUploading=false}if(files.code==-600){jQuery("#"+imgId+"upload-error").removeClass("d-none").addClass("d-block");if(typeof geodir_params.err_max_file_size!="undefined"&&geodir_params.err_max_file_size!=""){msgErr=geodir_params.err_max_file_size}else{msgErr="File size error : You tried to upload a file over %s"}msgErr=msgErr.replace("%s",geodir_plupload_params.upload_img_size);jQuery("#"+imgId+"upload-error").html(msgErr)}else if(files.code==-601){jQuery("#"+imgId+"upload-error").removeClass("d-none").addClass("d-block");if(typeof geodir_params.err_file_type!="undefined"&&geodir_params.err_file_type!=""){msgErr=geodir_params.err_file_type}else{msgErr="File type error. Allowed file types: %s"}if(imgId=="post_images"){var txtReplace=allowed_exts!=""?"."+allowed_exts.replace(/,/g,", ."):"*";msgErr=msgErr.replace("%s",txtReplace)}else{msgErr=msgErr.replace("%s",jQuery("#"+imgId+"_allowed_types").attr("data-exts"))}jQuery("#"+imgId+"upload-error").html(msgErr)}else{jQuery("#"+imgId+"upload-error").removeClass("d-none").addClass("d-block");jQuery("#"+imgId+"upload-error").html(files.message)}});uploader.bind("FilesAdded",function(up,files){var totalImg=parseInt(jQuery("#"+imgId+"totImg").val());var limitImg=parseInt(jQuery("#"+imgId+"image_limit").val());jQuery("#"+imgId+"upload-error").html("");jQuery("#"+imgId+"upload-error").removeClass("d-block").addClass("d-none");if(limitImg&&$this.hasClass("plupload-upload-uic-multiple")&&limitImg>0){if(totalImg>=limitImg&&limitImg>0){while(up.files.length>0){up.removeFile(up.files[0])}if(typeof geodir_params.err_file_upload_limit!="undefined"&&geodir_params.err_file_upload_limit!=""){msgErr=geodir_params.err_file_upload_limit}else{msgErr="You have reached your upload limit of %s files."}msgErr=msgErr.replace("%s",limitImg);jQuery("#"+imgId+"upload-error").removeClass("d-none").addClass("d-block");jQuery("#"+imgId+"upload-error").html(msgErr);return false}if(up.files.length>limitImg&&limitImg>0){while(up.files.length>0){up.removeFile(up.files[0])}if(typeof geodir_params.err_pkg_upload_limit!="undefined"&&geodir_params.err_pkg_upload_limit!=""){msgErr=geodir_params.err_pkg_upload_limit}else{msgErr="You may only upload %s files with this package, please try again."}msgErr=msgErr.replace("%s",limitImg);jQuery("#"+imgId+"upload-error").removeClass("d-none").addClass("d-block");jQuery("#"+imgId+"upload-error").html(msgErr);return false}}$.each(files,function(i,file){$this.find(".filelist").append('
'+file.name+" ("+plupload.formatSize(0)+"/"+plupload.formatSize(file.size)+") "+'
')});up.refresh();up.start()});uploader.bind("UploadProgress",function(up,file){$("#"+file.id+" .fileprogress").width(file.percent+"%");$("#"+file.id+" span").html(plupload.formatSize(parseInt(file.size*file.percent/100)))});var timer;var i=0;var indexes=new Array;uploader.bind("FileUploaded",function(up,file,response){$("#"+file.id+" .fileprogress").removeClass("progress-bar-animated");var totalImg=parseInt(jQuery("#"+imgId+"totImg").val());indexes[i]=up;clearInterval(timer);timer=setTimeout(function(){},1e3);i++;$("#"+file.id).fadeOut();response=response["response"];if($this.hasClass("plupload-upload-uic-multiple")){totalImg++;jQuery("#"+imgId+"totImg").val(totalImg);var v1=$.trim($("#"+imgId,$("#"+imgId+"plupload-upload-ui").parent()).val());if(v1){v1=v1+"::"+response}else{v1=response}$("#"+imgId,$("#"+imgId+"plupload-upload-ui").parent()).val(v1).trigger("change")}else{$("#"+imgId,$("#"+imgId+"plupload-upload-ui").parent()).val(response+"").trigger("change")}plu_show_thumbs(imgId)})})}});function geodir_esc_entities(str){str=geodir_decode_entities(str);var entityMap={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/","`":"`","=":"="};return String(str).replace(/[&<>"'`=\/]/g,function(s){return entityMap[s]})}function geodir_decode_entities(str){if(!str){return str}var entityMap={"&":"&","<":"<",">":">",""":'"',"'":"'","/":"/","`":"`","=":"="};for(k in entityMap){var pat=new RegExp(k,"g");str=str.replace(pat,entityMap[k])}return str}function geodir_remove_file_index(indexes){for(var i=0;i0){indexes[i].removeFile(indexes[i].files[0])}}}function plu_show_thumbs(imgId){var totalImg=parseInt(jQuery("#"+imgId+"totImg").val());var limitImg=parseInt(jQuery("#"+imgId+"image_limit").val());var $=jQuery;var thumbsC=$("#"+imgId+"plupload-thumbs");thumbsC.html("");var imagesS=$("#"+imgId,$("#"+imgId+"plupload-upload-ui").parent()).val();var txtRemove="Remove";if(typeof geodir_params.action_remove!="undefined"&&geodir_params.action_remove!=""){txtRemove=geodir_params.action_remove}if(!imagesS){return}var images=imagesS.split("::");for(var i=0;i';if(!!image_title.trim()){image_title_html=''+image_title+""}if(!!image_caption.trim()){image_caption_html=''+image_caption+""}}else{var file_type_class="fa-file";if(file_ext=="pdf"){file_type_class="fa-file-pdf"}else if(file_ext=="zip"||file_ext=="tar"){file_type_class="fa-file-archive"}else if(file_ext=="doc"||file_ext=="odt"){file_type_class="fa-file-word"}else if(file_ext=="txt"||file_ext=="text"){file_type_class="fa-file"}else if(file_ext=="csv"||file_ext=="ods"||file_ext=="ots"){file_type_class="fa-file-excel"}else if(file_ext=="avi"||file_ext=="mp4"||file_ext=="mov"){file_type_class="fa-file-video"}file_display_class="file-thumb";file_display=''}var thumb=$('
'+image_title_html+file_display+image_caption_html+'
'+' '+''+''+"
"+"
");thumbsC.append(thumb);thumb.find(".thumbremovelink").on("click",function(){if(jQuery("#"+imgId+"plupload-upload-ui").hasClass("plupload-upload-uic-multiple")){totalImg--;jQuery("#"+imgId+"totImg").val(totalImg)}jQuery("#"+imgId+"upload-error").html("");jQuery("#"+imgId+"upload-error").removeClass("d-block").addClass("d-none");var ki=$(this).attr("id").replace("thumbremovelink"+imgId,"");ki=parseInt(ki);var kimages=[];imagesS=$("#"+imgId,$("#"+imgId+"plupload-upload-ui").parent()).val();images=imagesS.split("::");for(var j=0;j0&&!(limitImg>i)){thumb.find(".thumbremovelink").trigger("click")}}}if(images.length>1){thumbsC.sortable({update:function(event,ui){var kimages=[];thumbsC.find(".gd-file-info").each(function(){kimages[kimages.length]=$(this).data("src")+"|"+$(this).data("id")+"|"+$(this).data("title")+"|"+$(this).data("caption");$("#"+imgId,$("#"+imgId+"plupload-upload-ui").parent()).val(kimages.join("::")).trigger("change");plu_show_thumbs(imgId)})}});thumbsC.disableSelection()}var kimages=[];thumbsC.find(".gd-file-info").each(function(){kimages[kimages.length]=$(this).data("src")+"|"+$(this).data("id")+"|"+$(this).data("title")+"|"+$(this).data("caption");$("#"+imgId,$("#"+imgId+"plupload-upload-ui").parent()).val(kimages.join("::")).trigger("change")})}function gd_edit_image_meta(inputId,orderId){var imagesS=jQuery("#"+inputId,jQuery("#"+inputId+"plupload-upload-ui").parent()).val(),images=imagesS.split("::"),img_arr=images[orderId].split("|"),image_title=geodir_esc_entities(img_arr[2]),image_caption=geodir_esc_entities(img_arr[3]),html="",hBtn="";html=html+"
";html=html+"
";hBtn=""+geodir_params.button_set+"";jQuery("#gd-image-meta-input .modal-body").html(html);jQuery("#gd-image-meta-input .modal-footer").html(hBtn);jQuery("#gd-image-meta-input").modal("show")}function gd_set_image_meta(inputId,orderId){var imagesS=jQuery("#"+inputId,jQuery("#"+inputId+"plupload-upload-ui").parent()).val(),images=imagesS.split("::"),img_arr=images[orderId].split("|"),image_url=img_arr[0],image_id=img_arr[1],image_title=geodir_esc_entities(jQuery("#gd-image-meta-title").val()),image_caption=geodir_esc_entities(jQuery("#gd-image-meta-caption").val());images[orderId]=image_url+"|"+image_id+"|"+image_title+"|"+image_caption;imagesS=images.join("::");jQuery("#"+inputId,jQuery("#"+inputId+"plupload-upload-ui").parent()).val(imagesS).trigger("change");plu_show_thumbs(inputId);jQuery("#gd-image-meta-input").modal("hide")} \ No newline at end of file +jQuery.fn.exists=function(){return jQuery(this).length>0};jQuery(document).ready(function($){if($(".plupload-upload-uic").exists()){var pconfig=false;var msgErr="";var post_id="";if(jQuery("#geodirectory-add-post input[name='ID']").length){post_id=jQuery("#geodirectory-add-post input[name='ID']").val()}else{post_id=jQuery("#post input[name='post_ID']").val()}$(".plupload-upload-uic").each(function(){var $this=$(this);var id1=$this.attr("id");var imgId=id1.replace("plupload-upload-ui","");plu_show_thumbs(imgId);pconfig=JSON.parse(geodir_plupload_params.base_plupload_config);pconfig["browse_button"]=imgId+pconfig["browse_button"];pconfig["container"]=imgId+pconfig["container"];if(jQuery("#"+imgId+"dropbox").length){pconfig["drop_element"]=imgId+"dropbox"}pconfig["file_data_name"]=imgId+pconfig["file_data_name"];pconfig["multipart_params"]["imgid"]=imgId;pconfig["multipart_params"]["post_id"]=post_id;if($this.hasClass("plupload-upload-uic-multiple")){pconfig["multi_selection"]=true}var allowed_exts=jQuery("#"+imgId+"_allowed_types").val();allowed_exts=allowed_exts&&allowed_exts!=""?allowed_exts:"";if(imgId=="post_images"&&typeof geodir_params.gd_allowed_img_types!="undefined"&&geodir_params.gd_allowed_img_types!=""){allowed_exts=geodir_params.gd_allowed_img_types}if(allowed_exts&&allowed_exts!=""){var txt_all_files=typeof geodir_params.txt_all_files!="undefined"&&geodir_params.txt_all_files!=""?geodir_params.txt_all_files:"Allowed files";pconfig["filters"]=[{title:txt_all_files,extensions:allowed_exts}]}var uploader=new plupload.Uploader(pconfig);uploader.bind("Init",function(up){});uploader.bind("Init",function(up,params){if(uploader.features.dragdrop){var drop_id=imgId+"dropbox";var target=jQuery("#"+drop_id);target.on("dragenter",function(event){target.addClass("dragover")});target.on("dragleave",function(event){target.removeClass("dragover")});target.on("drop",function(){target.removeClass("dragover")})}if($this.find(".moxie-shim").length){$this.find(".moxie-shim").css({position:"initial"})}});uploader.init();uploader.bind("UploadFile",function(up,file){if(imgId=="post_images"){window.geodirUploading=true}});uploader.bind("UploadComplete",function(up,files){if(imgId=="post_images"){window.geodirUploading=false}});uploader.bind("Error",function(up,files){if(imgId=="post_images"){window.geodirUploading=false}if(files.code==-600){jQuery("#"+imgId+"upload-error").removeClass("d-none").addClass("d-block");if(typeof geodir_params.err_max_file_size!="undefined"&&geodir_params.err_max_file_size!=""){msgErr=geodir_params.err_max_file_size}else{msgErr="File size error : You tried to upload a file over %s"}msgErr=msgErr.replace("%s",geodir_plupload_params.upload_img_size);jQuery("#"+imgId+"upload-error").html(msgErr)}else if(files.code==-601){jQuery("#"+imgId+"upload-error").removeClass("d-none").addClass("d-block");if(typeof geodir_params.err_file_type!="undefined"&&geodir_params.err_file_type!=""){msgErr=geodir_params.err_file_type}else{msgErr="File type error. Allowed file types: %s"}if(imgId=="post_images"){var txtReplace=allowed_exts!=""?"."+allowed_exts.replace(/,/g,", ."):"*";msgErr=msgErr.replace("%s",txtReplace)}else{msgErr=msgErr.replace("%s",jQuery("#"+imgId+"_allowed_types").attr("data-exts"))}jQuery("#"+imgId+"upload-error").html(msgErr)}else{jQuery("#"+imgId+"upload-error").removeClass("d-none").addClass("d-block");jQuery("#"+imgId+"upload-error").html(files.message)}});uploader.bind("FilesAdded",function(up,files){var totalImg=parseInt(jQuery("#"+imgId+"totImg").val());var limitImg=parseInt(jQuery("#"+imgId+"image_limit").val());jQuery("#"+imgId+"upload-error").html("");jQuery("#"+imgId+"upload-error").removeClass("d-block").addClass("d-none");if(limitImg&&$this.hasClass("plupload-upload-uic-multiple")&&limitImg>0){if(totalImg>=limitImg&&limitImg>0){while(up.files.length>0){up.removeFile(up.files[0])}if(typeof geodir_params.err_file_upload_limit!="undefined"&&geodir_params.err_file_upload_limit!=""){msgErr=geodir_params.err_file_upload_limit}else{msgErr="You have reached your upload limit of %s files."}msgErr=msgErr.replace("%s",limitImg);jQuery("#"+imgId+"upload-error").removeClass("d-none").addClass("d-block");jQuery("#"+imgId+"upload-error").html(msgErr);return false}if(up.files.length>limitImg&&limitImg>0){while(up.files.length>0){up.removeFile(up.files[0])}if(typeof geodir_params.err_pkg_upload_limit!="undefined"&&geodir_params.err_pkg_upload_limit!=""){msgErr=geodir_params.err_pkg_upload_limit}else{msgErr="You may only upload %s files with this package, please try again."}msgErr=msgErr.replace("%s",limitImg);jQuery("#"+imgId+"upload-error").removeClass("d-none").addClass("d-block");jQuery("#"+imgId+"upload-error").html(msgErr);return false}}$.each(files,function(i,file){$this.find(".filelist").append('
'+file.name+" ("+plupload.formatSize(0)+"/"+plupload.formatSize(file.size)+") "+'
')});up.refresh();up.start()});uploader.bind("UploadProgress",function(up,file){$("#"+file.id+" .fileprogress").width(file.percent+"%");$("#"+file.id+" span").html(plupload.formatSize(parseInt(file.size*file.percent/100)))});var timer;var i=0;var indexes=new Array;uploader.bind("FileUploaded",function(up,file,response){$("#"+file.id+" .fileprogress").removeClass("progress-bar-animated");var totalImg=parseInt(jQuery("#"+imgId+"totImg").val());indexes[i]=up;clearInterval(timer);timer=setTimeout(function(){},1e3);i++;$("#"+file.id).fadeOut();response=response["response"];if($this.hasClass("plupload-upload-uic-multiple")){totalImg++;jQuery("#"+imgId+"totImg").val(totalImg);var v1=$.trim($("#"+imgId,$("#"+imgId+"plupload-upload-ui").parent()).val());if(v1){v1=v1+"::"+response}else{v1=response}$("#"+imgId,$("#"+imgId+"plupload-upload-ui").parent()).val(v1).trigger("change")}else{$("#"+imgId,$("#"+imgId+"plupload-upload-ui").parent()).val(response+"").trigger("change")}plu_show_thumbs(imgId)})})}});function geodir_esc_entities(str){str=geodir_decode_entities(str);var entityMap={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/","`":"`","=":"="};return String(str).replace(/[&<>"'`=\/]/g,function(s){return entityMap[s]})}function geodir_decode_entities(str){if(!str){return str}var entityMap={"&":"&","<":"<",">":">",""":'"',"'":"'","/":"/","`":"`","=":"="};for(k in entityMap){var pat=new RegExp(k,"g");str=str.replace(pat,entityMap[k])}return str}function geodir_remove_file_index(indexes){for(var i=0;i0){indexes[i].removeFile(indexes[i].files[0])}}}function plu_show_thumbs(imgId){var totalImg=parseInt(jQuery("#"+imgId+"totImg").val());var limitImg=parseInt(jQuery("#"+imgId+"image_limit").val());var $=jQuery;var thumbsC=$("#"+imgId+"plupload-thumbs");thumbsC.html("");var imagesS=$("#"+imgId,$("#"+imgId+"plupload-upload-ui").parent()).val();var txtRemove="Remove";if(typeof geodir_params.action_remove!="undefined"&&geodir_params.action_remove!=""){txtRemove=geodir_params.action_remove}if(!imagesS){return}var images=imagesS.split("::");for(var i=0;i';if(!!image_title.trim()){image_title_html=''+image_title+""}if(!!image_caption.trim()){image_caption_html=''+image_caption+""}}else{var file_type_class="fa-file";if(file_ext=="pdf"){file_type_class="fa-file-pdf"}else if(file_ext=="zip"||file_ext=="tar"){file_type_class="fa-file-archive"}else if(file_ext=="doc"||file_ext=="odt"){file_type_class="fa-file-word"}else if(file_ext=="txt"||file_ext=="text"){file_type_class="fa-file"}else if(file_ext=="csv"||file_ext=="ods"||file_ext=="ots"){file_type_class="fa-file-excel"}else if(file_ext=="avi"||file_ext=="mp4"||file_ext=="mov"){file_type_class="fa-file-video"}file_display_class="file-thumb";file_display=''}var thumb=$('
'+image_title_html+file_display+image_caption_html+'
'+' '+''+''+"
"+"
");thumbsC.append(thumb);thumb.find(".thumbremovelink").on("click",function(){if(jQuery("#"+imgId+"plupload-upload-ui").hasClass("plupload-upload-uic-multiple")){totalImg--;jQuery("#"+imgId+"totImg").val(totalImg)}jQuery("#"+imgId+"upload-error").html("");jQuery("#"+imgId+"upload-error").removeClass("d-block").addClass("d-none");var ki=$(this).attr("id").replace("thumbremovelink"+imgId,"");ki=parseInt(ki);var kimages=[];imagesS=$("#"+imgId,$("#"+imgId+"plupload-upload-ui").parent()).val();images=imagesS.split("::");for(var j=0;j0&&!(limitImg>i)){thumb.find(".thumbremovelink").trigger("click")}}}if(images.length>1){thumbsC.sortable({update:function(event,ui){var kimages=[];thumbsC.find(".gd-file-info").each(function(){kimages[kimages.length]=$(this).data("src")+"|"+$(this).data("id")+"|"+$(this).data("title")+"|"+$(this).data("caption");$("#"+imgId,$("#"+imgId+"plupload-upload-ui").parent()).val(kimages.join("::")).trigger("change");plu_show_thumbs(imgId)})}});thumbsC.disableSelection()}var kimages=[];thumbsC.find(".gd-file-info").each(function(){kimages[kimages.length]=$(this).data("src")+"|"+$(this).data("id")+"|"+$(this).data("title")+"|"+$(this).data("caption");$("#"+imgId,$("#"+imgId+"plupload-upload-ui").parent()).val(kimages.join("::")).trigger("change")})}function gd_edit_image_meta(inputId,orderId){var imagesS=jQuery("#"+inputId,jQuery("#"+inputId+"plupload-upload-ui").parent()).val(),images=imagesS.split("::"),img_arr=images[orderId].split("|"),image_title=geodir_esc_entities(img_arr[2]),image_caption=geodir_esc_entities(img_arr[3]),html="",hBtn="";html=html+"
";html=html+"
";hBtn=""+geodir_params.button_set+"";jQuery("#gd-image-meta-input .modal-body").html(html);jQuery("#gd-image-meta-input .modal-footer").html(hBtn);jQuery("#gd-image-meta-input").modal("show")}function gd_set_image_meta(inputId,orderId){var imagesS=jQuery("#"+inputId,jQuery("#"+inputId+"plupload-upload-ui").parent()).val(),images=imagesS.split("::"),img_arr=images[orderId].split("|"),image_url=img_arr[0],image_id=img_arr[1],image_title=geodir_esc_entities(jQuery("#gd-image-meta-title").val()),image_caption=geodir_esc_entities(jQuery("#gd-image-meta-caption").val());images[orderId]=image_url+"|"+image_id+"|"+image_title+"|"+image_caption;imagesS=images.join("::");jQuery("#"+inputId,jQuery("#"+inputId+"plupload-upload-ui").parent()).val(imagesS).trigger("change");plu_show_thumbs(inputId);jQuery("#gd-image-meta-input").modal("hide")} \ No newline at end of file diff --git a/assets/js/geodirectory-plupload.js b/assets/js/geodirectory-plupload.js index 843082696..dd09907b7 100644 --- a/assets/js/geodirectory-plupload.js +++ b/assets/js/geodirectory-plupload.js @@ -344,7 +344,7 @@ function plu_show_thumbs(imgId) { var file_display = ''; var file_display_class = ''; - if (file_ext == 'jpg' || file_ext == 'jpe' || file_ext == 'jpeg' || file_ext == 'png' || file_ext == 'gif' || file_ext == 'bmp' || file_ext == 'ico' || file_ext == 'webp') { + if (file_ext == 'jpg' || file_ext == 'jpe' || file_ext == 'jpeg' || file_ext == 'png' || file_ext == 'gif' || file_ext == 'bmp' || file_ext == 'ico' || file_ext == 'webp' || file_ext == 'svg') { file_display = ''; if(!!image_title.trim()){ image_title_html = '' + image_title + ''; diff --git a/assets/js/geodirectory-plupload.min.js b/assets/js/geodirectory-plupload.min.js index bf6f44063..6a1cd9022 100644 --- a/assets/js/geodirectory-plupload.min.js +++ b/assets/js/geodirectory-plupload.min.js @@ -1 +1 @@ -jQuery.fn.exists=function(){return jQuery(this).length>0};jQuery(document).ready(function($){if($(".plupload-upload-uic").exists()){var pconfig=false;var msgErr="";var post_id="";if(jQuery("#geodirectory-add-post input[name='ID']").length){post_id=jQuery("#geodirectory-add-post input[name='ID']").val()}else{post_id=jQuery("#post input[name='post_ID']").val()}$(".plupload-upload-uic").each(function(){var $this=$(this);var id1=$this.attr("id");var imgId=id1.replace("plupload-upload-ui","");plu_show_thumbs(imgId);pconfig=JSON.parse(geodir_plupload_params.base_plupload_config);pconfig["browse_button"]=imgId+pconfig["browse_button"];pconfig["container"]=imgId+pconfig["container"];if(jQuery("#"+imgId+"dropbox").length){pconfig["drop_element"]=imgId+"dropbox"}pconfig["file_data_name"]=imgId+pconfig["file_data_name"];pconfig["multipart_params"]["imgid"]=imgId;pconfig["multipart_params"]["post_id"]=post_id;if($this.hasClass("plupload-upload-uic-multiple")){pconfig["multi_selection"]=true}var allowed_exts=jQuery("#"+imgId+"_allowed_types").val();allowed_exts=allowed_exts&&allowed_exts!=""?allowed_exts:"";if(imgId=="post_images"&&typeof geodir_params.gd_allowed_img_types!="undefined"&&geodir_params.gd_allowed_img_types!=""){allowed_exts=geodir_params.gd_allowed_img_types}if(allowed_exts&&allowed_exts!=""){var txt_all_files=typeof geodir_params.txt_all_files!="undefined"&&geodir_params.txt_all_files!=""?geodir_params.txt_all_files:"Allowed files";pconfig["filters"]=[{title:txt_all_files,extensions:allowed_exts}]}var uploader=new plupload.Uploader(pconfig);uploader.bind("Init",function(up){});uploader.bind("Init",function(up,params){if(uploader.features.dragdrop){var drop_id=imgId+"dropbox";var target=jQuery("#"+drop_id);target.on("dragenter",function(event){target.addClass("dragover")});target.on("dragleave",function(event){target.removeClass("dragover")});target.on("drop",function(){target.removeClass("dragover")})}if($this.find(".moxie-shim").length)$this.find(".moxie-shim").css({"position":"initial"})});uploader.init();uploader.bind("UploadFile",function(up,file){if(imgId=="post_images"){window.geodirUploading=true}});uploader.bind("UploadComplete",function(up,files){if(imgId=="post_images"){window.geodirUploading=false}});uploader.bind("Error",function(up,files){if(imgId=="post_images"){window.geodirUploading=false}if(files.code==-600){jQuery("#"+imgId+"upload-error").addClass("upload-error");if(typeof geodir_params.err_max_file_size!="undefined"&&geodir_params.err_max_file_size!=""){msgErr=geodir_params.err_max_file_size}else{msgErr="File size error : You tried to upload a file over %s"}msgErr=msgErr.replace("%s",geodir_plupload_params.upload_img_size);jQuery("#"+imgId+"upload-error").html(msgErr)}else if(files.code==-601){jQuery("#"+imgId+"upload-error").addClass("upload-error");if(typeof geodir_params.err_file_type!="undefined"&&geodir_params.err_file_type!=""){msgErr=geodir_params.err_file_type}else{msgErr="File type error. Allowed file types: %s"}if(imgId=="post_images"){var txtReplace=allowed_exts!=""?"."+allowed_exts.replace(/,/g,", ."):"*";msgErr=msgErr.replace("%s",txtReplace)}else{msgErr=msgErr.replace("%s",jQuery("#"+imgId+"_allowed_types").attr("data-exts"))}jQuery("#"+imgId+"upload-error").html(msgErr)}else{jQuery("#"+imgId+"upload-error").addClass("upload-error");jQuery("#"+imgId+"upload-error").html(files.message)}});uploader.bind("FilesAdded",function(up,files){var totalImg=parseInt(jQuery("#"+imgId+"totImg").val());var limitImg=parseInt(jQuery("#"+imgId+"image_limit").val());jQuery("#"+imgId+"upload-error").html("");jQuery("#"+imgId+"upload-error").removeClass("upload-error");if(limitImg&&$this.hasClass("plupload-upload-uic-multiple")&&limitImg>0){if(totalImg>=limitImg&&limitImg>0){while(up.files.length>0){up.removeFile(up.files[0])}if(typeof geodir_params.err_file_upload_limit!="undefined"&&geodir_params.err_file_upload_limit!=""){msgErr=geodir_params.err_file_upload_limit}else{msgErr="You have reached your upload limit of %s files."}msgErr=msgErr.replace("%s",limitImg);jQuery("#"+imgId+"upload-error").addClass("upload-error");jQuery("#"+imgId+"upload-error").html(msgErr);return false}if(up.files.length>limitImg&&limitImg>0){while(up.files.length>0){up.removeFile(up.files[0])}if(typeof geodir_params.err_pkg_upload_limit!="undefined"&&geodir_params.err_pkg_upload_limit!=""){msgErr=geodir_params.err_pkg_upload_limit}else{msgErr="You may only upload %s files with this package, please try again."}msgErr=msgErr.replace("%s",limitImg);jQuery("#"+imgId+"upload-error").addClass("upload-error");jQuery("#"+imgId+"upload-error").html(msgErr);return false}}$.each(files,function(i,file){$this.find(".filelist").append('
'+file.name+" ("+plupload.formatSize(0)+"/"+plupload.formatSize(file.size)+") "+'
')});up.refresh();up.start()});uploader.bind("UploadProgress",function(up,file){$("#"+file.id+" .fileprogress").width(file.percent+"%");$("#"+file.id+" span").html(plupload.formatSize(parseInt(file.size*file.percent/100)))});var timer;var i=0;var indexes=new Array;uploader.bind("FileUploaded",function(up,file,response){var totalImg=parseInt(jQuery("#"+imgId+"totImg").val());indexes[i]=up;clearInterval(timer);timer=setTimeout(function(){},1e3);i++;$("#"+file.id).fadeOut();response=response["response"];if($this.hasClass("plupload-upload-uic-multiple")){totalImg++;jQuery("#"+imgId+"totImg").val(totalImg);var v1=$.trim($("#"+imgId,$("#"+imgId+"plupload-upload-ui").parent()).val());if(v1){v1=v1+"::"+response}else{v1=response}$("#"+imgId,$("#"+imgId+"plupload-upload-ui").parent()).val(v1).trigger("change")}else{$("#"+imgId,$("#"+imgId+"plupload-upload-ui").parent()).val(response+"").trigger("change")}plu_show_thumbs(imgId)})})}});function geodir_esc_entities(str){str=geodir_decode_entities(str);var entityMap={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/","`":"`","=":"="};return String(str).replace(/[&<>"'`=\/]/g,function(s){return entityMap[s]})}function geodir_decode_entities(str){if(!str){return str}var entityMap={"&":"&","<":"<",">":">",""":'"',"'":"'","/":"/","`":"`","=":"="};for(k in entityMap){var pat=new RegExp(k,"g");str=str.replace(pat,entityMap[k])}return str}function geodir_remove_file_index(indexes){for(var i=0;i0){indexes[i].removeFile(indexes[i].files[0])}}}function plu_show_thumbs(imgId){var totalImg=parseInt(jQuery("#"+imgId+"totImg").val());var limitImg=parseInt(jQuery("#"+imgId+"image_limit").val());var $=jQuery;var thumbsC=$("#"+imgId+"plupload-thumbs");thumbsC.html("");var imagesS=$("#"+imgId,$("#"+imgId+"plupload-upload-ui").parent()).val();var txtRemove="Remove";if(typeof geodir_params.action_remove!="undefined"&&geodir_params.action_remove!=""){txtRemove=geodir_params.action_remove}if(!imagesS){return}var images=imagesS.split("::");for(var i=0;i';if(!!image_title.trim()){image_title_html=''+image_title+""}if(!!image_caption.trim()){image_caption_html=''+image_caption+""}}else{var file_type_class="fa-file";if(file_ext=="pdf"){file_type_class="fa-file-pdf"}else if(file_ext=="zip"||file_ext=="tar"){file_type_class="fa-file-archive"}else if(file_ext=="doc"||file_ext=="odt"){file_type_class="fa-file-word"}else if(file_ext=="txt"||file_ext=="text"){file_type_class="fa-file"}else if(file_ext=="csv"||file_ext=="ods"||file_ext=="ots"){file_type_class="fa-file-excel"}else if(file_ext=="avi"||file_ext=="mp4"||file_ext=="mov"){file_type_class="fa-file-video"}file_display_class="file-thumb";file_display=''}var thumb=$('
'+image_title_html+file_display+image_caption_html+'
'+''+''+"
"+"
");thumbsC.append(thumb);thumb.find(".thumbremovelink").on("click",function(){if(jQuery("#"+imgId+"plupload-upload-ui").hasClass("plupload-upload-uic-multiple")){totalImg--;jQuery("#"+imgId+"totImg").val(totalImg)}jQuery("#"+imgId+"upload-error").html("");jQuery("#"+imgId+"upload-error").removeClass("upload-error");var ki=$(this).attr("id").replace("thumbremovelink"+imgId,"");ki=parseInt(ki);var kimages=[];imagesS=$("#"+imgId,$("#"+imgId+"plupload-upload-ui").parent()).val();images=imagesS.split("::");for(var j=0;j0&&!(limitImg>i)){thumb.find(".thumbremovelink").trigger("click")}}}if(images.length>1){thumbsC.sortable({update:function(event,ui){var kimages=[];thumbsC.find(".gd-file-info").each(function(){kimages[kimages.length]=$(this).data("src")+"|"+$(this).data("id")+"|"+$(this).data("title")+"|"+$(this).data("caption");$("#"+imgId,$("#"+imgId+"plupload-upload-ui").parent()).val(kimages.join("::")).trigger("change");plu_show_thumbs(imgId)})}});thumbsC.disableSelection()}var kimages=[];thumbsC.find(".gd-file-info").each(function(){kimages[kimages.length]=$(this).data("src")+"|"+$(this).data("id")+"|"+$(this).data("title")+"|"+$(this).data("caption");$("#"+imgId,$("#"+imgId+"plupload-upload-ui").parent()).val(kimages.join("::")).trigger("change")})}function gd_edit_image_meta(input,order_id){var imagesS=jQuery("#"+input.id,jQuery("#"+input.id+"plupload-upload-ui").parent()).val();var images=imagesS.split("::");var img_arr=images[order_id].split("|");var image_title=geodir_esc_entities(img_arr[2]);var image_caption=geodir_esc_entities(img_arr[3]);var html="";html=html+"
";html=html+"
";html=html+"
";jQuery("#gd-image-meta-input").html(html);lity("#gd-image-meta-input")}function gd_set_image_meta(input_id,order_id){var imagesS=jQuery("#"+input_id,jQuery("#"+input_id+"plupload-upload-ui").parent()).val();var images=imagesS.split("::");var img_arr=images[order_id].split("|");var image_url=img_arr[0];var image_id=img_arr[1];var image_title=geodir_esc_entities(jQuery("#gd-image-meta-title").val());var image_caption=geodir_esc_entities(jQuery("#gd-image-meta-caption").val());images[order_id]=image_url+"|"+image_id+"|"+image_title+"|"+image_caption;imagesS=images.join("::");jQuery("#"+input_id,jQuery("#"+input_id+"plupload-upload-ui").parent()).val(imagesS).trigger("change");plu_show_thumbs(input_id);jQuery("[data-lity-close]",window.parent.document).trigger("click")} \ No newline at end of file +jQuery.fn.exists=function(){return jQuery(this).length>0};jQuery(document).ready(function($){if($(".plupload-upload-uic").exists()){var pconfig=false;var msgErr="";var post_id="";if(jQuery("#geodirectory-add-post input[name='ID']").length){post_id=jQuery("#geodirectory-add-post input[name='ID']").val()}else{post_id=jQuery("#post input[name='post_ID']").val()}$(".plupload-upload-uic").each(function(){var $this=$(this);var id1=$this.attr("id");var imgId=id1.replace("plupload-upload-ui","");plu_show_thumbs(imgId);pconfig=JSON.parse(geodir_plupload_params.base_plupload_config);pconfig["browse_button"]=imgId+pconfig["browse_button"];pconfig["container"]=imgId+pconfig["container"];if(jQuery("#"+imgId+"dropbox").length){pconfig["drop_element"]=imgId+"dropbox"}pconfig["file_data_name"]=imgId+pconfig["file_data_name"];pconfig["multipart_params"]["imgid"]=imgId;pconfig["multipart_params"]["post_id"]=post_id;if($this.hasClass("plupload-upload-uic-multiple")){pconfig["multi_selection"]=true}var allowed_exts=jQuery("#"+imgId+"_allowed_types").val();allowed_exts=allowed_exts&&allowed_exts!=""?allowed_exts:"";if(imgId=="post_images"&&typeof geodir_params.gd_allowed_img_types!="undefined"&&geodir_params.gd_allowed_img_types!=""){allowed_exts=geodir_params.gd_allowed_img_types}if(allowed_exts&&allowed_exts!=""){var txt_all_files=typeof geodir_params.txt_all_files!="undefined"&&geodir_params.txt_all_files!=""?geodir_params.txt_all_files:"Allowed files";pconfig["filters"]=[{title:txt_all_files,extensions:allowed_exts}]}var uploader=new plupload.Uploader(pconfig);uploader.bind("Init",function(up){});uploader.bind("Init",function(up,params){if(uploader.features.dragdrop){var drop_id=imgId+"dropbox";var target=jQuery("#"+drop_id);target.on("dragenter",function(event){target.addClass("dragover")});target.on("dragleave",function(event){target.removeClass("dragover")});target.on("drop",function(){target.removeClass("dragover")})}if($this.find(".moxie-shim").length)$this.find(".moxie-shim").css({"position":"initial"})});uploader.init();uploader.bind("UploadFile",function(up,file){if(imgId=="post_images"){window.geodirUploading=true}});uploader.bind("UploadComplete",function(up,files){if(imgId=="post_images"){window.geodirUploading=false}});uploader.bind("Error",function(up,files){if(imgId=="post_images"){window.geodirUploading=false}if(files.code==-600){jQuery("#"+imgId+"upload-error").addClass("upload-error");if(typeof geodir_params.err_max_file_size!="undefined"&&geodir_params.err_max_file_size!=""){msgErr=geodir_params.err_max_file_size}else{msgErr="File size error : You tried to upload a file over %s"}msgErr=msgErr.replace("%s",geodir_plupload_params.upload_img_size);jQuery("#"+imgId+"upload-error").html(msgErr)}else if(files.code==-601){jQuery("#"+imgId+"upload-error").addClass("upload-error");if(typeof geodir_params.err_file_type!="undefined"&&geodir_params.err_file_type!=""){msgErr=geodir_params.err_file_type}else{msgErr="File type error. Allowed file types: %s"}if(imgId=="post_images"){var txtReplace=allowed_exts!=""?"."+allowed_exts.replace(/,/g,", ."):"*";msgErr=msgErr.replace("%s",txtReplace)}else{msgErr=msgErr.replace("%s",jQuery("#"+imgId+"_allowed_types").attr("data-exts"))}jQuery("#"+imgId+"upload-error").html(msgErr)}else{jQuery("#"+imgId+"upload-error").addClass("upload-error");jQuery("#"+imgId+"upload-error").html(files.message)}});uploader.bind("FilesAdded",function(up,files){var totalImg=parseInt(jQuery("#"+imgId+"totImg").val());var limitImg=parseInt(jQuery("#"+imgId+"image_limit").val());jQuery("#"+imgId+"upload-error").html("");jQuery("#"+imgId+"upload-error").removeClass("upload-error");if(limitImg&&$this.hasClass("plupload-upload-uic-multiple")&&limitImg>0){if(totalImg>=limitImg&&limitImg>0){while(up.files.length>0){up.removeFile(up.files[0])}if(typeof geodir_params.err_file_upload_limit!="undefined"&&geodir_params.err_file_upload_limit!=""){msgErr=geodir_params.err_file_upload_limit}else{msgErr="You have reached your upload limit of %s files."}msgErr=msgErr.replace("%s",limitImg);jQuery("#"+imgId+"upload-error").addClass("upload-error");jQuery("#"+imgId+"upload-error").html(msgErr);return false}if(up.files.length>limitImg&&limitImg>0){while(up.files.length>0){up.removeFile(up.files[0])}if(typeof geodir_params.err_pkg_upload_limit!="undefined"&&geodir_params.err_pkg_upload_limit!=""){msgErr=geodir_params.err_pkg_upload_limit}else{msgErr="You may only upload %s files with this package, please try again."}msgErr=msgErr.replace("%s",limitImg);jQuery("#"+imgId+"upload-error").addClass("upload-error");jQuery("#"+imgId+"upload-error").html(msgErr);return false}}$.each(files,function(i,file){$this.find(".filelist").append('
'+file.name+" ("+plupload.formatSize(0)+"/"+plupload.formatSize(file.size)+") "+'
')});up.refresh();up.start()});uploader.bind("UploadProgress",function(up,file){$("#"+file.id+" .fileprogress").width(file.percent+"%");$("#"+file.id+" span").html(plupload.formatSize(parseInt(file.size*file.percent/100)))});var timer;var i=0;var indexes=new Array;uploader.bind("FileUploaded",function(up,file,response){var totalImg=parseInt(jQuery("#"+imgId+"totImg").val());indexes[i]=up;clearInterval(timer);timer=setTimeout(function(){},1e3);i++;$("#"+file.id).fadeOut();response=response["response"];if($this.hasClass("plupload-upload-uic-multiple")){totalImg++;jQuery("#"+imgId+"totImg").val(totalImg);var v1=$.trim($("#"+imgId,$("#"+imgId+"plupload-upload-ui").parent()).val());if(v1){v1=v1+"::"+response}else{v1=response}$("#"+imgId,$("#"+imgId+"plupload-upload-ui").parent()).val(v1).trigger("change")}else{$("#"+imgId,$("#"+imgId+"plupload-upload-ui").parent()).val(response+"").trigger("change")}plu_show_thumbs(imgId)})})}});function geodir_esc_entities(str){str=geodir_decode_entities(str);var entityMap={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/","`":"`","=":"="};return String(str).replace(/[&<>"'`=\/]/g,function(s){return entityMap[s]})}function geodir_decode_entities(str){if(!str){return str}var entityMap={"&":"&","<":"<",">":">",""":'"',"'":"'","/":"/","`":"`","=":"="};for(k in entityMap){var pat=new RegExp(k,"g");str=str.replace(pat,entityMap[k])}return str}function geodir_remove_file_index(indexes){for(var i=0;i0){indexes[i].removeFile(indexes[i].files[0])}}}function plu_show_thumbs(imgId){var totalImg=parseInt(jQuery("#"+imgId+"totImg").val());var limitImg=parseInt(jQuery("#"+imgId+"image_limit").val());var $=jQuery;var thumbsC=$("#"+imgId+"plupload-thumbs");thumbsC.html("");var imagesS=$("#"+imgId,$("#"+imgId+"plupload-upload-ui").parent()).val();var txtRemove="Remove";if(typeof geodir_params.action_remove!="undefined"&&geodir_params.action_remove!=""){txtRemove=geodir_params.action_remove}if(!imagesS){return}var images=imagesS.split("::");for(var i=0;i';if(!!image_title.trim()){image_title_html=''+image_title+""}if(!!image_caption.trim()){image_caption_html=''+image_caption+""}}else{var file_type_class="fa-file";if(file_ext=="pdf"){file_type_class="fa-file-pdf"}else if(file_ext=="zip"||file_ext=="tar"){file_type_class="fa-file-archive"}else if(file_ext=="doc"||file_ext=="odt"){file_type_class="fa-file-word"}else if(file_ext=="txt"||file_ext=="text"){file_type_class="fa-file"}else if(file_ext=="csv"||file_ext=="ods"||file_ext=="ots"){file_type_class="fa-file-excel"}else if(file_ext=="avi"||file_ext=="mp4"||file_ext=="mov"){file_type_class="fa-file-video"}file_display_class="file-thumb";file_display=''}var thumb=$('
'+image_title_html+file_display+image_caption_html+'
'+''+''+"
"+"
");thumbsC.append(thumb);thumb.find(".thumbremovelink").on("click",function(){if(jQuery("#"+imgId+"plupload-upload-ui").hasClass("plupload-upload-uic-multiple")){totalImg--;jQuery("#"+imgId+"totImg").val(totalImg)}jQuery("#"+imgId+"upload-error").html("");jQuery("#"+imgId+"upload-error").removeClass("upload-error");var ki=$(this).attr("id").replace("thumbremovelink"+imgId,"");ki=parseInt(ki);var kimages=[];imagesS=$("#"+imgId,$("#"+imgId+"plupload-upload-ui").parent()).val();images=imagesS.split("::");for(var j=0;j0&&!(limitImg>i)){thumb.find(".thumbremovelink").trigger("click")}}}if(images.length>1){thumbsC.sortable({update:function(event,ui){var kimages=[];thumbsC.find(".gd-file-info").each(function(){kimages[kimages.length]=$(this).data("src")+"|"+$(this).data("id")+"|"+$(this).data("title")+"|"+$(this).data("caption");$("#"+imgId,$("#"+imgId+"plupload-upload-ui").parent()).val(kimages.join("::")).trigger("change");plu_show_thumbs(imgId)})}});thumbsC.disableSelection()}var kimages=[];thumbsC.find(".gd-file-info").each(function(){kimages[kimages.length]=$(this).data("src")+"|"+$(this).data("id")+"|"+$(this).data("title")+"|"+$(this).data("caption");$("#"+imgId,$("#"+imgId+"plupload-upload-ui").parent()).val(kimages.join("::")).trigger("change")})}function gd_edit_image_meta(input,order_id){var imagesS=jQuery("#"+input.id,jQuery("#"+input.id+"plupload-upload-ui").parent()).val();var images=imagesS.split("::");var img_arr=images[order_id].split("|");var image_title=geodir_esc_entities(img_arr[2]);var image_caption=geodir_esc_entities(img_arr[3]);var html="";html=html+"
";html=html+"
";html=html+"
";jQuery("#gd-image-meta-input").html(html);lity("#gd-image-meta-input")}function gd_set_image_meta(input_id,order_id){var imagesS=jQuery("#"+input_id,jQuery("#"+input_id+"plupload-upload-ui").parent()).val();var images=imagesS.split("::");var img_arr=images[order_id].split("|");var image_url=img_arr[0];var image_id=img_arr[1];var image_title=geodir_esc_entities(jQuery("#gd-image-meta-title").val());var image_caption=geodir_esc_entities(jQuery("#gd-image-meta-caption").val());images[order_id]=image_url+"|"+image_id+"|"+image_title+"|"+image_caption;imagesS=images.join("::");jQuery("#"+input_id,jQuery("#"+input_id+"plupload-upload-ui").parent()).val(imagesS).trigger("change");plu_show_thumbs(input_id);jQuery("[data-lity-close]",window.parent.document).trigger("click")} \ No newline at end of file diff --git a/includes/admin/settings/class-geodir-settings-cpt-cf.php b/includes/admin/settings/class-geodir-settings-cpt-cf.php index 99d1b5e3f..54fe65842 100644 --- a/includes/admin/settings/class-geodir-settings-cpt-cf.php +++ b/includes/admin/settings/class-geodir-settings-cpt-cf.php @@ -595,7 +595,7 @@ public static function fields_predefined( $post_type ) { 'cat_sort' => false, 'cat_filter' => false, 'extra_fields' => array( - 'gd_file_types' => array( 'jpg','jpe','jpeg','gif','png','bmp','ico','webp'), + 'gd_file_types' => geodir_image_extensions(), 'file_limit' => 1, ), 'single_use' => true, diff --git a/includes/class-geodir-media.php b/includes/class-geodir-media.php index f78a9a19d..8448db39f 100644 --- a/includes/class-geodir-media.php +++ b/includes/class-geodir-media.php @@ -304,12 +304,19 @@ public static function insert_attachment( $post_id, $type = 'file', $url = '', $ $file_type = $file_type_arr['type']; } else { $post_type = get_post_type( $post_id ); + // Check for revisions if ( $post_type == 'revision' ) { $post_type = get_post_type( wp_get_post_parent_id( $post_id ) ); } - $allowed_file_types = self::get_file_fields( $post_type ); - $allowed_file_types = isset( $allowed_file_types[ $type ] ) ? $allowed_file_types[ $type ] : array( 'jpg', 'jpe', 'jpeg', 'gif', 'png', 'bmp', 'ico', 'webp' ); + + $cf_file_types = self::get_file_fields( $post_type ); + + if ( ! empty( $cf_file_types ) && ! empty( $cf_file_types[ $type ] ) ) { + $allowed_file_types = $cf_file_types[ $type ]; + } else { + $allowed_file_types = geodir_image_extensions(); + } if ( $order === 0 && $type == 'post_images' ) { $attachment_id = media_sideload_image( $url, $post_id, $title, 'id' ); // Uses the post date for the upload time /2009/12/image.jpg diff --git a/includes/core-functions.php b/includes/core-functions.php index 455071dcd..d333b8de3 100644 --- a/includes/core-functions.php +++ b/includes/core-functions.php @@ -227,15 +227,7 @@ function geodir_get_search_default_button_text() { * @package GeoDirectory */ function geodir_params() { - /** - * Filter the allowed image type extensions for post images. - * - * @since 1.4.7.1 - * - * @param string $allowed_img_types The image type extensions array. - */ - $allowed_img_types = apply_filters( 'geodir_allowed_post_image_exts', array( 'jpg', 'jpeg', 'jpe', 'gif', 'png', 'webp' ) ); - + $allowed_img_types = geodir_image_extensions(); $default_marker_icon = GeoDir_Maps::default_marker_icon( true ); $default_marker_size = GeoDir_Maps::get_marker_size( $default_marker_icon, array( 'w' => 20, 'h' => 34 ) ); $default_marker_width = $default_marker_size['w']; diff --git a/includes/custom-fields/input-functions-aui.php b/includes/custom-fields/input-functions-aui.php index 40e6905e3..98ea99103 100644 --- a/includes/custom-fields/input-functions-aui.php +++ b/includes/custom-fields/input-functions-aui.php @@ -2411,7 +2411,7 @@ function geodir_cfi_files( $html, $cf ) { $extra_fields = maybe_unserialize( $cf['extra_fields'] ); $file_limit = ! empty( $extra_fields ) && ! empty( $extra_fields['file_limit'] ) ? absint( $extra_fields['file_limit'] ) : 0; $file_limit = apply_filters( "geodir_custom_field_file_limit", $file_limit, $cf, $gd_post ); - $file_types = isset( $extra_fields['gd_file_types'] ) ? maybe_unserialize( $extra_fields['gd_file_types'] ) : array( 'jpg','jpe','jpeg','gif','png','bmp','ico','webp'); + $file_types = isset( $extra_fields['gd_file_types'] ) ? maybe_unserialize( $extra_fields['gd_file_types'] ) : geodir_image_extensions(); if ( ! empty( $file_types ) ) { if ( is_scalar( $file_types ) ) { diff --git a/includes/custom-fields/input-functions.php b/includes/custom-fields/input-functions.php index 714c9b22f..5a4d0a0d7 100644 --- a/includes/custom-fields/input-functions.php +++ b/includes/custom-fields/input-functions.php @@ -1915,7 +1915,7 @@ function geodir_cfi_files( $html, $cf ) { $file_limit = ! empty( $extra_fields ) && ! empty( $extra_fields['file_limit'] ) ? absint( $extra_fields['file_limit'] ) : 0; $file_limit = apply_filters( "geodir_custom_field_file_limit", $file_limit, $cf, $gd_post ); - $allowed_file_types = isset( $extra_fields['gd_file_types'] ) ? maybe_unserialize( $extra_fields['gd_file_types'] ) : array( 'jpg','jpe','jpeg','gif','png','bmp','ico','webp'); + $allowed_file_types = isset( $extra_fields['gd_file_types'] ) ? maybe_unserialize( $extra_fields['gd_file_types'] ) : geodir_image_extensions(); $display_file_types = $allowed_file_types != '' ? '.' . implode( ", .", $allowed_file_types ) : ''; if ( ! empty( $allowed_file_types ) ) { $allowed_file_types = implode( ",", $allowed_file_types ); diff --git a/includes/custom-fields/output-functions.php b/includes/custom-fields/output-functions.php index 14c487fcb..b348243af 100644 --- a/includes/custom-fields/output-functions.php +++ b/includes/custom-fields/output-functions.php @@ -1614,7 +1614,7 @@ function geodir_cf_file( $html, $location, $cf, $p = '', $output = '' ) { } //$allowed_file_types = array('application/pdf', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'text/csv', 'text/plain'); - $image_file_types = array( 'image/jpg', 'image/jpeg', 'image/gif', 'image/png', 'image/bmp', 'image/x-icon', 'image/webp' ); + $image_file_types = geodir_image_mime_types(); $audio_file_types = array( 'audio/mpeg', 'audio/ogg', 'audio/mp4', 'audio/vnd.wav', 'audio/basic', 'audio/mid' ); // If the uploaded file is image diff --git a/includes/general-functions.php b/includes/general-functions.php index 741a28ce5..57b7cf04b 100644 --- a/includes/general-functions.php +++ b/includes/general-functions.php @@ -1769,6 +1769,59 @@ function geodir_allowed_mime_types() { ); } +/** + * Retrieves the list of allowed image extensions. + * + * @since 2.3.47. + * + * @return array Array of image extensions. + */ +function geodir_image_extensions() { + $gd_mime_types = geodir_allowed_mime_types(); + + $image_exts = ! empty( $gd_mime_types['Image'] ) ? array_keys( $gd_mime_types['Image'] ) : array(); + + /** + * Filters the list of allowed image extensions. + * + * @since 2.3.47. + * + * @param array $image_exts Array of image extensions. + */ + return apply_filters( 'geodir_allowed_post_image_exts', $image_exts ); +} + +/** + * Retrieves the list of allowed image mime types. + * + * @since 2.3.47. + * + * @return array Array of image mime types. + */ +function geodir_image_mime_types() { + $gd_mime_types = geodir_allowed_mime_types(); + + $mime_types = ! empty( $gd_mime_types['Image'] ) ? array_values( $gd_mime_types['Image'] ) : array(); + + if ( in_array( 'image/jpeg', $mime_types ) ) { + $mime_types[] = 'image/jpe'; + $mime_types[] = 'image/jpg'; + } + + if ( ! empty( $mime_types ) ) { + $mime_types = array_unique( $mime_types ); + } + + /** + * Filters the list of allowed image mime types. + * + * @since 2.3.47. + * + * @param array $mime_types Array of image mime types. + */ + return apply_filters( 'geodir_allowed_image_mime_types', $mime_types ); +} + /** * Retrieve list of user display name for user id. * diff --git a/includes/helper-functions.php b/includes/helper-functions.php index 4d147924d..f38cca491 100644 --- a/includes/helper-functions.php +++ b/includes/helper-functions.php @@ -1402,15 +1402,15 @@ function geodir_file_relative_url( $url, $full_path = false ) { * @return bool */ function geodir_is_image_file( $url ) { - if ( !empty( $url ) ) { - $filetype = wp_check_filetype( $url ); - - if ( !empty( $filetype['ext'] ) && in_array( $filetype['ext'], array( 'jpg', 'jpeg', 'jpe', 'gif', 'png', 'bmp', 'tif', 'tiff', 'ico', 'webp' ) ) ) { - return true; - } - } - - return false; + if ( ! empty( $url ) ) { + $filetype = wp_check_filetype( $url ); + + if ( !empty( $filetype['ext'] ) && in_array( $filetype['ext'], array( 'jpg', 'jpeg', 'jpe', 'gif', 'png', 'bmp', 'tif', 'tiff', 'ico', 'webp', 'svg' ) ) ) { + return true; + } + } + + return false; } /** diff --git a/readme.txt b/readme.txt index cebdd88b6..69fc662e5 100644 --- a/readme.txt +++ b/readme.txt @@ -305,6 +305,9 @@ We don't offer free trials, but we have a 30-day money-back guarantee if you are __WARNING: GDv2 is a significant update over GDv1 and may require manual work, such as adding widgets to sidebars to recreate your current layout. As always, we recommend trying this on a staging site first. [Learn more](https://docs.wpgeodirectory.com/article/260-upgrading-from-gdv1-to-gdv2)__ += GeoDirectory v2.3.47 - TBD = +* GD images don't allows .svg images even WP media allows - FIXED + = GeoDirectory v2.3.46 - 2024-03-27 = * GD > Best Of dropdown shows &(ampersand) incorrectly - FIXED * Added jobs dummy data type - ADDED From 5f8afa28e2ff3f5d3e7b30987de45846ecfcfdbf Mon Sep 17 00:00:00 2001 From: Kiran Prajapati Date: Thu, 4 Apr 2024 16:11:09 +0530 Subject: [PATCH 2/3] GD > Post Images masonry is not working when AJAX load option active - FIXED --- includes/widgets/class-geodir-widget-post-images.php | 2 +- readme.txt | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/includes/widgets/class-geodir-widget-post-images.php b/includes/widgets/class-geodir-widget-post-images.php index 17531d642..66e427588 100644 --- a/includes/widgets/class-geodir-widget-post-images.php +++ b/includes/widgets/class-geodir-widget-post-images.php @@ -384,7 +384,7 @@ public function output_images( $options ) { $design_style = ! empty( $args['design_style'] ) ? esc_attr( $args['design_style'] ) : geodir_design_style(); - if ( $this->is_preview() ) { + if ( $this->is_preview() || $options['type'] == 'masonry' ) { $options['ajax_load'] = false; } diff --git a/readme.txt b/readme.txt index 69fc662e5..5d1e24d94 100644 --- a/readme.txt +++ b/readme.txt @@ -307,6 +307,7 @@ __WARNING: GDv2 is a significant update over GDv1 and may require manual work, s = GeoDirectory v2.3.47 - TBD = * GD images don't allows .svg images even WP media allows - FIXED +* GD > Post Images masonry is not working when AJAX load option active - FIXED = GeoDirectory v2.3.46 - 2024-03-27 = * GD > Best Of dropdown shows &(ampersand) incorrectly - FIXED From 932980507a5959aa3d71c756cda342e690807863 Mon Sep 17 00:00:00 2001 From: Kiran Prajapati Date: Thu, 4 Apr 2024 17:25:20 +0530 Subject: [PATCH 3/3] 2.3.47 --- geodirectory.php | 4 +- languages/geodirectory-en_US.mo | Bin 1015 -> 1015 bytes languages/geodirectory-en_US.po | 388 ++++++++++++++++---------------- readme.txt | 4 +- 4 files changed, 198 insertions(+), 198 deletions(-) diff --git a/geodirectory.php b/geodirectory.php index fc3a5e2ff..5353f9fc0 100644 --- a/geodirectory.php +++ b/geodirectory.php @@ -11,7 +11,7 @@ * Plugin Name: GeoDirectory * Plugin URI: https://wpgeodirectory.com/ * Description: GeoDirectory - Business Directory Plugin for WordPress. - * Version: 2.3.46 + * Version: 2.3.47 * Author: AyeCode - WordPress Business Directory Plugins * Author URI: https://wpgeodirectory.com * Text Domain: geodirectory @@ -34,7 +34,7 @@ final class GeoDirectory { * * @var string */ - public $version = '2.3.46'; + public $version = '2.3.47'; /** * GeoDirectory instance. diff --git a/languages/geodirectory-en_US.mo b/languages/geodirectory-en_US.mo index 455ff513a6f4bcc9d514c1de05f2cd007f15806c..7d37af7022ee2c7aaa3634b918dbb0f22b6d54c8 100644 GIT binary patch delta 26 hcmey){+)e7Jfr!<1OqM;T>}#ZLo+L5qm8p-nE`cs2ju_& delta 26 hcmey){+)e7Jfqpf1OqN(T_bY^Lvt%*vyHQ2nE`dL2kig= diff --git a/languages/geodirectory-en_US.po b/languages/geodirectory-en_US.po index 420787018..f653e7a16 100644 --- a/languages/geodirectory-en_US.po +++ b/languages/geodirectory-en_US.po @@ -1,9 +1,9 @@ msgid "" msgstr "" -"Project-Id-Version: GeoDirectory 2.3.46\n" +"Project-Id-Version: GeoDirectory 2.3.47\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-27 17:36+0530\n" -"PO-Revision-Date: 2024-03-27 17:36+0530\n" +"POT-Creation-Date: 2024-04-04 16:32+0530\n" +"PO-Revision-Date: 2024-04-04 16:32+0530\n" "Last-Translator: \n" "Language-Team: AyeCode Ltd \n" "Language: en_US\n" @@ -428,7 +428,7 @@ msgstr "" #: includes/admin/class-geodir-admin-blocks.php:231 #: includes/admin/class-geodir-admin-menus.php:108 #: includes/class-geodir-elementor.php:155 includes/class-geodir-privacy.php:24 -#: includes/core-functions.php:942 +#: includes/core-functions.php:934 #: includes/elementor/class-geodir-elementor-form-contact.php:128 #: includes/integrations/bricks/class-geodir-bricks.php:276 msgid "GeoDirectory" @@ -907,7 +907,7 @@ msgstr "" #: includes/admin/settings/class-geodir-settings-general.php:499 #: includes/admin/settings/class-geodir-settings-general.php:542 #: includes/admin/settings/class-geodir-settings-general.php:584 -#: includes/class-geodir-post-data.php:1646 includes/core-functions.php:380 +#: includes/class-geodir-post-data.php:1646 includes/core-functions.php:372 #: includes/widgets/class-geodir-widget-add-listing.php:317 #: includes/widgets/class-geodir-widget-categories.php:46 #: includes/widgets/class-geodir-widget-categories.php:109 @@ -1338,7 +1338,7 @@ msgstr "" #: includes/admin/class-geodir-admin-conditional-fields.php:213 #: includes/admin/views/html-admin-settings-cpt-tab-item.php:9 -#: includes/core-functions.php:294 +#: includes/core-functions.php:286 msgid "Remove" msgstr "" @@ -1598,7 +1598,7 @@ msgstr "" #: includes/admin/class-geodir-admin-dummy-data.php:1013 #: includes/admin/class-geodir-admin-dummy-data.php:1021 #: includes/admin/settings/class-geodir-settings-cpt-cf.php:756 -#: includes/general-functions.php:2692 +#: includes/general-functions.php:2745 msgid "Video" msgstr "" @@ -2200,7 +2200,7 @@ msgid "CPT Add Listing" msgstr "" #: includes/admin/class-geodir-admin-menus.php:241 -#: includes/core-functions.php:683 +#: includes/core-functions.php:675 msgid "GD Pages" msgstr "" @@ -2753,7 +2753,7 @@ msgstr "" #: includes/admin/class-geodir-admin-settings.php:1652 #: includes/admin/views/html-notice-v2-update.php:194 -#: includes/core-functions.php:361 includes/general-functions.php:2691 +#: includes/core-functions.php:353 includes/general-functions.php:2744 #: vendor/ayecode/wp-deactivation-survey/wp-deactivation-survey.php:69 msgid "Documentation" msgstr "" @@ -2977,7 +2977,7 @@ msgstr "" #: includes/admin/class-geodir-admin-setup-wizard.php:1189 #: includes/admin/class-geodir-admin-setup-wizard.php:1383 #: includes/admin/class-geodir-admin-setup-wizard.php:1563 -#: includes/core-functions.php:357 +#: includes/core-functions.php:349 msgid "Continue" msgstr "" @@ -3544,7 +3544,7 @@ msgstr "" #: includes/admin/views/html-admin-settings-import-export-categories.php:211 #: includes/admin/views/html-admin-settings-import-export-listings.php:197 #: includes/admin/views/html-admin-settings-import-export-reviews.php:193 -#: includes/core-functions.php:1118 language.php:174 +#: includes/core-functions.php:1110 language.php:174 #: templates/bootstrap/map/filter-cpt.php:24 msgid "Post Type" msgstr "" @@ -3621,38 +3621,38 @@ msgid "The pages that should be included/excluded." msgstr "" #: includes/admin/class-geodir-admin-widgets.php:115 -#: includes/core-functions.php:685 +#: includes/core-functions.php:677 msgid "Add Listing Page" msgstr "" #: includes/admin/class-geodir-admin-widgets.php:116 -#: includes/core-functions.php:686 +#: includes/core-functions.php:678 msgid "Author Page" msgstr "" #: includes/admin/class-geodir-admin-widgets.php:117 -#: includes/core-functions.php:687 +#: includes/core-functions.php:679 msgid "Listing Detail Page" msgstr "" #: includes/admin/class-geodir-admin-widgets.php:118 -#: includes/core-functions.php:690 +#: includes/core-functions.php:682 msgid "Location Page" msgstr "" #: includes/admin/class-geodir-admin-widgets.php:119 -#: includes/core-functions.php:692 +#: includes/core-functions.php:684 msgid "Post Type Archive" msgstr "" #: includes/admin/class-geodir-admin-widgets.php:120 #: includes/admin/settings/class-geodir-settings-general.php:295 -#: includes/core-functions.php:693 +#: includes/core-functions.php:685 msgid "Search Page" msgstr "" #: includes/admin/class-geodir-admin-widgets.php:121 -#: includes/core-functions.php:694 +#: includes/core-functions.php:686 msgid "Taxonomies Page" msgstr "" @@ -4661,7 +4661,7 @@ msgstr "" #: includes/admin/settings/class-geodir-settings-cpt-cf.php:380 #: includes/elementor/class-geodir-elementor-form-contact.php:96 #: includes/elementor/class-geodir-elementor-form-contact.php:404 -#: includes/general-functions.php:2596 language.php:53 +#: includes/general-functions.php:2649 language.php:53 msgid "Time" msgstr "" @@ -9079,7 +9079,7 @@ msgstr "" #: includes/admin/views/html-notice-beta.php:14 #: includes/admin/views/html-notice-updated.php:14 -#: includes/core-functions.php:484 +#: includes/core-functions.php:476 msgid "Dismiss" msgstr "" @@ -9876,7 +9876,7 @@ msgstr "" #: includes/api/class-geodir-rest-posts-controller.php:2856 #: includes/class-geodir-privacy-exporters.php:238 #: includes/class-geodir-privacy-exporters.php:303 -#: includes/core-functions.php:358 +#: includes/core-functions.php:350 #: includes/custom-fields/input-functions-aui.php:2276 #: includes/custom-fields/input-functions.php:1805 #: includes/custom-fields/output-functions.php:86 @@ -10634,18 +10634,18 @@ msgstr "" msgid "Sun" msgstr "" -#: includes/business-hours-functions.php:677 includes/core-functions.php:341 +#: includes/business-hours-functions.php:677 includes/core-functions.php:333 #: includes/custom-fields/input-functions-aui.php:2340 #: includes/custom-fields/input-functions.php:1847 msgid "Closed" msgstr "" -#: includes/business-hours-functions.php:678 includes/core-functions.php:338 +#: includes/business-hours-functions.php:678 includes/core-functions.php:330 #: includes/custom-fields/output-functions.php:2670 msgid "Open now" msgstr "" -#: includes/business-hours-functions.php:679 includes/core-functions.php:339 +#: includes/business-hours-functions.php:679 includes/core-functions.php:331 msgid "Closed now" msgstr "" @@ -10680,7 +10680,7 @@ msgid "" "dragging the map / marker." msgstr "" -#: includes/class-geodir-ajax.php:236 includes/core-functions.php:355 +#: includes/class-geodir-ajax.php:236 includes/core-functions.php:347 #: language.php:78 #: vendor/ayecode/wp-deactivation-survey/wp-deactivation-survey.php:64 #: vendor/ayecode/wp-super-duper/wp-super-duper.php:3666 @@ -10835,7 +10835,7 @@ msgstr "" msgid "You do not have permission to access this page" msgstr "" -#: includes/class-geodir-auth.php:377 includes/class-geodir-media.php:1218 +#: includes/class-geodir-auth.php:377 includes/class-geodir-media.php:1225 #, php-format msgid "Error: %s." msgstr "" @@ -11120,8 +11120,8 @@ msgstr "" msgid "Enter your review comments here (required)..." msgstr "" -#: includes/class-geodir-comments.php:68 includes/core-functions.php:289 -#: includes/core-functions.php:335 templates/reviews.php:115 +#: includes/class-geodir-comments.php:68 includes/core-functions.php:281 +#: includes/core-functions.php:327 templates/reviews.php:115 msgid "Review text" msgstr "" @@ -11142,13 +11142,13 @@ msgstr "" msgid "Your email address will not be published." msgstr "" -#: includes/class-geodir-comments.php:147 includes/core-functions.php:332 +#: includes/class-geodir-comments.php:147 includes/core-functions.php:324 #: templates/reviews.php:113 msgid "Leave a Review" msgstr "" -#: includes/class-geodir-comments.php:151 includes/core-functions.php:288 -#: includes/core-functions.php:330 templates/reviews.php:114 +#: includes/class-geodir-comments.php:151 includes/core-functions.php:280 +#: includes/core-functions.php:322 templates/reviews.php:114 msgid "Post Review" msgstr "" @@ -11609,14 +11609,14 @@ msgstr "" msgid "Add your %%pt_single%% to %%sitename%%" msgstr "" -#: includes/class-geodir-elementor.php:463 includes/core-functions.php:345 +#: includes/class-geodir-elementor.php:463 includes/core-functions.php:337 #: includes/widgets/class-geodir-widget-single-next-prev.php:94 #: templates/bootstrap/images/images.php:241 #: templates/legacy/single/next-prev.php:12 msgid "Previous" msgstr "" -#: includes/class-geodir-elementor.php:467 includes/core-functions.php:346 +#: includes/class-geodir-elementor.php:467 includes/core-functions.php:338 #: includes/widgets/class-geodir-widget-single-next-prev.php:95 #: templates/bootstrap/images/images.php:245 #: templates/legacy/single/next-prev.php:13 @@ -11646,14 +11646,14 @@ msgid "Author" msgstr "" #: includes/class-geodir-frontend-scripts.php:119 -#: includes/core-functions.php:301 +#: includes/core-functions.php:293 #: includes/widgets/class-geodir-widget-listings.php:1186 msgid "Near:" msgstr "" #: includes/class-geodir-frontend-scripts.php:119 -#: includes/class-geodir-seo.php:670 includes/core-functions.php:300 -#: includes/core-functions.php:301 includes/core-functions.php:310 +#: includes/class-geodir-seo.php:670 includes/core-functions.php:292 +#: includes/core-functions.php:293 includes/core-functions.php:302 msgid "My Location" msgstr "" @@ -11671,27 +11671,27 @@ msgid "Search was not successful for the requested address." msgstr "" #: includes/class-geodir-frontend-scripts.php:443 -#: includes/core-functions.php:311 +#: includes/core-functions.php:303 msgid "Unable to find your location" msgstr "" #: includes/class-geodir-frontend-scripts.php:446 -#: includes/core-functions.php:312 +#: includes/core-functions.php:304 msgid "Permission denied in finding your location" msgstr "" #: includes/class-geodir-frontend-scripts.php:449 -#: includes/core-functions.php:313 +#: includes/core-functions.php:305 msgid "Your location is currently unknown" msgstr "" #: includes/class-geodir-frontend-scripts.php:452 -#: includes/core-functions.php:314 +#: includes/core-functions.php:306 msgid "Attempt to find location took too long" msgstr "" #: includes/class-geodir-frontend-scripts.php:455 -#: includes/core-functions.php:315 +#: includes/core-functions.php:307 msgid "Location detection not supported in browser" msgstr "" @@ -11900,61 +11900,61 @@ msgstr "" msgid "No post_id or file url, file insert failed." msgstr "" -#: includes/class-geodir-media.php:379 includes/class-geodir-media.php:421 +#: includes/class-geodir-media.php:386 includes/class-geodir-media.php:428 msgid "Failed to insert file info to DB." msgstr "" -#: includes/class-geodir-media.php:513 +#: includes/class-geodir-media.php:520 msgid "No image_id, post_id or image url, image update failed." msgstr "" -#: includes/class-geodir-media.php:596 +#: includes/class-geodir-media.php:603 msgid "Failed to update image info to DB." msgstr "" -#: includes/class-geodir-media.php:727 +#: includes/class-geodir-media.php:734 msgid "Invalid URL Provided." msgstr "" -#: includes/class-geodir-media.php:733 +#: includes/class-geodir-media.php:740 msgid "Could not create Temporary file." msgstr "" -#: includes/class-geodir-media.php:1206 +#: includes/class-geodir-media.php:1213 #, php-format msgid "Invalid URL %s." msgstr "" -#: includes/class-geodir-media.php:1218 includes/class-geodir-media.php:1220 +#: includes/class-geodir-media.php:1225 includes/class-geodir-media.php:1227 #, php-format msgid "Error getting remote image %s." msgstr "" -#: includes/class-geodir-media.php:1241 +#: includes/class-geodir-media.php:1248 msgid "Invalid image type." msgstr "" -#: includes/class-geodir-media.php:1259 +#: includes/class-geodir-media.php:1266 msgid "Zero size file downloaded." msgstr "" -#: includes/class-geodir-media.php:1376 includes/class-geodir-media.php:1418 +#: includes/class-geodir-media.php:1383 includes/class-geodir-media.php:1425 msgid "Generate attachment metadata" msgstr "" -#: includes/class-geodir-media.php:1403 +#: includes/class-geodir-media.php:1410 msgid "Invalid post id!" msgstr "" -#: includes/class-geodir-media.php:1444 +#: includes/class-geodir-media.php:1451 msgid "Invalid attachment!" msgstr "" -#: includes/class-geodir-media.php:1449 +#: includes/class-geodir-media.php:1456 msgid "Attachment metadata not generated for external image!" msgstr "" -#: includes/class-geodir-media.php:1467 +#: includes/class-geodir-media.php:1474 #, php-format msgid "%s not exists!" msgstr "" @@ -12697,18 +12697,18 @@ msgstr "" msgid "Could not save report post." msgstr "" -#: includes/class-geodir-seo.php:601 includes/general-functions.php:1966 +#: includes/class-geodir-seo.php:601 includes/general-functions.php:2019 #, php-format msgctxt "in category" msgid "in %s" msgstr "" -#: includes/class-geodir-seo.php:660 includes/general-functions.php:2057 +#: includes/class-geodir-seo.php:660 includes/general-functions.php:2110 #, php-format msgid "for %s" msgstr "" -#: includes/class-geodir-seo.php:676 includes/general-functions.php:2070 +#: includes/class-geodir-seo.php:676 includes/general-functions.php:2123 #, php-format msgid "near %s" msgstr "" @@ -12950,505 +12950,505 @@ msgstr "" msgid "fas fa-search" msgstr "" -#: includes/core-functions.php:253 +#: includes/core-functions.php:245 msgid "Field label must not be blank" msgstr "" -#: includes/core-functions.php:254 +#: includes/core-functions.php:246 msgid "" "Please do not use special character and spaces in field key Variable Name." msgstr "" -#: includes/core-functions.php:255 +#: includes/core-functions.php:247 msgid "Field key must be unique." msgstr "" -#: includes/core-functions.php:256 +#: includes/core-functions.php:248 msgid "Are you sure you wish to delete this field?" msgstr "" -#: includes/core-functions.php:257 +#: includes/core-functions.php:249 msgid "You must move or remove child elements first." msgstr "" -#: includes/core-functions.php:259 +#: includes/core-functions.php:251 msgid "File has been successfully deleted." msgstr "" -#: includes/core-functions.php:260 +#: includes/core-functions.php:252 msgid "You do NOT have permission to delete this file." msgstr "" -#: includes/core-functions.php:261 +#: includes/core-functions.php:253 msgid "Order saved!" msgstr "" -#: includes/core-functions.php:262 +#: includes/core-functions.php:254 msgid "You do not have permission to reorder images." msgstr "" -#: includes/core-functions.php:263 +#: includes/core-functions.php:255 msgid "Address not found for:" msgstr "" -#: includes/core-functions.php:265 +#: includes/core-functions.php:257 msgid "Are you sure you wish to delete this listing?" msgstr "" -#: includes/core-functions.php:266 +#: includes/core-functions.php:258 msgid "Are you sure you wish to perform this action?" msgstr "" -#: includes/core-functions.php:267 +#: includes/core-functions.php:259 msgid "" "Deleting the main listing of a franchise will turn all franchises in regular " "listings. Are you sure wish to delete this main listing?" msgstr "" -#: includes/core-functions.php:269 +#: includes/core-functions.php:261 msgid "Error : please retry" msgstr "" -#: includes/core-functions.php:270 +#: includes/core-functions.php:262 msgid "Please enter listing url prefix" msgstr "" -#: includes/core-functions.php:271 +#: includes/core-functions.php:263 msgid "Invalid character in listing url prefix" msgstr "" -#: includes/core-functions.php:272 +#: includes/core-functions.php:264 msgid "Please enter location url prefix" msgstr "" -#: includes/core-functions.php:273 +#: includes/core-functions.php:265 msgid "Invalid character in location url prefix" msgstr "" -#: includes/core-functions.php:274 +#: includes/core-functions.php:266 msgid "Please enter location and category url separator" msgstr "" -#: includes/core-functions.php:275 +#: includes/core-functions.php:267 msgid "Invalid character in location and category url separator" msgstr "" -#: includes/core-functions.php:276 +#: includes/core-functions.php:268 msgid "Please enter listing detail url separator" msgstr "" -#: includes/core-functions.php:277 +#: includes/core-functions.php:269 msgid "Invalid character in listing detail url separator" msgstr "" -#: includes/core-functions.php:278 +#: includes/core-functions.php:270 msgid "Error loading listing." msgstr "" -#: includes/core-functions.php:279 +#: includes/core-functions.php:271 msgid "This field is required." msgstr "" -#: includes/core-functions.php:280 +#: includes/core-functions.php:272 msgid "Please enter valid email address." msgstr "" -#: includes/core-functions.php:284 includes/core-functions.php:285 +#: includes/core-functions.php:276 includes/core-functions.php:277 #: language.php:93 language.php:94 msgid "" "A numeric value is required. Please make sure you have either dragged the " "marker or clicked the button: Set Address On Map" msgstr "" -#: includes/core-functions.php:286 +#: includes/core-functions.php:278 msgid "Post Reply" msgstr "" -#: includes/core-functions.php:287 includes/core-functions.php:334 +#: includes/core-functions.php:279 includes/core-functions.php:326 msgid "Reply text" msgstr "" -#: includes/core-functions.php:290 +#: includes/core-functions.php:282 msgid "Please select star rating, you can't leave a review without stars." msgstr "" -#: includes/core-functions.php:291 +#: includes/core-functions.php:283 #, php-format msgid "File size error : You tried to upload a file over %s" msgstr "" -#: includes/core-functions.php:292 +#: includes/core-functions.php:284 #, php-format msgid "You have reached your upload limit of %s files." msgstr "" -#: includes/core-functions.php:293 +#: includes/core-functions.php:285 #, php-format msgid "You may only upload %s files with this package, please try again." msgstr "" -#: includes/core-functions.php:295 +#: includes/core-functions.php:287 msgid "Allowed files" msgstr "" -#: includes/core-functions.php:296 +#: includes/core-functions.php:288 #, php-format msgid "File type error. Allowed file types: %s" msgstr "" -#: includes/core-functions.php:298 +#: includes/core-functions.php:290 msgid "Wait..." msgstr "" -#: includes/core-functions.php:299 +#: includes/core-functions.php:291 msgid "Searching..." msgstr "" -#: includes/core-functions.php:306 +#: includes/core-functions.php:298 msgid "Start" msgstr "" -#: includes/core-functions.php:307 +#: includes/core-functions.php:299 msgid "Via {viaNumber}" msgstr "" -#: includes/core-functions.php:308 language.php:131 +#: includes/core-functions.php:300 language.php:131 msgid "Enter Your Location" msgstr "" -#: includes/core-functions.php:309 +#: includes/core-functions.php:301 msgid "Press Enter key to search" msgstr "" -#: includes/core-functions.php:316 +#: includes/core-functions.php:308 msgctxt "geodir select" msgid "Set as default" msgstr "" -#: includes/core-functions.php:317 +#: includes/core-functions.php:309 msgctxt "geodir select" msgid "No matches found" msgstr "" -#: includes/core-functions.php:318 +#: includes/core-functions.php:310 msgctxt "geodir select" msgid "Loading failed" msgstr "" -#: includes/core-functions.php:319 +#: includes/core-functions.php:311 msgctxt "geodir select" msgid "Please enter 1 or more characters" msgstr "" -#: includes/core-functions.php:320 +#: includes/core-functions.php:312 msgctxt "geodir select" msgid "Please enter %item% or more characters" msgstr "" -#: includes/core-functions.php:321 +#: includes/core-functions.php:313 msgctxt "geodir select" msgid "Please delete 1 character" msgstr "" -#: includes/core-functions.php:322 +#: includes/core-functions.php:314 msgctxt "geodir select" msgid "Please delete %item% characters" msgstr "" -#: includes/core-functions.php:323 +#: includes/core-functions.php:315 msgctxt "geodir select" msgid "You can only select 1 item" msgstr "" -#: includes/core-functions.php:324 +#: includes/core-functions.php:316 msgctxt "geodir select" msgid "You can only select %item% items" msgstr "" -#: includes/core-functions.php:325 +#: includes/core-functions.php:317 msgctxt "geodir select" msgid "Loading more results…" msgstr "" -#: includes/core-functions.php:326 +#: includes/core-functions.php:318 msgctxt "geodir select" msgid "Searching…" msgstr "" -#: includes/core-functions.php:327 +#: includes/core-functions.php:319 msgid "Choose an image" msgstr "" -#: includes/core-functions.php:328 +#: includes/core-functions.php:320 msgid "Use image" msgstr "" -#: includes/core-functions.php:331 +#: includes/core-functions.php:323 msgid "Post reply" msgstr "" -#: includes/core-functions.php:333 +#: includes/core-functions.php:325 msgid "Leave a reply" msgstr "" -#: includes/core-functions.php:336 +#: includes/core-functions.php:328 #: includes/widgets/class-geodir-widget-recent-reviews.php:573 msgid "Read more" msgstr "" -#: includes/core-functions.php:337 +#: includes/core-functions.php:329 #: includes/widgets/class-geodir-widget-recent-reviews.php:573 msgid "about this listing" msgstr "" -#: includes/core-functions.php:340 +#: includes/core-functions.php:332 msgid "Closed today" msgstr "" -#: includes/core-functions.php:342 +#: includes/core-functions.php:334 msgid "This field is single use only and is already being used." msgstr "" -#: includes/core-functions.php:343 +#: includes/core-functions.php:335 msgid "" "Page selections should not be the same, please correct the issue to continue." msgstr "" -#: includes/core-functions.php:344 +#: includes/core-functions.php:336 msgid "Please save the current setting before adding a new one." msgstr "" -#: includes/core-functions.php:347 +#: includes/core-functions.php:339 msgid "You may lose changes if you navigate away now!" msgstr "" -#: includes/core-functions.php:348 +#: includes/core-functions.php:340 #: vendor/ayecode/wp-super-duper/wp-super-duper.php:3666 msgid "Are you sure?" msgstr "" -#: includes/core-functions.php:349 +#: includes/core-functions.php:341 msgid "Saving..." msgstr "" -#: includes/core-functions.php:350 +#: includes/core-functions.php:342 msgid "Saved" msgstr "" -#: includes/core-functions.php:351 +#: includes/core-functions.php:343 msgid "Order saved" msgstr "" -#: includes/core-functions.php:352 +#: includes/core-functions.php:344 #: includes/widgets/class-geodir-widget-simple-archive-item.php:90 msgid "Preview" msgstr "" -#: includes/core-functions.php:353 +#: includes/core-functions.php:345 #: includes/widgets/class-geodir-widget-author-actions.php:254 language.php:128 #: templates/bootstrap/reviews/item-clean.php:107 #: templates/bootstrap/reviews/item.php:96 templates/legacy/reviews/item.php:59 msgid "Edit" msgstr "" -#: includes/core-functions.php:354 +#: includes/core-functions.php:346 #: includes/widgets/class-geodir-widget-author-actions.php:264 language.php:129 #: vendor/ayecode/wp-super-duper/wp-super-duper.php:3666 msgid "Delete" msgstr "" -#: includes/core-functions.php:356 +#: includes/core-functions.php:348 msgid "Confirm" msgstr "" -#: includes/core-functions.php:359 +#: includes/core-functions.php:351 msgid "Deleted" msgstr "" -#: includes/core-functions.php:360 +#: includes/core-functions.php:352 msgid "Google API key Error" msgstr "" -#: includes/core-functions.php:362 +#: includes/core-functions.php:354 msgid "Verifying API Key" msgstr "" -#: includes/core-functions.php:363 +#: includes/core-functions.php:355 msgid "Enable Billing" msgstr "" -#: includes/core-functions.php:364 +#: includes/core-functions.php:356 msgid "" "Key invalid, you might have entered the project number instead of the API key" msgstr "" -#: includes/core-functions.php:365 +#: includes/core-functions.php:357 msgid "Key invalid, please double check you have entered it correctly" msgstr "" -#: includes/core-functions.php:366 +#: includes/core-functions.php:358 msgid "This URL is not allowed for this API Key" msgstr "" -#: includes/core-functions.php:367 +#: includes/core-functions.php:359 msgid "You must enable billing on your Google account." msgstr "" -#: includes/core-functions.php:368 +#: includes/core-functions.php:360 msgid "Brave browser shield will block this check and return a false positive" msgstr "" -#: includes/core-functions.php:369 +#: includes/core-functions.php:361 msgid "Are you sure want to create a new template to customize?" msgstr "" -#: includes/core-functions.php:378 +#: includes/core-functions.php:370 msgid "Would you like to manually set your location?" msgstr "" -#: includes/core-functions.php:379 +#: includes/core-functions.php:371 #: vendor/ayecode/wp-font-awesome-settings/wp-font-awesome-settings.php:741 #: vendor/ayecode/wp-font-awesome-settings/wp-font-awesome-settings.php:773 msgid "ERROR:" msgstr "" -#: includes/core-functions.php:381 +#: includes/core-functions.php:373 #: includes/integrations/bricks/element-image-gallery.php:197 msgid "Caption" msgstr "" -#: includes/core-functions.php:382 +#: includes/core-functions.php:374 msgid "Set" msgstr "" -#: includes/core-functions.php:388 +#: includes/core-functions.php:380 #: vendor/ayecode/wp-ayecode-ui/includes/ayecode-ui-settings.php:2458 msgctxt "time ago" msgid "ago" msgstr "" -#: includes/core-functions.php:389 +#: includes/core-functions.php:381 #: vendor/ayecode/wp-ayecode-ui/includes/ayecode-ui-settings.php:2459 msgctxt "time ago" msgid "after" msgstr "" -#: includes/core-functions.php:391 +#: includes/core-functions.php:383 #: vendor/ayecode/wp-ayecode-ui/includes/ayecode-ui-settings.php:2461 msgctxt "time ago" msgid "less than a minute" msgstr "" -#: includes/core-functions.php:392 +#: includes/core-functions.php:384 #: vendor/ayecode/wp-ayecode-ui/includes/ayecode-ui-settings.php:2462 msgctxt "time ago" msgid "about a minute" msgstr "" -#: includes/core-functions.php:393 +#: includes/core-functions.php:385 #: vendor/ayecode/wp-ayecode-ui/includes/ayecode-ui-settings.php:2463 #, php-format msgctxt "time ago" msgid "%d minutes" msgstr "" -#: includes/core-functions.php:394 +#: includes/core-functions.php:386 #: vendor/ayecode/wp-ayecode-ui/includes/ayecode-ui-settings.php:2464 msgctxt "time ago" msgid "about an hour" msgstr "" -#: includes/core-functions.php:395 +#: includes/core-functions.php:387 #: vendor/ayecode/wp-ayecode-ui/includes/ayecode-ui-settings.php:2465 #, php-format msgctxt "time ago" msgid "about %d hours" msgstr "" -#: includes/core-functions.php:396 +#: includes/core-functions.php:388 #: vendor/ayecode/wp-ayecode-ui/includes/ayecode-ui-settings.php:2466 msgctxt "time ago" msgid "a day" msgstr "" -#: includes/core-functions.php:397 +#: includes/core-functions.php:389 #: vendor/ayecode/wp-ayecode-ui/includes/ayecode-ui-settings.php:2467 #, php-format msgctxt "time ago" msgid "%d days" msgstr "" -#: includes/core-functions.php:398 +#: includes/core-functions.php:390 #: vendor/ayecode/wp-ayecode-ui/includes/ayecode-ui-settings.php:2468 msgctxt "time ago" msgid "about a month" msgstr "" -#: includes/core-functions.php:399 +#: includes/core-functions.php:391 #: vendor/ayecode/wp-ayecode-ui/includes/ayecode-ui-settings.php:2469 #, php-format msgctxt "time ago" msgid "%d months" msgstr "" -#: includes/core-functions.php:400 +#: includes/core-functions.php:392 #: vendor/ayecode/wp-ayecode-ui/includes/ayecode-ui-settings.php:2470 msgctxt "time ago" msgid "about a year" msgstr "" -#: includes/core-functions.php:401 +#: includes/core-functions.php:393 #: vendor/ayecode/wp-ayecode-ui/includes/ayecode-ui-settings.php:2471 #, php-format msgctxt "time ago" msgid "%d years" msgstr "" -#: includes/core-functions.php:688 +#: includes/core-functions.php:680 msgid "Listing Preview Page" msgstr "" -#: includes/core-functions.php:689 +#: includes/core-functions.php:681 msgid "Listing Success Page" msgstr "" -#: includes/core-functions.php:691 +#: includes/core-functions.php:683 msgid "Login Page" msgstr "" -#: includes/core-functions.php:1115 +#: includes/core-functions.php:1107 msgid "Select search type" msgstr "" -#: includes/core-functions.php:1311 includes/core-functions.php:1325 +#: includes/core-functions.php:1303 includes/core-functions.php:1317 #: templates/bootstrap/search-bar/input-near.php:39 #: templates/bootstrap/search-bar/input-search.php:38 msgid "Clear field" msgstr "" -#: includes/core-functions.php:1659 +#: includes/core-functions.php:1651 msgid "Filesystem ERROR during mu-plugin file copy: " msgstr "" -#: includes/core-functions.php:1661 +#: includes/core-functions.php:1653 msgid "" "There was a problem accessing the filesystem during copy Fast AJAX mu-plugin " "file to mu-plugins folder." msgstr "" -#: includes/core-functions.php:1669 +#: includes/core-functions.php:1661 #, php-format msgid "" "Unable to create directory %s. Make sure its parent directory writable by " "the server." msgstr "" -#: includes/core-functions.php:1673 +#: includes/core-functions.php:1665 #, php-format msgid "Must-plugin directory %s is not writable by the server." msgstr "" -#: includes/core-functions.php:1681 +#: includes/core-functions.php:1673 msgid "" "There was a problem in copy Fast AJAX mu-plugin file to mu-plugins folder." msgstr "" @@ -14139,7 +14139,7 @@ msgstr "" msgid "First" msgstr "" -#: includes/general-functions.php:248 includes/general-functions.php:2599 +#: includes/general-functions.php:248 includes/general-functions.php:2652 msgid "Second" msgstr "" @@ -14159,122 +14159,122 @@ msgstr "" msgid "Given image size is not valid" msgstr "" -#: includes/general-functions.php:2205 +#: includes/general-functions.php:2258 #, php-format msgid "Page %1$d of %2$d" msgstr "" -#: includes/general-functions.php:2595 +#: includes/general-functions.php:2648 msgid "Choose Time" msgstr "" -#: includes/general-functions.php:2597 +#: includes/general-functions.php:2650 #: vendor/ayecode/wp-ayecode-ui/includes/ayecode-ui-settings.php:2306 msgid "Hour" msgstr "" -#: includes/general-functions.php:2598 +#: includes/general-functions.php:2651 #: vendor/ayecode/wp-ayecode-ui/includes/ayecode-ui-settings.php:2307 msgid "Minute" msgstr "" -#: includes/general-functions.php:2600 +#: includes/general-functions.php:2653 msgid "Millisecond" msgstr "" -#: includes/general-functions.php:2601 +#: includes/general-functions.php:2654 msgid "Microsecond" msgstr "" -#: includes/general-functions.php:2602 +#: includes/general-functions.php:2655 msgid "Time Zone" msgstr "" -#: includes/general-functions.php:2603 +#: includes/general-functions.php:2656 msgid "Now" msgstr "" -#: includes/general-functions.php:2604 +#: includes/general-functions.php:2657 msgid "Done" msgstr "" -#: includes/general-functions.php:2605 includes/helper-functions.php:693 +#: includes/general-functions.php:2658 includes/helper-functions.php:693 #: vendor/ayecode/wp-ayecode-ui/includes/ayecode-ui-settings.php:2301 msgid "AM" msgstr "" -#: includes/general-functions.php:2606 includes/helper-functions.php:694 +#: includes/general-functions.php:2659 includes/helper-functions.php:694 #: vendor/ayecode/wp-ayecode-ui/includes/ayecode-ui-settings.php:2302 msgid "PM" msgstr "" -#: includes/general-functions.php:2634 +#: includes/general-functions.php:2687 msgid "View: Grid 1" msgstr "" -#: includes/general-functions.php:2634 +#: includes/general-functions.php:2687 msgid "Grid View (One Column)" msgstr "" -#: includes/general-functions.php:2635 +#: includes/general-functions.php:2688 msgid "View: Grid 2" msgstr "" -#: includes/general-functions.php:2635 +#: includes/general-functions.php:2688 msgid "Grid View (Two Columns)" msgstr "" -#: includes/general-functions.php:2636 +#: includes/general-functions.php:2689 msgid "View: Grid 3" msgstr "" -#: includes/general-functions.php:2636 +#: includes/general-functions.php:2689 msgid "Grid View (Three Columns)" msgstr "" -#: includes/general-functions.php:2637 +#: includes/general-functions.php:2690 msgid "View: Grid 4" msgstr "" -#: includes/general-functions.php:2637 +#: includes/general-functions.php:2690 msgid "Grid View (Four Columns)" msgstr "" -#: includes/general-functions.php:2638 +#: includes/general-functions.php:2691 msgid "View: Grid 5" msgstr "" -#: includes/general-functions.php:2638 +#: includes/general-functions.php:2691 msgid "Grid View (Five Columns)" msgstr "" -#: includes/general-functions.php:2639 +#: includes/general-functions.php:2692 #: templates/bootstrap/loop/select-layout.php:108 #: templates/loop/select-layout.php:118 msgid "View: List" msgstr "" -#: includes/general-functions.php:2639 +#: includes/general-functions.php:2692 msgid "List view" msgstr "" -#: includes/general-functions.php:2690 +#: includes/general-functions.php:2743 msgid "Disable hints" msgstr "" -#: includes/general-functions.php:2693 +#: includes/general-functions.php:2746 msgid "Feedback" msgstr "" -#: includes/general-functions.php:2694 +#: includes/general-functions.php:2747 msgid "Admin Hints:" msgstr "" -#: includes/general-functions.php:2754 includes/general-functions.php:2768 +#: includes/general-functions.php:2807 includes/general-functions.php:2821 msgid "meters" msgstr "" -#: includes/general-functions.php:2757 includes/general-functions.php:2771 +#: includes/general-functions.php:2810 includes/general-functions.php:2824 msgid "feet" msgstr "" diff --git a/readme.txt b/readme.txt index 5d1e24d94..d988585ed 100644 --- a/readme.txt +++ b/readme.txt @@ -4,7 +4,7 @@ Donate link: https://wpgeodirectory.com Tags: business directory, listings, directory plugin, classifieds, directory, member directory, company directory, team directory, chamber of commerce business directory, church directory, address book, contact directory, local business directory, listings directory, link directory Requires at least: 4.5 Tested up to: 6.5 -Stable tag: 2.3.46 +Stable tag: 2.3.47 Requires PHP: 5.6 License: GPLv3 License URI: http://www.gnu.org/licenses/gpl-3.0.html @@ -305,7 +305,7 @@ We don't offer free trials, but we have a 30-day money-back guarantee if you are __WARNING: GDv2 is a significant update over GDv1 and may require manual work, such as adding widgets to sidebars to recreate your current layout. As always, we recommend trying this on a staging site first. [Learn more](https://docs.wpgeodirectory.com/article/260-upgrading-from-gdv1-to-gdv2)__ -= GeoDirectory v2.3.47 - TBD = += GeoDirectory v2.3.47 - 2024-04-04 = * GD images don't allows .svg images even WP media allows - FIXED * GD > Post Images masonry is not working when AJAX load option active - FIXED