summaryrefslogtreecommitdiff
path: root/inc/core/markup
diff options
context:
space:
mode:
Diffstat (limited to 'inc/core/markup')
-rw-r--r--inc/core/markup/class-astra-markup.php340
1 files changed, 340 insertions, 0 deletions
diff --git a/inc/core/markup/class-astra-markup.php b/inc/core/markup/class-astra-markup.php
new file mode 100644
index 0000000..d9d6e9c
--- /dev/null
+++ b/inc/core/markup/class-astra-markup.php
@@ -0,0 +1,340 @@
+<?php
+/**
+ * Astra Generate Markup Class.
+ *
+ * @package Astra
+ * @author Astra
+ * @copyright Copyright (c) 2021, Astra
+ * @link https://wpastra.com/
+ * @since Astra 3.3.0
+ */
+
+if ( ! defined( 'ABSPATH' ) ) {
+ exit; // Exit if accessed directly.
+}
+
+/**
+ * Class Astra_Attr
+ */
+class Astra_Markup {
+
+ /**
+ * Initialuze the Class.
+ *
+ * @since 3.3.0
+ */
+ public function __construct() {
+
+ if ( ! Astra_Builder_Helper::apply_flex_based_css() ) {
+ // Add filters here.
+ add_filter( 'astra_markup_footer-widget-div_open', array( $this, 'footer_widget_div_open' ) );
+ add_filter( 'astra_markup_footer-widget-div_close', array( $this, 'footer_widget_div_close' ) );
+ add_filter( 'astra_markup_header-widget-div_open', array( $this, 'header_widget_div_open' ) );
+ add_filter( 'astra_markup_header-widget-div_close', array( $this, 'footer_widget_div_close' ) );
+ add_filter( 'astra_markup_comment-count-wrapper_open', array( $this, 'comment_count_wrapper_open' ) );
+ add_filter( 'astra_markup_comment-count-wrapper_close', array( $this, 'comment_count_wrapper_close' ) );
+ add_filter( 'astra_markup_ast-comment-data-wrap_open', array( $this, 'ast_comment_data_wrap_open' ) );
+ add_filter( 'astra_markup_ast-comment-data-wrap_close', array( $this, 'ast_comment_data_wrap_close' ) );
+ add_filter( 'astra_markup_ast-comment-meta-wrap_open', array( $this, 'ast_comment_meta_wrap_open' ) );
+ add_filter( 'astra_markup_ast-comment-meta-wrap_close', array( $this, 'ast_comment_meta_wrap_close' ) );
+ add_filter( 'astra_attr_ast-comment-time_output', array( $this, 'ast_comment_time_attr' ) );
+ add_filter( 'astra_attr_ast-comment-cite-wrap_output', array( $this, 'ast_comment_cite_wrap_attr' ) );
+ }
+ add_filter( 'astra_attr_comment-form-grid-class_output', array( $this, 'comment_form_grid_class' ) );
+ add_filter( 'astra_attr_header-widget-area-inner', array( $this, 'header_widget_area_inner' ) );
+ add_filter( 'astra_attr_footer-widget-area-inner', array( $this, 'footer_widget_area_inner' ) );
+ add_filter( 'astra_attr_ast-grid-lg-12_output', array( $this, 'ast_grid_lg_12' ) );
+ add_filter( 'astra_attr_ast-grid-common-col_output', array( $this, 'ast_grid_common_css' ) );
+ add_filter( 'astra_attr_ast-grid-blog-col_output', array( $this, 'ast_grid_blog_col' ) );
+ add_filter( 'astra_attr_ast-blog-col_output', array( $this, 'ast_blog_common_css' ) );
+ add_filter( 'astra_attr_ast-grid-col-6_output', array( $this, 'ast_grid_col_6' ) );
+ add_filter( 'astra_attr_ast-layout-4-grid_output', array( $this, 'ast_layout_4_grid' ) );
+ add_filter( 'astra_attr_ast-layout-1-grid_output', array( $this, 'ast_layout_1_grid' ) );
+ add_filter( 'astra_attr_ast-layout-2-grid_output', array( $this, 'ast_layout_2_grid' ) );
+ add_filter( 'astra_attr_ast-layout-3-grid_output', array( $this, 'ast_layout_3_grid' ) );
+ add_filter( 'astra_attr_ast-layout-5-grid_output', array( $this, 'ast_layout_5_grid' ) );
+ add_filter( 'astra_attr_ast-layout-6-grid_output', array( $this, 'ast_layout_6_grid' ) );
+
+ }
+
+ /**
+ * Comment count wrapper opening div.
+ *
+ * @param array $args markup arguments.
+ * @since 3.3.0
+ * @return array.
+ */
+ public function comment_count_wrapper_open( $args ) {
+ $args['open'] = '<div %s>';
+ $args['attrs'] = array( 'class' => 'comments-count-wrapper' );
+ return $args;
+ }
+
+ /**
+ * Comment count wrapper closing div.
+ *
+ * @param array $args markup arguments.
+ * @since 3.3.0
+ * @return array.
+ */
+ public function comment_count_wrapper_close( $args ) {
+ $args['close'] = '</div>';
+ return $args;
+ }
+
+ /**
+ * Comment data wrapper opening div.
+ *
+ * @param array $args markup arguments.
+ * @since 3.3.0
+ * @return array.
+ */
+ public function ast_comment_data_wrap_open( $args ) {
+ $args['open'] = '<div %s>';
+ $args['attrs'] = array( 'class' => 'ast-comment-data-wrap' );
+ return $args;
+ }
+
+ /**
+ * Comment data wrapper closing div.
+ *
+ * @param array $args markup arguments.
+ * @since 3.3.0
+ * @return array.
+ */
+ public function ast_comment_data_wrap_close( $args ) {
+ $args['close'] = '</div>';
+ return $args;
+ }
+
+ /**
+ * Comment meta wrapper opening div.
+ *
+ * @param array $args markup arguments.
+ * @since 3.3.0
+ * @return array.
+ */
+ public function ast_comment_meta_wrap_open( $args ) {
+ $args['open'] = '<div %s>';
+ $args['attrs'] = array( 'class' => 'ast-comment-meta-wrap' );
+ return $args;
+ }
+
+ /**
+ * Comment meta wrapper closing div.
+ *
+ * @param array $args markup arguments.
+ * @since 3.3.0
+ * @return array.
+ */
+ public function ast_comment_meta_wrap_close( $args ) {
+ $args['close'] = '</div>';
+ return $args;
+ }
+
+ /**
+ * Comment time div attributes.
+ *
+ * @since 3.3.0
+ * @return string.
+ */
+ public function ast_comment_time_attr() {
+ return 'class = "ast-comment-time ast-col-lg-12" ';
+ }
+
+ /**
+ * Comment cite wrapper div attributes.
+ *
+ * @since 3.3.0
+ * @return string.
+ */
+ public function ast_comment_cite_wrap_attr() {
+ return 'class = "ast-comment-cite-wrap ast-col-lg-12" ';
+ }
+
+ /**
+ * We have removed grid css and make common css for grid style.
+ *
+ * @since 3.3.0
+ * @return string.
+ */
+ public function ast_grid_common_css() {
+ return Astra_Builder_Helper::apply_flex_based_css() ? 'ast-grid-common-col' : 'ast-col-md-12';
+ }
+
+ /**
+ * Blog content Grid CSS.
+ *
+ * @since 3.3.0
+ * @return string.
+ */
+ public function ast_grid_blog_col() {
+ return Astra_Builder_Helper::apply_flex_based_css() ? 'ast-grid-common-col ast-float' : 'ast-col-md-12';
+ }
+
+ /**
+ * We have removed grid css and make common css for grid style.
+ *
+ * @since 3.3.0
+ * @return string.
+ */
+ public function ast_blog_common_css() {
+ return Astra_Builder_Helper::apply_flex_based_css() ? 'ast-grid-common-col ast-full-width' : 'ast-col-sm-12';
+ }
+
+ /**
+ * Removed grid layout classes and make common class for same style.
+ *
+ * @since 3.3.0
+ * @return string.
+ */
+ public function ast_grid_col_6() {
+ return Astra_Builder_Helper::apply_flex_based_css() ? 'ast-width-md-6' : 'ast-col-md-6';
+ }
+
+ /**
+ * Comment form grid classes.
+ *
+ * @since 3.3.0
+ * @return string.
+ */
+ public function comment_form_grid_class() {
+ return ( Astra_Builder_Helper::apply_flex_based_css() ) ? 'ast-grid-common-col ast-width-lg-33 ast-width-md-4 ast-float' : 'ast-col-xs-12 ast-col-sm-12 ast-col-md-4 ast-col-lg-4';
+ }
+
+ /**
+ * Removed grid layout classes and make common class for same style
+ *
+ * @since 3.3.0
+ * @return string.
+ */
+ public function ast_grid_lg_12() {
+ return Astra_Builder_Helper::apply_flex_based_css() ? 'ast-grid-common-col' : 'ast-col-lg-12';
+ }
+
+ /**
+ * Layout-4 grid css backward comaptibility.
+ *
+ * @return string.
+ */
+ public function ast_layout_4_grid() {
+ return Astra_Builder_Helper::apply_flex_based_css() ? 'ast-grid-common-col ast-width-sm-25 ast-width-md-3 ast-float ast-full-width' : 'ast-col-lg-3 ast-col-md-3 ast-col-sm-12 ast-col-xs-12';
+ }
+
+ /**
+ * Layout-2 grid css backward comaptibility.
+ *
+ * @return string.
+ */
+ public function ast_layout_2_grid() {
+ return Astra_Builder_Helper::apply_flex_based_css() ? 'ast-grid-common-col ast-width-md-6 ast-full-width' : 'ast-col-lg-6 ast-col-md-6 ast-col-sm-12 ast-col-xs-12';
+ }
+
+ /**
+ * Layout-1 grid css backward comaptibility.
+ *
+ * @return string.
+ */
+ public function ast_layout_1_grid() {
+ return Astra_Builder_Helper::apply_flex_based_css() ? 'ast-grid-common-col' : 'ast-col-lg-12 ast-col-md-12 ast-col-sm-12 ast-col-xs-12';
+ }
+
+ /**
+ * Layout-3 grid css backward comaptibility.
+ *
+ * @return string.
+ */
+ public function ast_layout_3_grid() {
+ return Astra_Builder_Helper::apply_flex_based_css() ? 'ast-grid-common-col ast-width-md-4 ast-float ast-full-width' : 'ast-col-lg-4 ast-col-md-4 ast-col-sm-12 ast-col-xs-12';
+ }
+
+ /**
+ * Layout-5 grid css backward comaptibility.
+ *
+ * @return string.
+ */
+ public function ast_layout_5_grid() {
+ return Astra_Builder_Helper::apply_flex_based_css() ? 'ast-grid-common-col ast-width-md-16 ast-width-md-20 ast-float ast-full-width' : 'ast-col-lg-2 ast-col-md-2 ast-col-sm-12 ast-col-xs-12';
+ }
+
+ /**
+ * Layout-6 grid css backward comaptibility.
+ *
+ * @return string.
+ */
+ public function ast_layout_6_grid() {
+ return Astra_Builder_Helper::apply_flex_based_css() ? 'ast-grid-common-col ast-width-md-6 ast-width-lg-50 ast-float ast-full-width' : 'ast-col-lg-6 ast-col-md-6 ast-col-sm-12 ast-col-xs-12';
+ }
+
+ /**
+ * Footer widget opening div.
+ *
+ * @since 3.3.0
+ * @param array $args div attributes.
+ * @return array.
+ */
+ public function footer_widget_div_open( $args ) {
+ $args['open'] = '<div %s>';
+ $args['attrs'] = array( 'class' => 'footer-widget-area-inner site-info-inner' );
+ return $args;
+ }
+
+ /**
+ * Footer widget closing div.
+ *
+ * @since 3.3.0
+ * @param array $args div attributes.
+ * @return array.
+ */
+ public function footer_widget_div_close( $args ) {
+ $args['close'] = '</div>';
+ return $args;
+ }
+
+ /**
+ * Footer widget inner class.
+ *
+ * @param array $args attributes.
+ * @since 3.3.0
+ * @return string.
+ */
+ public function footer_widget_area_inner( $args ) {
+ if ( Astra_Builder_Helper::apply_flex_based_css() ) {
+ $args['class'] = $args['class'] . ' footer-widget-area-inner';
+ }
+ return $args;
+ }
+
+ /**
+ * Header widget inner class.
+ *
+ * @param array $args Attributes.
+ * @since 3.3.0
+ * @return string.
+ */
+ public function header_widget_area_inner( $args ) {
+ if ( Astra_Builder_Helper::apply_flex_based_css() ) {
+ $args['class'] = $args['class'] . ' header-widget-area-inner';
+ }
+ return $args;
+ }
+
+ /**
+ * Footer widget opening div.
+ *
+ * @since 3.3.0
+ * @param array $args div attributes.
+ * @return array.
+ */
+ public function header_widget_div_open( $args ) {
+ $args['open'] = '<div %s>';
+ $args['attrs'] = array( 'class' => 'header-widget-area-inner site-info-inner' );
+ return $args;
+ }
+
+}
+
+/**
+ * Kicking this off by calling 'get_instance()' method
+ */
+new Astra_Markup();