: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
api.ModuleMap = class extends api.Module {
wrap_class: 'tb_group_element_google'
id: 'google_map_api_key',
wrap_class: 'tb_field_error_msg tb_group_element_google'
wrap_class: 'tb_field_error_msg tb_group_element_bing'
wrap_class: 'tb_group_element_bing'
wrap_class: 'tb_group_element_dynamic',
wrap_class: 'tb_group_element_static'
wrap_class: 'tb_group_element_google'
wrap_class: 'tb_group_element_dynamic'
wrap_class: 'tb_group_element_dynamic',
wrap_class: 'tb_group_element_dynamic'
id: 'draggable_disable_mobile_map',
wrap_class: 'tb_group_element_dynamic'
wrap_class: 'tb_group_element_dynamic'
static builderSave(settings){
scrollwheel_map: 'disable',
draggable_disable_mobile_map: 'yes',
map_display_type: 'dynamic'
if(settings[key]===def[key]){
if(settings.draggable_map==='disable' && settings.draggable_disable_mobile_map!=='no'){
delete settings.scrollwheel_map;
for( let key in numericDef){
if(~~settings[key]===numericDef[key]){
if(settings.b_style_map==='none' || settings.b_width_map<=0){
delete settings.b_width_map;
delete settings.b_color_map;
if(settings.map_provider!=='bing'){
delete settings.bing_type_map;
delete settings.map_display_type;
delete settings.type_map;
if(settings.address_map?.trim().replace(/\s\s+/g, ' ')){
delete settings.latlong_map;
if(settings.map_display_type!=='w_map_static'){
delete settings.w_map_static;
'draggable_disable_mobile_map',
for(let i=del.length-1;i>-1;--i){
if(settings[del[i]]!==undefined){
super.builderSave(settings);
let module = createElement(),
classes = ['module', 'module-map'],
address = data.address_map?.trim().replace(/\s\s+/g, ' ')||'',
{h_map='300',w_map='100',latlong_map:latlong,map_provider:provider='google',type_map:roadMap='ROADMAP',zoom_map=8}=data,
classes.push(data.css_map);
module.className = classes.join(' ');
if (data.mod_title_map) {
module.appendChild(this.constructor.getModuleTitle(data.mod_title_map,'mod_title_map'));
if( provider === 'google' && data.map_display_type==='static' ) {
let q = 'key='+themify_vars.map_key,
wMapStatic=data.w_map_static || 500;
map=createElement('img');
q+='¢er='+(address || latlong);
q+='&zoom='+zoom_map+'&maptype='+roadMap.toLowerCase()+'&size=';
q+=wMapStatic.toString().replace(/[^0-9]/,'');
q+='x'+h_map.toString().replace(/[^0-9]/,'');
map.src='https://maps.googleapis.com/maps/api/staticmap?'+q;
else if( address || latlong ) {
map = createElement('','themify_map');
map.className+=' themify_bing_map';
const dataset=map.dataset;
map.style.width=w_map+(data.w_map_unit || '%');
map.style.height=h_map+(data.h_map_unit || 'px');
dataset.mapProvider=provider;
dataset.address=address || latlong;
dataset.reverseGeocoding=!address && latlong;
dataset.control=data.map_control !== 'no' ? 0 : 1;
dataset.type=provider=== 'google'?roadMap:(data.bing_type_map || 'aerial');
dataset.scroll=data.scrollwheel_map === 'enable'?1:0;
dataset.drag=0;//disable draggable for UI
dataset.infoWindow=data.info_window_map || ('<b>'+i18n.address+'</b><br/><p>'+address+'</p>');
const b_type=data.b_style_map || 'solid';
map.style.border=b_type+' '+data.b_width_map+'px';
map.style.borderColor=api.Helper.toRGBA(data.b_color_map);