ID; if( is_home() && $redux_builder_amp['ampforwp-homepage-on-off-support']==1 && ampforwp_get_blog_details() == false ){ $postId = $redux_builder_amp['amp-frontpage-select-option-pages']; } $ampforwp_pagebuilder_enable = get_post_meta($postId,'ampforwp_page_builder_enable', true); if (ampforwp_empty_content(get_post($postId)->post_content) && $ampforwp_pagebuilder_enable=='yes') { $arr['ID'] = get_post($postId)->ID; $arr['post_content'] = ' '; wp_update_post($arr); } add_filter( 'amp_pagebuilder_content', 'ampforwp_insert_pb_content' ); } function bodyClassForAMPPagebuilder($classes, $class){ $classes[] = 'amppb-pages'; return $classes; } function ampforwp_insert_pb_content( $content ){ $new_content = ""; $new_content = amppb_post_content($content); $content = $new_content; return $content; } add_action('amp_post_template_data','amp_pagebuilder_script_loader',100); function amp_pagebuilder_script_loader($scriptData){ //To load css of modules which are in use global $redux_builder_amp, $moduleTemplate, $post, $containerCommonSettings; $postId = $post->ID; if(is_home() && $redux_builder_amp['ampforwp-homepage-on-off-support']==1 && ampforwp_get_blog_details() == false){ $postId = $redux_builder_amp['amp-frontpage-select-option-pages']; } $previousData = get_post_meta($postId,'amp-page-builder'); $previousData = isset($previousData[0])? $previousData[0]: null; $ampforwp_pagebuilder_enable = get_post_meta($postId,'ampforwp_page_builder_enable', true); if($previousData!="" && $ampforwp_pagebuilder_enable=='yes'){ $previousData = (str_replace("'", "", $previousData)); $previousData = json_decode($previousData,true); if(count($previousData['rows'])>0){ foreach ($previousData['rows'] as $key => $rowsData) { $container = $rowsData['cell_data']; if(count($container)>0){ //Module specific styles $moduleCommonCss = array(); foreach($container as $contentArray){ if(!isset($moduleTemplate[$contentArray['type']])){ continue; } foreach($moduleTemplate[$contentArray['type']]['fields'] as $modulefield){ $replaceModule = ""; if(isset($contentArray[$modulefield['name']])){ $replaceModule = $contentArray[$modulefield['name']]; } if($modulefield['content_type']=='js'){ if(isset($modulefield['required']) && count($modulefield['required'])>0){ foreach($modulefield['required'] as $requiredKey=>$requiredValue){ $userSelectedvalue = $contentArray[$requiredKey]; if($userSelectedvalue != $requiredValue){ $replaceModule =''; } } }//Require IF Closed if ($replaceModule !="" && empty( $scriptData['amp_component_scripts'][$modulefield['label']] ) ) { $scriptData['amp_component_scripts'][$modulefield['label']] = $replaceModule; } }//content_type Check if Closed } } } } } } return $scriptData; } add_action('amp_post_template_css','amp_pagebuilder_content_styles',100); function amp_pagebuilder_content_styles(){ //To load css of modules which are in use global $redux_builder_amp, $moduleTemplate, $post, $containerCommonSettings; $postId = $post->ID; if(is_home() && $redux_builder_amp['ampforwp-homepage-on-off-support']==1 && ampforwp_get_blog_details() == false){ $postId = $redux_builder_amp['amp-frontpage-select-option-pages']; } $previousData = get_post_meta($postId,'amp-page-builder'); $previousData = isset($previousData[0])? $previousData[0]: null; $ampforwp_pagebuilder_enable = get_post_meta($postId,'ampforwp_page_builder_enable', true); if($previousData!="" && $ampforwp_pagebuilder_enable=='yes'){ echo '.amp_pb{display: inline-block;width: 100%;} .row{display: inline-flex;width: 100%;} .col-2{width:50%;float:left;} .cb{clear:both;} .amp_blurb{text-align:center} .amp_blurb amp-img{margin: 0 auto;} .amp_btn{text-align:center} .amp_btn a{background: #f92c8b;color: #fff;padding: 9px 20px;border-radius: 3px;display: inline-block;box-shadow: 1px 1px 4px #ccc;} .amppb-pages header .cntr{max-width: 1100px;} @media(max-width:1024px){ .amppb-fixed{width:100%;} } '; add_filter('ampforwp_body_class', 'bodyClassForAMPPagebuilder',10,2); $previousData = (str_replace("'", "", $previousData)); $previousData = json_decode($previousData,true); if(count($previousData['rows'])>0){ foreach ($previousData['rows'] as $key => $rowsData) { $container = $rowsData['cell_data']; $rowContainer = $rowsData['data']; if(isset($containerCommonSettings['front_css'])){ $rowCss = $containerCommonSettings['front_css']; $rowCss = str_replace('{{row-class}}', '.ap_r_'.$rowsData['id'], $rowCss); foreach($containerCommonSettings['fields'] as $rowfield){ $replaceRow = ''; if($rowfield['content_type']=='css'){ if(isset($rowContainer[$rowfield['name']])){ $replaceRow = $rowContainer[$rowfield['name']]; }elseif(!isset($rowContainer[$rowfield['name']])){ $replaceRow = $rowfield['default']; } if(isset($rowfield['required']) && count($rowfield['required'])>0){ foreach($rowfield['required'] as $requiredKey=>$requiredValue){ $valueCheckWith = ''; if(isset($rowContainer[$requiredKey])){ $valueCheckWith = $rowContainer[$requiredKey]; } if( is_array($valueCheckWith) ) { $valueCheckWith = $rowContainer[$requiredKey][0]; } if( $valueCheckWith !== $requiredValue){ $replaceRow =''; } } } switch ($rowfield['type']) { case 'spacing': $replaceSpacing =''; if( isset($replaceRow['top'])&& isset($replaceRow['right'])&& isset($replaceRow['bottom'])&& isset($replaceRow['left']) ){ $replaceSpacing = $replaceRow['top']." ".$replaceRow['right']." ".$replaceRow['bottom']." ".$replaceRow['left']." "; } $rowCss = str_replace('{{'.$rowfield['name'].'}}', $replaceSpacing, $rowCss); break; default: if(is_array($replaceRow)){ if(count($replaceRow)>0){ if(count($replaceRow)==1){ $rowCss = str_replace('{{'.$rowfield['name'].'}}', $replaceRow[0], $rowCss); } }else{ $rowCss = str_replace('{{'.$rowfield['name'].'}}', '', $rowCss); } /*foreach ($rowContainer[$rowfield['name']] as $key => $cssValue) { # code... }()*/ }else{ $rowCss = str_replace('{{'.$rowfield['name'].'}}', $replaceRow, $rowCss); } break; } } $rowCss = ampforwp_replaceIfContentConditional($rowfield['name'], $replaceRow, $rowCss); } echo amppb_validateCss($rowCss); }//Row Settings Css foreach closed if(count($container)>0){ //Module specific styles $moduleCommonCss = array(); foreach($container as $contentArray){ if(isset($moduleTemplate[$contentArray['type']]['front_css'])){ $completeCss = $moduleTemplate[$contentArray['type']]['front_css']; $completeCss = str_replace("{{module-class}}", '.ap_m_'.$contentArray['cell_id'], $completeCss ); } if(isset($moduleTemplate[$contentArray['type']]['front_common_css'])){ $moduleCommonCss[$moduleTemplate[$contentArray['type']]['name']] = $moduleTemplate[$contentArray['type']]['front_common_css']; } if(!isset($moduleTemplate[$contentArray['type']])){ continue; } foreach($moduleTemplate[$contentArray['type']]['fields'] as $modulefield){ //LOAD Icon Css if($modulefield['type']=='icon-selector'){ add_amp_icon(array($contentArray[$modulefield['name']])); } $replaceModule = ""; if(isset($contentArray[$modulefield['name']])){ $replaceModule = $contentArray[$modulefield['name']]; } if($modulefield['content_type']=='css'){ if(isset($modulefield['required']) && count($modulefield['required'])>0){ foreach($modulefield['required'] as $requiredKey=>$requiredValue){ $userSelectedvalue = $contentArray[$requiredKey]; if($userSelectedvalue != $requiredValue){ $replaceModule =''; } } } switch ($modulefield['type']) { case 'spacing': $replacespacing =""; if(isset($replaceModule['top']) && isset($replaceModule['right']) && isset($replaceModule['bottom']) && isset($replaceModule['left']) ){ $replacespacing = $replaceModule['top']." ".$replaceModule['right']." ".$replaceModule['bottom']." ".$replaceModule['left']." "; } $completeCss = str_replace('{{'.$modulefield['name'].'}}', $replacespacing, $completeCss); break; default: if(is_array($replaceModule)){ /*foreach ($contentArray[$modulefield['name']] as $key => $cssValue) { # code... }()*/ }else{ $completeCss = str_replace('{{'.$modulefield['name'].'}}', $replaceModule, $completeCss); } break; } } $completeCss = ampforwp_replaceIfContentConditional($modulefield['name'], $replaceModule, $completeCss); } echo amppb_validateCss($completeCss); //For Repeater Fields $repeaterFieldsCss = ''; if(isset($moduleTemplate[$contentArray['type']]['repeater'])){ if(isset($contentArray['repeater']) && is_array($contentArray['repeater'])){ $repeaterUserContents = $contentArray['repeater']; foreach ($repeaterUserContents as $repeaterUserKey => $repeaterUserValues) { //reset($repeaterUserValues); $repeaterVarIndex = key($repeaterUserValues); $repeaterVarIndex = explode('_', $repeaterVarIndex); $repeaterVarIndex = end($repeaterVarIndex); $repeaterFrontCss = ''; foreach ($moduleTemplate[$contentArray['type']]['repeater']['fields'] as $moduleKey => $moduleField) { //LOAD Icon Css if($moduleField['type']=='icon-selector'){ add_amp_icon(array( $repeaterUserValues[$moduleField['name'].'_'.$repeaterVarIndex])); } //Check if there is no front css if(!isset($moduleTemplate[$contentArray['type']]['repeater']['front_css'])){ continue; } $repeaterFrontCss = $moduleTemplate[$contentArray['type']]['repeater']['front_css']; if($moduleField['content_type']=='css'){ $replace = $repeaterUserValues[$moduleField['name'].'_'.$repeaterVarIndex]; if(is_array($replace)){ if(count($replace)>0){ $replace = $replace[0]; }else{ $replace =''; } } if($modulefield['type']=='spacing'){ $replacespacing =""; if(isset($replaceModule['top']) && isset($replaceModule['right']) && isset($replaceModule['bottom']) && isset($replaceModule['left']) ){ $replacespacing = $replaceModule['top']." ".$replaceModule['right']." ".$replaceModule['bottom']." ".$replaceModule['left']." "; } $repeaterFrontCss = str_replace('{{'.$modulefield['name'].'}}', $replacespacing, $repeaterFrontCss); }else{ $repeaterFrontCss = str_replace( '{{'.$moduleField['name'].'}}', $replace, $repeaterFrontCss ); } } } $repeaterFieldsCss .= $repeaterFrontCss; } }//If Check for Fall back }//If for Module is repeater or not echo $repeaterFieldsCss; }//foreach content closed //For Comon CSS if(count($moduleCommonCss)>0){ echo implode(" ", $moduleCommonCss); } }//ic container check closed //Create row css }//foreach closed complete data }//if closed count($previousData['rows'])>0 }//If Closed $previousData!="" && $ampforwp_pagebuilder_enable=='yes' } function amppb_validateCss($css){ $css = preg_replace('/(([a-z -]*:(\s)*;))/', "", $css); $css = preg_replace('/((;[\s\n;]*;))/', ";", $css); $css = preg_replace('/(?:[^\r\n,{}]+)(?:,(?=[^}]*{,)|\s*{[\s]*})/', "", $css); return $css; } function amppb_post_content($content){ global $post, $redux_builder_amp; global $moduleTemplate, $layoutTemplate, $containerCommonSettings; $postId = $post->ID; if( is_home() && $redux_builder_amp['ampforwp-homepage-on-off-support']==1 && ampforwp_get_blog_details() == false ){ $postId = $redux_builder_amp['amp-frontpage-select-option-pages']; } $previousData = get_post_meta($postId,'amp-page-builder'); $previousData = isset($previousData[0])? $previousData[0]: null; $ampforwp_pagebuilder_enable = get_post_meta($postId,'ampforwp_page_builder_enable', true); if($previousData!="" && $ampforwp_pagebuilder_enable=='yes'){ $html =""; $previousData = (str_replace("'", "", $previousData)); $previousData = json_decode($previousData,true); //Call Sorting for rows if(count($previousData['rows'])>0){ $mainContentClass = ''; if(isset($previousData['settingdata']) && isset($previousData['settingdata']['front_class'])){ $mainContentClass = $previousData['settingdata']['front_class']; } $html = '
".$contentArray['value']."