From: anthony Date: Tue, 12 Jun 2018 02:05:45 +0000 (-0400) Subject: setting up functions file reader for lib modules X-Git-Url: http://cvs2.gaslightmedia.com/gitweb/?a=commitdiff_plain;h=b8ca76981484cc691dde30c3905d1f7ae0e8678b;p=WP-Themes%2FglmOrigin.git setting up functions file reader for lib modules --- diff --git a/dev/app.scss b/dev/app.scss index 812e806..7202ec1 100644 --- a/dev/app.scss +++ b/dev/app.scss @@ -14,13 +14,13 @@ /*Custom Modules */ @import "custom/sidebar/sidebar"; -@import "custom/slideshow/slideshow"; +//@import "custom/slideshow/slideshow"; @import "custom/gravity-forms/gravity-forms"; @import "custom/weather/weather"; @import "custom/nextgen/nextgen"; @import "custom/glma/glm-member-db"; -@import "custom/glma/glm-member-db-events"; -@import "custom/blocks/blocks"; +//@import "custom/glma/glm-member-db-events"; +//@import "custom/blocks/blocks"; @import "custom/action-items/action-items"; @import "custom/svg-map/svg-map"; -@import "custom/woocommerce/woocommerce"; \ No newline at end of file +@import "custom/woocommerce/woocommerce";";";";"; \ No newline at end of file diff --git a/dev/core/defaults/functions/defaults.php b/dev/core/defaults/functions/defaults.php new file mode 100644 index 0000000..e69de29 diff --git a/dev/core/defaults/functions/menu-walker.php b/dev/core/defaults/functions/menu-walker.php new file mode 100644 index 0000000..6141090 --- /dev/null +++ b/dev/core/defaults/functions/menu-walker.php @@ -0,0 +1,81 @@ +has_children = ! empty( $children_elements[ $element->ID ] ); + $element->classes[] = ( $element->current || $element->current_item_ancestor ) ? 'active' : ''; + $element->classes[] = ( $element->has_children && 1 !== $max_depth ) ? 'has-dropdown' : ''; + $element->classes[] = ( $element->post_parent == 0 && $mainLevelCounter <= 3 ) ? 'drop-right' : 'drop-left'; + parent::display_element( $element, $children_elements, $max_depth, $depth, $args, $output ); + } + + function start_el( &$output, $object, $depth = 0, $args = array(), $current_object_id = 0 ) { + $item_html = ''; + parent::start_el( $item_html, $object, $depth, $args ); + + // Insert style to display page's thumbnail + $item_style = ''; + if ($depth == 0 && has_post_thumbnail((int)$object->object_id)) { + $thumbnail = wp_get_attachment_image_src(get_post_thumbnail_id((int)$object->object_id), 'large'); + $item_style .= ""; + } + //$output .= ( 0 == $depth ) ? '
  • ' : ''; + $classes = empty( $object->classes ) ? array() : (array) $object->classes; + if ( in_array( 'label', $classes ) ) { + //$output .= '
  • '; + $item_html = preg_replace( '/]*>(.*)<\/a>/iU', '', $item_html ); + } + if ( in_array( 'divider', $classes ) ) { + $item_html = preg_replace( '/]*>( .* )<\/a>/iU', '', $item_html ); + } + if ($item_style) + $output .= $item_style; + $output .= $item_html; + } + + function start_lvl( &$output, $depth = 0, $args = array() ) { + $output .= "\n
      \n"; + } +} +endif; +if ( ! class_exists( 'Glm_Theme_Off_Canvas_Walker' ) ) : +class Glm_Theme_Off_Canvas_Walker extends Walker_Nav_Menu { + function display_element( $element, &$children_elements, $max_depth, $depth = 0, $args, &$output ) { + $element->has_children = ! empty( $children_elements[ $element->ID ] ); + $element->classes[] = ( $element->current || $element->current_item_ancestor ) ? 'active' : ''; + $element->classes[] = ( $element->has_children && 1 !== $max_depth ) ? 'page_item_has_children' : ''; + $element->classes[] = 'page_item'; + + parent::display_element( $element, $children_elements, $max_depth, $depth, $args, $output ); + } + + function start_el( &$output, $object, $depth = 0, $args = array(), $current_object_id = 0 ) { + $item_html = ''; + parent::start_el( $item_html, $object, $depth, $args ); + + $classes = empty( $object->classes ) ? array() : (array) $object->classes; + + if ( in_array( 'label', $classes ) ) { + $item_html = preg_replace( '/]*>(.*)<\/a>/iU', '', $item_html ); + } + $item_html = preg_replace("/
      /", " ", $item_html); + $output .= $item_html; + } + + function start_lvl( &$output, $depth = 0, $args = array() ) { + $output .= "\n
        \n"; + } + + function end_lvl(&$output, $depth = 0, $args = array()){ + $output .= '
      '; + } +} +endif; +?> diff --git a/dev/core/defaults/functions/navigation.php b/dev/core/defaults/functions/navigation.php new file mode 100644 index 0000000..68365b4 --- /dev/null +++ b/dev/core/defaults/functions/navigation.php @@ -0,0 +1,178 @@ + 'Site Navigation', + 'mobile-menu' => 'Off Canvas' +)); +if ( ! function_exists( 'glm_theme_members_only' ) ) { + function glm_theme_members_only($location) { + echo '
        '; + echo glm_theme_top_bar( $location ); + echo '
      '; + } +} + +/** + * Top Bar + */ +if ( ! function_exists( 'glm_theme_top_bar' ) ) { + function glm_theme_top_bar($location) { + wp_nav_menu(array( + 'container' => false, // remove nav container + 'container_class' => '', // class of container + 'menu' => '', // menu name + 'menu_class' => '', // adding custom nav class + 'theme_location' => $location, // where it's located in the theme + 'before' => '', // before each link + 'after' => '', // after each link + 'link_before' => '', // before each link text + 'link_after' => '', // after each link text + 'depth' => 3, // limit the depth of the nav + 'fallback_cb' => false, // fallback function (see below) + 'walker' => new Glm_Theme_Top_Bar_Walker() + )); + } +} + +/** + * Mobile off-canvas + */ +if ( ! function_exists( 'glm_theme_mobile_off_canvas' ) ) { + function glm_theme_mobile_off_canvas($location) { + echo '
      '; + echo '
      • Home
      • '; + echo glm_get_mobile_nav_menu( $location ); + echo glm_get_mobile_nav_menu( 'top-bar' ); + echo '
      '; + } +} +if ( ! function_exists( 'glm_theme_additional_off_canvas' ) ) { + function glm_theme_additional_off_canvas($location) { + echo glm_get_mobile_nav_menu( $location ); + } +} +function glm_get_mobile_nav_menu( $theme_location ) +{ + $menu = wp_nav_menu(array( + 'echo' => false, // don't echo + 'container' => false, // remove nav container + 'container_class' => '', // class of container + 'menu' => '', // menu name + 'menu_class' => 'off-canvas-list', // adding custom nav class + 'theme_location' => $theme_location, // where it's located in the theme + 'before' => '', // before each link + 'after' => '', // after each link + 'link_before' => '', // before each link text + 'link_after' => '', // after each link text + 'depth' => 5, // limit the depth of the nav + 'fallback_cb' => false, // fallback function (see below) + 'walker' => new Glm_Theme_Off_Canvas_Walker() + )); + return preg_replace( array( '%^]*>%', '%
    $%' ), '', $menu ); +} + +/** + * Footer + */ +if ( ! function_exists( 'glm_theme_footer' ) ) { + function glm_theme_footer() { + wp_nav_menu(array( + 'container' => false, // remove nav container + 'container_class' => '', // class of container + 'menu' => '', // menu name + 'menu_class' => '', // adding custom nav class + 'theme_location' => 'footer', // where it's located in the theme + 'before' => '', // before each link + 'after' => '', // after each link + 'link_before' => '', // before each link text + 'link_after' => '', // after each link text + 'depth' => 1, // limit the depth of the nav + 'fallback_cb' => false, // fallback function (see below) + )); + } +} + +/** + * glm_page_menu + * + * Grab the top level pages and their sub pages as the main navigation + */ +function glm_page_menu($parent = 0, $class = '') +{ + $menuConfig = glm_get_menu_options(); + $frontPageId = get_option('page_on_front'); + $parents = array(); + $args = array( + 'post_type' => 'page', + 'parent' => $parent, + 'number' => '', + 'exclude' => $frontPageId, + 'post_status' => 'publish', + 'sort_order' => 'asc', + 'sort_column' => 'menu_order' + ); + if ($parent == 0 && $menuConfig['menu_options']['main_level_pages']) { + $args['include'] = $menuConfig['menu_options']['main_level_pages']; + } + $pages = get_pages($args); + echo ''."\n"; + foreach ($pages as $page) { + $childs = get_pages('child_of=' . $page->ID); + if (count($childs) > 0) { + echo '
  • '."\n"; + echo ''.$page->post_title.''."\n"; + echo glm_page_menu($page->ID, 'sub-menu dropdown'); + echo '
  • '."\n"; + } else { + echo '
  • '.$page->post_title.'
  • '."\n"; + } + } + echo ''."\n"; +} + +/** + * glm_offcanvas_menu + * + * Generate the list of pages as nested ul li list + */ +function glm_offcanvas_menu() +{ + wp_page_menu(array( + 'depth' => 0, + 'sort_column' => 'menu_order', + 'menu_class' => 'left-off-canvas-list' + )); +} + +/** + * get_menu_options + * + * Grab the menu options from the theme.ini file + */ +function glm_get_menu_options() +{ + static $menu_options; + $themeConfig = get_template_directory() . '/theme.ini'; + + if (!$menu_options && is_file($themeConfig)) { + $menu_options = parse_ini_file($themeConfig, true); + } + return $menu_options; +} + +function glm_side_menu() { + global $post; + $parents = get_post_ancestors($post->ID); + $id = ($parents) ? $parents[count($parents)-1]: $post->ID; + $parent = get_page( $id ); + if ($id == 0) { + $ID = $post->ID; + } else { + $ID = $parent->ID; + } + echo '

    '.get_the_title($ID).'

    '; + echo ''."\n"; +} + diff --git a/dev/core/defaults/menu-walker.php b/dev/core/defaults/menu-walker.php deleted file mode 100644 index 6141090..0000000 --- a/dev/core/defaults/menu-walker.php +++ /dev/null @@ -1,81 +0,0 @@ -has_children = ! empty( $children_elements[ $element->ID ] ); - $element->classes[] = ( $element->current || $element->current_item_ancestor ) ? 'active' : ''; - $element->classes[] = ( $element->has_children && 1 !== $max_depth ) ? 'has-dropdown' : ''; - $element->classes[] = ( $element->post_parent == 0 && $mainLevelCounter <= 3 ) ? 'drop-right' : 'drop-left'; - parent::display_element( $element, $children_elements, $max_depth, $depth, $args, $output ); - } - - function start_el( &$output, $object, $depth = 0, $args = array(), $current_object_id = 0 ) { - $item_html = ''; - parent::start_el( $item_html, $object, $depth, $args ); - - // Insert style to display page's thumbnail - $item_style = ''; - if ($depth == 0 && has_post_thumbnail((int)$object->object_id)) { - $thumbnail = wp_get_attachment_image_src(get_post_thumbnail_id((int)$object->object_id), 'large'); - $item_style .= ""; - } - //$output .= ( 0 == $depth ) ? '
  • ' : ''; - $classes = empty( $object->classes ) ? array() : (array) $object->classes; - if ( in_array( 'label', $classes ) ) { - //$output .= '
  • '; - $item_html = preg_replace( '/]*>(.*)<\/a>/iU', '', $item_html ); - } - if ( in_array( 'divider', $classes ) ) { - $item_html = preg_replace( '/]*>( .* )<\/a>/iU', '', $item_html ); - } - if ($item_style) - $output .= $item_style; - $output .= $item_html; - } - - function start_lvl( &$output, $depth = 0, $args = array() ) { - $output .= "\n
      \n"; - } -} -endif; -if ( ! class_exists( 'Glm_Theme_Off_Canvas_Walker' ) ) : -class Glm_Theme_Off_Canvas_Walker extends Walker_Nav_Menu { - function display_element( $element, &$children_elements, $max_depth, $depth = 0, $args, &$output ) { - $element->has_children = ! empty( $children_elements[ $element->ID ] ); - $element->classes[] = ( $element->current || $element->current_item_ancestor ) ? 'active' : ''; - $element->classes[] = ( $element->has_children && 1 !== $max_depth ) ? 'page_item_has_children' : ''; - $element->classes[] = 'page_item'; - - parent::display_element( $element, $children_elements, $max_depth, $depth, $args, $output ); - } - - function start_el( &$output, $object, $depth = 0, $args = array(), $current_object_id = 0 ) { - $item_html = ''; - parent::start_el( $item_html, $object, $depth, $args ); - - $classes = empty( $object->classes ) ? array() : (array) $object->classes; - - if ( in_array( 'label', $classes ) ) { - $item_html = preg_replace( '/]*>(.*)<\/a>/iU', '', $item_html ); - } - $item_html = preg_replace("/
      /", " ", $item_html); - $output .= $item_html; - } - - function start_lvl( &$output, $depth = 0, $args = array() ) { - $output .= "\n
        \n"; - } - - function end_lvl(&$output, $depth = 0, $args = array()){ - $output .= '
      '; - } -} -endif; -?> diff --git a/dev/core/defaults/navigation.php b/dev/core/defaults/navigation.php deleted file mode 100644 index 68365b4..0000000 --- a/dev/core/defaults/navigation.php +++ /dev/null @@ -1,178 +0,0 @@ - 'Site Navigation', - 'mobile-menu' => 'Off Canvas' -)); -if ( ! function_exists( 'glm_theme_members_only' ) ) { - function glm_theme_members_only($location) { - echo '
        '; - echo glm_theme_top_bar( $location ); - echo '
      '; - } -} - -/** - * Top Bar - */ -if ( ! function_exists( 'glm_theme_top_bar' ) ) { - function glm_theme_top_bar($location) { - wp_nav_menu(array( - 'container' => false, // remove nav container - 'container_class' => '', // class of container - 'menu' => '', // menu name - 'menu_class' => '', // adding custom nav class - 'theme_location' => $location, // where it's located in the theme - 'before' => '', // before each link - 'after' => '', // after each link - 'link_before' => '', // before each link text - 'link_after' => '', // after each link text - 'depth' => 3, // limit the depth of the nav - 'fallback_cb' => false, // fallback function (see below) - 'walker' => new Glm_Theme_Top_Bar_Walker() - )); - } -} - -/** - * Mobile off-canvas - */ -if ( ! function_exists( 'glm_theme_mobile_off_canvas' ) ) { - function glm_theme_mobile_off_canvas($location) { - echo '
      '; - echo '
      • Home
      • '; - echo glm_get_mobile_nav_menu( $location ); - echo glm_get_mobile_nav_menu( 'top-bar' ); - echo '
      '; - } -} -if ( ! function_exists( 'glm_theme_additional_off_canvas' ) ) { - function glm_theme_additional_off_canvas($location) { - echo glm_get_mobile_nav_menu( $location ); - } -} -function glm_get_mobile_nav_menu( $theme_location ) -{ - $menu = wp_nav_menu(array( - 'echo' => false, // don't echo - 'container' => false, // remove nav container - 'container_class' => '', // class of container - 'menu' => '', // menu name - 'menu_class' => 'off-canvas-list', // adding custom nav class - 'theme_location' => $theme_location, // where it's located in the theme - 'before' => '', // before each link - 'after' => '', // after each link - 'link_before' => '', // before each link text - 'link_after' => '', // after each link text - 'depth' => 5, // limit the depth of the nav - 'fallback_cb' => false, // fallback function (see below) - 'walker' => new Glm_Theme_Off_Canvas_Walker() - )); - return preg_replace( array( '%^]*>%', '%
    $%' ), '', $menu ); -} - -/** - * Footer - */ -if ( ! function_exists( 'glm_theme_footer' ) ) { - function glm_theme_footer() { - wp_nav_menu(array( - 'container' => false, // remove nav container - 'container_class' => '', // class of container - 'menu' => '', // menu name - 'menu_class' => '', // adding custom nav class - 'theme_location' => 'footer', // where it's located in the theme - 'before' => '', // before each link - 'after' => '', // after each link - 'link_before' => '', // before each link text - 'link_after' => '', // after each link text - 'depth' => 1, // limit the depth of the nav - 'fallback_cb' => false, // fallback function (see below) - )); - } -} - -/** - * glm_page_menu - * - * Grab the top level pages and their sub pages as the main navigation - */ -function glm_page_menu($parent = 0, $class = '') -{ - $menuConfig = glm_get_menu_options(); - $frontPageId = get_option('page_on_front'); - $parents = array(); - $args = array( - 'post_type' => 'page', - 'parent' => $parent, - 'number' => '', - 'exclude' => $frontPageId, - 'post_status' => 'publish', - 'sort_order' => 'asc', - 'sort_column' => 'menu_order' - ); - if ($parent == 0 && $menuConfig['menu_options']['main_level_pages']) { - $args['include'] = $menuConfig['menu_options']['main_level_pages']; - } - $pages = get_pages($args); - echo ''."\n"; - foreach ($pages as $page) { - $childs = get_pages('child_of=' . $page->ID); - if (count($childs) > 0) { - echo '
  • '."\n"; - echo ''.$page->post_title.''."\n"; - echo glm_page_menu($page->ID, 'sub-menu dropdown'); - echo '
  • '."\n"; - } else { - echo '
  • '.$page->post_title.'
  • '."\n"; - } - } - echo ''."\n"; -} - -/** - * glm_offcanvas_menu - * - * Generate the list of pages as nested ul li list - */ -function glm_offcanvas_menu() -{ - wp_page_menu(array( - 'depth' => 0, - 'sort_column' => 'menu_order', - 'menu_class' => 'left-off-canvas-list' - )); -} - -/** - * get_menu_options - * - * Grab the menu options from the theme.ini file - */ -function glm_get_menu_options() -{ - static $menu_options; - $themeConfig = get_template_directory() . '/theme.ini'; - - if (!$menu_options && is_file($themeConfig)) { - $menu_options = parse_ini_file($themeConfig, true); - } - return $menu_options; -} - -function glm_side_menu() { - global $post; - $parents = get_post_ancestors($post->ID); - $id = ($parents) ? $parents[count($parents)-1]: $post->ID; - $parent = get_page( $id ); - if ($id == 0) { - $ID = $post->ID; - } else { - $ID = $parent->ID; - } - echo '

    '.get_the_title($ID).'

    '; - echo ''."\n"; -} - diff --git a/dev/core/footer/functions/footer.php b/dev/core/footer/functions/footer.php new file mode 100644 index 0000000..e69de29 diff --git a/dev/core/front-page/functions/front-page.php b/dev/core/front-page/functions/front-page.php new file mode 100644 index 0000000..e69de29 diff --git a/dev/core/interior-page/functions/interior-page.php b/dev/core/interior-page/functions/interior-page.php new file mode 100644 index 0000000..e69de29 diff --git a/dev/core/off-canvas-overlay/functions/off-canvas-overlay.php b/dev/core/off-canvas-overlay/functions/off-canvas-overlay.php new file mode 100644 index 0000000..e69de29 diff --git a/dev/core/off-canvas/functions/off_canvas.php b/dev/core/off-canvas/functions/off_canvas.php new file mode 100644 index 0000000..e69de29 diff --git a/dev/core/topbar/functions/topbar.php b/dev/core/topbar/functions/topbar.php new file mode 100644 index 0000000..e69de29 diff --git a/dev/custom/action-items/action-items.js b/dev/custom/action-items/action-items.js deleted file mode 100644 index c3e3049..0000000 --- a/dev/custom/action-items/action-items.js +++ /dev/null @@ -1,3 +0,0 @@ -$(function() { - console.log( "action items!" ); -}); \ No newline at end of file diff --git a/dev/custom/action-items/action-items.js.off b/dev/custom/action-items/action-items.js.off new file mode 100644 index 0000000..c3e3049 --- /dev/null +++ b/dev/custom/action-items/action-items.js.off @@ -0,0 +1,3 @@ +$(function() { + console.log( "action items!" ); +}); \ No newline at end of file diff --git a/dev/custom/action-items/functions/action-items.php b/dev/custom/action-items/functions/action-items.php new file mode 100644 index 0000000..e69de29 diff --git a/dev/custom/glm-blocks/functions/glm-blocks.php b/dev/custom/glm-blocks/functions/glm-blocks.php new file mode 100644 index 0000000..e69de29 diff --git a/dev/custom/glma/functions/glma.php b/dev/custom/glma/functions/glma.php new file mode 100644 index 0000000..e69de29 diff --git a/dev/custom/nextgen/functions/nextgen.php b/dev/custom/nextgen/functions/nextgen.php new file mode 100644 index 0000000..e69de29 diff --git a/dev/custom/sidebar/functions/sidebar.php b/dev/custom/sidebar/functions/sidebar.php new file mode 100644 index 0000000..e69de29 diff --git a/dev/custom/slideshow/functions/slideshow.php b/dev/custom/slideshow/functions/slideshow.php new file mode 100644 index 0000000..e69de29 diff --git a/dev/custom/slideshow/slideshow.js b/dev/custom/slideshow/slideshow.js deleted file mode 100644 index e69de29..0000000 diff --git a/dev/custom/slideshow/slideshow.js.off b/dev/custom/slideshow/slideshow.js.off new file mode 100644 index 0000000..e69de29 diff --git a/dev/modules.php b/dev/modules.php index cb5888c..30796e0 100644 --- a/dev/modules.php +++ b/dev/modules.php @@ -1,7 +1,22 @@ ', { - class: `module-item module-active-${active}`, - id: `${modName}`, - text: `${modName}` - }).appendTo(modList) - } + localStorage.setItem(modName, JSON.stringify({path: reader.input.path, line: line, modName: modName, active: active})) + $('
  • ', { + class: `module-item module-active-${active}`, + id: `${modName}`, + text: `${modName}` + }).appendTo(modList) } } // true is used for init parsing of theme modules, edit is to activate or de-activate modules @@ -115,7 +90,6 @@ function parseModules(reader,line){ // last param is the path to the file to be editted since we can't use the readLine Stream again (idk how yet) function scanModules(parse, edit, state){ if(parse) { - console.log("init parse") readLines("parse"); }else if(edit){ readLines("edit", state) @@ -126,6 +100,12 @@ scanModules(true, false, false); let allModules = JSON.parse(localStorage.getItem("modules")) +// activate or deactivate the JS files for each module +const modPaths = ['dev/core/', 'dev/custom/']; + +functionsFileReader.on('line', function (line) { + parsePhpLibs(this, line) +}); // On Click Set Mod State $(document).on("click", ".module-item", function(){ @@ -133,6 +113,7 @@ $(document).on("click", ".module-item", function(){ let modName = _.attr("id"); let thisMod = JSON.parse(localStorage.getItem(modName)) + let moduleLocation = `dev/${thisMod.line.split("import ").pop().replace(/[;'"]+/g, '')}`; let state = {path: thisMod.path, line: thisMod.line, name: modName} if( _.hasClass("module-active-true") ){ @@ -146,4 +127,22 @@ $(document).on("click", ".module-item", function(){ } scanModules(false, true , state) + + // Activate or De-Activate JS Files + let jsFile = path.join(__dirname, `../${moduleLocation}.js`); + let newJsFile = jsFile+'.off'; + fs.exists(jsFile, function(exists) { + if(exists){ + fs.rename(jsFile, newJsFile, function(err){ + if (err) throw err; + }); + } + }); + fs.exists(newJsFile, function(exists) { + if(exists){ + fs.rename(newJsFile, jsFile, function(err){ + if (err) throw err; + }); + } + }); }) \ No newline at end of file