public static function enqueue_action($block_id, $block) { $images = parent::get_setting($block, 'images', array()); wp_enqueue_style('flexslider', headway_url() . '/library/blocks/slider/assets/flexslider.css'); //If there are no images or only 1 image, do not load FlexSlider JS. if (count($images) <= 1) { return false; } wp_enqueue_script('flexslider', headway_url() . '/library/blocks/slider/assets/jquery.flexslider-min.js', array('jquery')); }
public static function enqueue_action($block_id, $block, $original_block = null) { $dependencies = array(); /* Handle sub menus with super fish */ if (self::does_menu_have_subs('navigation_block_' . $block_id)) { $dependencies[] = 'jquery'; if (parent::get_setting($block_id, 'hover-intent', true)) { $dependencies[] = 'jquery-hoverintent'; } wp_enqueue_script('headway-superfish', headway_url() . '/library/blocks/navigation/js/jquery.superfish.js', array_unique($dependencies)); } /* SelectNav... Responsive Select */ if (HeadwayResponsiveGrid::is_active() && parent::get_setting($block, 'responsive-select', true)) { wp_enqueue_script('headway-selectnav', headway_url() . '/library/blocks/navigation/js/selectnav.js', array('jquery')); } }
<?php headway_register_block('HeadwayCustomCodeBlock', headway_url() . '/library/blocks/custom-code'); class HeadwayCustomCodeBlock extends HeadwayBlockAPI { public $id = 'custom-code'; public $name = 'Custom Code'; public $options_class = 'HeadwayCustomCodeBlockOptions'; public $description = 'Place in custom HTML, PHP, or even WordPress shortcodes into this block.'; function content($block) { $content = parent::get_setting($block, 'content'); if ($content != null) { echo headway_parse_php(do_shortcode(stripslashes($content))); } else { echo '<p>There is no custom code to display.</p>'; } } } class HeadwayCustomCodeBlockOptions extends HeadwayBlockOptionsAPI { public $tabs = array('content' => 'Content'); public $inputs = array('content' => array('content' => array('type' => 'textarea', 'name' => 'content', 'label' => 'Content', 'default' => null))); }
public function content() { $current_layout = headway_post('layout'); $pages_to_clone_select_options = self::clone_pages_select_walker(HeadwayLayout::get_pages()); $templates_to_assign_select_options = self::templates_to_assign_select_options(); ?> <ul id="grid-wizard-tabs" class="tabs"> <?php if ($pages_to_clone_select_options !== '' || $templates_to_assign_select_options !== '') { echo '<li><a href="#grid-wizard-tab-clone-page">Clone Existing Layout</a></li>'; echo '<li><a href="#grid-wizard-tab-presets">Presets</a></li>'; } else { echo '<li><a href="#grid-wizard-tab-presets">Presets</a></li>'; } if ($templates_to_assign_select_options !== '' && strpos($current_layout, 'template-') === false) { echo '<li><a href="#grid-wizard-tab-assign-template">Assign Template</a></li>'; } echo '<li><a href="#grid-wizard-tab-import-export">Import/Export</a></li>'; ?> </ul> <div id="grid-wizard-tab-presets" class="tab-content"> <div id="grid-wizard-presets-step-1"> <div class="grid-wizard-presets-row"> <span class="layout-preset layout-preset-selected" id="layout-right-sidebar" title="Content | Sidebar"> <img src="<?php echo headway_url() . '/library/visual-editor/images/layouts/layout-right-sidebar.png'; ?> " alt="" /> </span> <span class="layout-preset" id="layout-left-sidebar" title="Sidebar | Content"> <img src="<?php echo headway_url() . '/library/visual-editor/images/layouts/layout-left-sidebar.png'; ?> " alt="" /> </span> <span class="layout-preset" id="layout-two-right" title="Content | Sidebar 1 | Sidebar 2"> <img src="<?php echo headway_url() . '/library/visual-editor/images/layouts/layout-two-right.png'; ?> " alt="" /> </span> </div> <div class="grid-wizard-presets-row"> <span class="layout-preset" id="layout-two-both" title="Sidebar 1 | Content | Sidebar 2"> <img src="<?php echo headway_url() . '/library/visual-editor/images/layouts/layout-two-both.png'; ?> " alt="" /> </span> <span class="layout-preset" id="layout-all-content" title="Content"> <img src="<?php echo headway_url() . '/library/visual-editor/images/layouts/layout-all-content.png'; ?> " alt="" /> </span> </div> </div><!-- #grid-wizard-presets-step-1 --> <div id="grid-wizard-presets-step-2"> <h4>Select Which Blocks to Mirror</h4> <p class="grid-wizard-info">To save time, Headway allows you to "mirror" your blocks. If you already have a widget area or sidebar that's configured, you may choose to use it by using the select boxes below.</p> <div id="grid-wizard-presets-mirroring-column-1" class="grid-wizard-presets-mirroring-column"> <div id="grid-wizard-presets-mirroring-select-header"> <h5>Header</h5> <div class="select-container"> <select> <option value="">— Do Not Mirror —</option> <?php echo self::get_blocks_select_options_for_mirroring('header'); ?> </select> </div><!-- .select-container --> </div> <div id="grid-wizard-presets-mirroring-select-navigation"> <h5>Navigation</h5> <div class="select-container"> <select> <option value="">— Do Not Mirror —</option> <?php echo self::get_blocks_select_options_for_mirroring('navigation'); ?> </select> </div><!-- .select-container --> </div> <div id="grid-wizard-presets-mirroring-select-content"> <h5>Content</h5> <div class="select-container"> <select> <option value="">— Do Not Mirror —</option> <?php echo self::get_blocks_select_options_for_mirroring('content'); ?> </select> </div><!-- .select-container --> </div> </div> <div id="grid-wizard-presets-mirroring-column-2" class="grid-wizard-presets-mirroring-column"> <div id="grid-wizard-presets-mirroring-select-sidebar-1"> <h5>Sidebar 1</h5> <div class="select-container"> <select> <option value="">— Do Not Mirror —</option> <?php echo self::get_blocks_select_options_for_mirroring('widget-area'); ?> </select> </div><!-- .select-container --> </div> <div id="grid-wizard-presets-mirroring-select-sidebar-2"> <h5>Sidebar 2</h5> <div class="select-container"> <select> <option value="">— Do Not Mirror —</option> <?php echo self::get_blocks_select_options_for_mirroring('widget-area'); ?> </select> </div><!-- .select-container --> </div> <div id="grid-wizard-presets-mirroring-select-footer"> <h5>Footer</h5> <div class="select-container"> <select> <option value="">— Do Not Mirror —</option> <?php echo self::get_blocks_select_options_for_mirroring('footer'); ?> </select> </div><!-- .select-container --> </div> </div> </div><!-- #grid-wizard-presets-step-2 --> <div class="grid-wizard-buttons"> <span class="grid-wizard-use-empty-grid">Use Empty Grid</span> <?php if ($pages_to_clone_select_options !== '') { $next_button_style = null; $use_button_style = ' style="display: none;"'; } else { $next_button_style = ' style="display: none;"'; $use_button_style = null; } echo '<span id="grid-wizard-button-preset-next" class="button grid-wizard-button-next"' . $next_button_style . '>Next →</span>'; echo '<span id="grid-wizard-button-preset-use-preset" class="button grid-wizard-button-next"' . $use_button_style . '>Finish →</span>'; echo '<span id="grid-wizard-button-preset-previous" class="button grid-wizard-button-previous" style="display: none;">← Previous</span>'; ?> </div> </div><!-- #grid-wizard-tab-presets --> <?php if ($pages_to_clone_select_options !== '' || $templates_to_assign_select_options !== '') { ?> <div id="grid-wizard-tab-clone-page" class="tab-content"> <h4>Choose a Layout to Clone</h4> <?php echo '<div class="select-container"><select id="grid-wizard-pages-to-clone">'; echo '<option value="" disabled="disabled">— Pages —</option>'; echo $pages_to_clone_select_options; echo '<option value="" disabled="disabled">— Templates —</option>'; echo $templates_to_assign_select_options; echo '</select></div><!-- .select-container -->'; ?> <div class="grid-wizard-buttons"> <span class="grid-wizard-use-empty-grid">Use Empty Grid</span> <span id="grid-wizard-button-clone-page" class="button grid-wizard-button-next">Clone Layout →</span> </div> </div><!-- #grid-wizard-tab-clone-page --> <?php } if ($templates_to_assign_select_options !== '' && strpos($current_layout, 'template-') === false) { ?> <div id="grid-wizard-tab-assign-template" class="tab-content"> <h4>Choose a Template</h4> <?php echo '<div class="select-container"><select id="grid-wizard-assign-template">'; echo '<option value="" disabled="disabled">— Select a Template —</option>'; echo $templates_to_assign_select_options; echo '</select></div><!-- .select-container -->'; ?> <div class="grid-wizard-buttons"> <span class="grid-wizard-use-empty-grid">Use Empty Grid</span> <span id="grid-wizard-button-assign-template" class="button grid-wizard-button-next">Assign Template →</span> </div> </div><!-- #grid-wizard-tab-assign-template --> <?php } ?> <div id="grid-wizard-tab-import-export" class="tab-content"> <div id="grid-wizard-import" class="grid-wizard-buttons grid-wizard-import-export-group"> <h4>Import Layout</h4> <p>Select the Headway Layout file you would like to import.<br /><br /><strong>Note:</strong> When you browse to and select a file below the imported layout's blocks will automatically be added to the current layout.</p> <input type="file" /> <span class="button" id="grid-wizard-import-select-file">Select File & Import</span> </div><!-- #grid-wizard-import --> <div id="grid-wizard-export" class="grid-wizard-buttons grid-wizard-import-export-group"> <h4>Export Current Layout</h4> <p>Clicking on the button below will package up the current layout and its blocks into a file to be saved and imported later.</p> <span class="button" id="grid-wizard-export-download-file">Download Export File</span> </div><!-- #grid-wizard-export --> </div><!-- #grid-wizard-tab-import-export --> <?php }
<?php global $headway_default_element_data; $headway_default_element_data = array('default-text' => array('properties' => array('font-size' => '14', 'font-family' => 'palatino', 'line-height' => '100', 'color' => '555555')), 'default-hyperlink' => array('properties' => array('color' => '555555')), 'default-block' => array('properties' => array('overflow' => 'hidden', 'margin-bottom' => '10')), 'block-title' => array('properties' => array('font-size' => '22', 'line-height' => '150')), 'block-subtitle' => array('properties' => array('font-size' => '14', 'font-styling' => 'italic', 'color' => '#999')), 'body' => array('properties' => array('background-color' => 'dddddd')), 'wrapper' => array('properties' => array('background-color' => 'ffffff', 'padding-top' => '15', 'padding-right' => '15', 'padding-bottom' => '15', 'padding-left' => '15', 'box-shadow-color' => 'c7c7c7', 'box-shadow-blur' => '8', 'box-shadow-horizontal-offset' => '1', 'box-shadow-vertical-offset' => '1', 'margin-top' => '30', 'margin-bottom' => '30')), 'block-header-site-title' => array('properties' => array('color' => '222222', 'font-size' => '34', 'line-height' => '100', 'text-decoration' => 'none', 'margin-top' => '20', 'margin-right' => '10', 'margin-bottom' => '0', 'margin-left' => '10')), 'block-header-site-tagline' => array('properties' => array('color' => '999999', 'font-size' => '15', 'line-height' => '120', 'font-styling' => 'italic', 'margin-top' => '10', 'margin-right' => '10', 'margin-bottom' => '20', 'margin-left' => '10')), 'block-navigation' => array('properties' => array('border-top-width' => '1', 'border-bottom-width' => '1', 'border-left-width' => '0', 'border-right-width' => '0', 'border-color' => 'eeeeee', 'border-style' => 'solid', 'overflow' => 'visible')), 'block-navigation-menu-item' => array('properties' => array('text-decoration' => 'none', 'color' => '888888', 'capitalization' => 'uppercase', 'padding-right' => '15', 'padding-left' => '15'), 'special-element-state' => array('selected' => array('color' => '222222'), 'hover' => array('color' => '555555'))), 'block-navigation-sub-nav-menu' => array('properties' => array('background-color' => 'eeeeee')), 'block-widget-area-widget' => array('properties' => array('line-height' => '150', 'padding-top' => '5', 'padding-right' => '10', 'padding-bottom' => '5', 'padding-left' => '10', 'margin-top' => '15')), 'block-widget-area-widget-title' => array('properties' => array('font-size' => '13', 'border-style' => 'solid', 'border-top-width' => '1', 'border-bottom-width' => '1', 'border-left-width' => '0', 'border-right-width' => '0', 'border-color' => 'eeeeee', 'letter-spacing' => '1', 'capitalization' => 'uppercase', 'line-height' => '250', 'color' => '111111', 'margin-bottom' => '10')), 'block-widget-area-widget-links' => array('properties' => array('color' => '333333')), 'block-content-entry-container' => array('properties' => array('border-style' => 'solid', 'border-top-width' => '0', 'border-bottom-width' => '1', 'border-left-width' => '0', 'border-right-width' => '0', 'border-color' => 'efefef', 'padding-bottom' => '30')), 'block-content-title' => array('properties' => array('font-size' => '24', 'color' => '333333', 'line-height' => '130')), 'block-content-archive-title' => array('properties' => array('font-size' => '24', 'color' => '555555', 'line-height' => '110', 'border-bottom-width' => '1', 'border-color' => 'eeeeee', 'border-style' => 'solid', 'padding-bottom' => '15')), 'block-content-entry-meta' => array('properties' => array('line-height' => '120', 'color' => '818181')), 'block-content-entry-content' => array('properties' => array('color' => '555555', 'font-size' => '14', 'line-height' => '180')), 'block-content-heading' => array('properties' => array('font-size' => '20', 'line-height' => '180')), 'block-content-sub-heading' => array('properties' => array('font-size' => '16', 'line-height' => '180')), 'block-content-more-link' => array('properties' => array('background-color' => 'eeeeee', 'text-decoration' => 'none', 'border-top-left-radius' => '4', 'border-top-right-radius' => '4', 'border-bottom-right-radius' => '4', 'border-bottom-left-radius' => '4', 'padding-top' => '2', 'padding-right' => '6', 'padding-bottom' => '2', 'padding-left' => '6'), 'special-element-state' => array('hover' => array('background-color' => 'e7e7e7'))), 'block-content-loop-navigation-link' => array('properties' => array('background-color' => 'e1e1e1', 'text-decoration' => 'none', 'border-top-left-radius' => '4', 'border-top-right-radius' => '4', 'border-bottom-right-radius' => '4', 'border-bottom-left-radius' => '4', 'padding-top' => '4', 'padding-right' => '8', 'padding-bottom' => '4', 'padding-left' => '8', 'line-height' => '130'), 'special-element-state' => array('hover' => array('background-color' => 'd5d5d5'))), 'block-content-post-thumbnail' => array('properties' => array('border-top-width' => '1', 'border-right-width' => '1', 'border-bottom-width' => '1', 'border-left-width' => '1', 'border-color' => 'eeeeee', 'border-style' => 'solid', 'padding-top' => '3', 'padding-right' => '3', 'padding-bottom' => '3', 'padding-left' => '3')), 'block-content-comments-area-headings' => array('properties' => array('color' => '333333', 'font-size' => '18', 'line-height' => '130')), 'block-content-comment-container' => array('properties' => array('padding-left' => '64')), 'block-content-comment-author' => array('properties' => array('font-size' => '18', 'line-height' => '120')), 'block-content-comment-meta' => array('properties' => array('color' => '888888', 'font-size' => '14')), 'block-content-comment-body' => array('properties' => array('font-size' => '14', 'line-height' => '170')), 'block-content-comment-reply-link' => array('properties' => array('font-size' => '12', 'background-color' => 'eeeeee', 'text-decoration' => 'none', 'border-top-left-radius' => '4', 'border-top-right-radius' => '4', 'border-bottom-right-radius' => '4', 'border-bottom-left-radius' => '4', 'padding-top' => '3', 'padding-right' => '6', 'padding-bottom' => '3', 'padding-left' => '6'), 'special-element-state' => array('hover' => array('background-color' => 'e7e7e7'))), 'block-content-comment-form-input-label' => array('properties' => array('font-size' => '14', 'line-height' => '220', 'color' => '888888')), 'block-slider-slider-container' => array('properties' => array('overflow' => 'visible', 'margin-bottom' => '30')), 'block-slider-slider-viewport' => array('properties' => array('overflow' => 'hidden')), 'block-slider-slider-caption' => array('properties' => array('background-color' => 'rgba(0, 0, 0, 0.6)', 'color' => 'ffffff', 'font-size' => '14', 'line-height' => '150', 'padding-top' => '20', 'padding-right' => '20', 'padding-bottom' => '20', 'padding-left' => '20', 'position' => 'absolute', 'text-align' => 'center')), 'block-slider-slider-paging' => array('properties' => array('position' => 'absolute', 'text-align' => 'center')), 'block-slider-slider-direction-nav-link' => array('properties' => array('margin-top' => '-20', 'position' => 'absolute', 'background-image' => headway_url() . '/library/blocks/slider/assets/bg_direction_nav.png', 'background-repeat' => 'no-repeat', 'background-position' => 'left top')), 'block-slider-slider-direction-nav-next' => array('properties' => array('background-position' => 'right top')), 'block-slider-slider-paging-link' => array('properties' => array('background-color' => 'rgba(0,0,0,0.5)', 'border-top-left-radius' => '20', 'border-top-right-radius' => '20', 'border-bottom-right-radius' => '20', 'border-bottom-left-radius' => '20', 'margin-left' => '2', 'margin-right' => '2'), 'special-element-state' => array('hover' => array('background-color' => 'rgba(0,0,0,0.7);'), 'active' => array('background-color' => 'rgba(0,0,0,0.9);'))), 'block-footer' => array('properties' => array('border-top-width' => '1', 'border-right-width' => '0', 'border-bottom-width' => '0', 'border-left-width' => '0', 'border-color' => 'eeeeee', 'border-style' => 'solid')), 'block-footer-copyright' => array('properties' => array('color' => '666666')), 'block-footer-headway-attribution' => array('properties' => array('color' => '666666')), 'block-footer-administration-panel' => array('properties' => array('color' => '666666')), 'block-footer-go-to-top' => array('properties' => array('color' => '666666')), 'block-footer-responsive-grid-link' => array('properties' => array('color' => '666666')));
public static function add_standards_compliance_js() { $standards_compliance_js = apply_filters('headway_standards_compliance_js', ' <!--[if lt IE 9]> <script src="' . headway_url() . '/library/media/js/html5shiv.js"></script> <![endif]--> <!--[if lt IE 8]> <script src="' . headway_url() . '/library/media/js/ie8.js"></script> <![endif]--> '); echo $standards_compliance_js; }
<?php headway_register_block('HeadwayWidgetAreaBlock', headway_url() . '/library/blocks/widget-area'); class HeadwayWidgetAreaBlock extends HeadwayBlockAPI { public $id = 'widget-area'; public $name = 'Widget Area'; public $options_class = 'HeadwayWidgetAreaBlockOptions'; public $html_tag = 'aside'; public $description = 'Used typically as a sidebar or to aid the footer. The widget area will display WordPress widgets which are managed in the WordPress Appearance » Widgets panel.'; protected $show_content_in_grid = true; public static function init_action($block_id, $block) { $widget_area_name = HeadwayBlocksData::get_block_name($block) . ' — ' . 'Layout: ' . HeadwayLayout::get_name($block['layout']); $widget_area = array('name' => $widget_area_name, 'id' => 'widget-area-' . $block['id'], 'before_widget' => '<li id="%1$s" class="widget %2$s">' . "\n", 'after_widget' => '</li><!-- .widget -->' . "\n", 'before_title' => '<span class="widget-title">', 'after_title' => '</span>' . "\n"); register_sidebar($widget_area); } function setup_elements() { $this->register_block_element(array('id' => 'widget', 'name' => 'Widget', 'selector' => 'li.widget')); $this->register_block_element(array('id' => 'widget-title', 'name' => 'Widget Title', 'selector' => 'li.widget span.widget-title', 'inherit-location' => 'default-heading')); $this->register_block_element(array('id' => 'widget-links', 'name' => 'Widget Links', 'selector' => 'li.widget a', 'states' => array('Selected' => 'ul li.current_page_item a', 'Hover' => 'ul li a:hover', 'Clicked' => 'ul li a:active'), 'inherit-location' => 'default-hyperlink')); $this->register_block_element(array('id' => 'widget-lists', 'name' => 'Widget Lists <small><UL></small>', 'selector' => 'li.widget ul', 'properties' => array('fonts', 'lists', 'background', 'borders', 'padding', 'rounded-corners', 'box-shadow', 'text-shadow'))); $this->register_block_element(array('id' => 'widget-list-items', 'name' => 'Widget List Items <small><LI></small>', 'selector' => 'li.widget ul li')); } function content($block) { echo parent::get_setting($block, 'horizontal-widgets') == true ? '<ul class="widget-area horizontal-sidebar">' : '<ul class="widget-area">'; if (!function_exists('dynamic_sidebar') || !dynamic_sidebar('widget-area-' . $block['id'])) { echo '<li class="widget widget-no-widgets">'; echo '<span class="widget-title">No widgets!</span>';
<?php headway_register_block('HeadwayFooterBlock', headway_url() . '/library/blocks/footer'); class HeadwayFooterBlock extends HeadwayBlockAPI { public $id = 'footer'; public $name = 'Footer'; public $options_class = 'HeadwayFooterBlockOptions'; public $html_tag = 'footer'; public $description = 'This typically goes at the bottom of your site and will display the copyright, and miscellaneous links.'; public $allow_titles = false; protected $show_content_in_grid = true; function setup_elements() { $this->register_block_element(array('id' => 'copyright', 'name' => 'Copyright', 'selector' => 'p.copyright', 'properties' => array('fonts', 'text-shadow'), 'inherit-location' => 'default-text')); $this->register_block_element(array('id' => 'headway-attribution', 'name' => 'Headway Attribution', 'selector' => 'p.footer-headway-link', 'properties' => array('fonts', 'text-shadow'), 'inherit-location' => 'default-text')); $this->register_block_element(array('id' => 'administration-panel', 'name' => 'Administration Panel', 'selector' => 'a.footer-admin-link', 'properties' => array('fonts', 'text-shadow'), 'inherit-location' => 'default-text')); $this->register_block_element(array('id' => 'go-to-top', 'name' => 'Go To Top Link', 'selector' => 'a.footer-go-to-top-link', 'inherit-location' => 'default-text')); $this->register_block_element(array('id' => 'responsive-grid-link', 'name' => 'Responsive Grid Toggle Link', 'selector' => 'a.footer-responsive-grid-link', 'properties' => array('fonts', 'text-shadow'), 'inherit-location' => 'default-text')); } function content($block) { //Add action for footer do_action('headway_before_footer'); echo "\n" . '<div class="footer-container">' . "\n"; echo "\n" . '<div class="footer">' . "\n"; do_action('headway_footer_open'); //Headway Attribution if (parent::get_setting($block, 'hide-headway-attribution', false) == false) { self::show_headway_link(); }
public static function enqueue_styles() { HeadwayCompiler::register_file(array('name' => 've', 'format' => 'less', 'fragments' => apply_filters('headway_visual_editor_css', array(HEADWAY_LIBRARY_DIR . '/visual-editor/css/editor-mixins.less', HEADWAY_LIBRARY_DIR . '/visual-editor/css/editor-tooltips.less', HEADWAY_LIBRARY_DIR . '/visual-editor/css/editor.less', HEADWAY_LIBRARY_DIR . '/visual-editor/css/editor-inputs.less', HEADWAY_LIBRARY_DIR . '/visual-editor/css/editor-design.less', HEADWAY_LIBRARY_DIR . '/media/js/codemirror/codemirror.css', HEADWAY_LIBRARY_DIR . '/media/js/codemirror/theme-default.css')), 'require-hard-flush' => true, 'enqueue' => false)); $styles = array('reset' => headway_url() . '/library/media/css/reset.css', 'headway_visual_editor' => HeadwayCompiler::get_url('ve')); wp_enqueue_multiple_styles($styles); }
public static function enqueue() { global $pagenow; /* Global */ wp_enqueue_style('headway_admin_global', headway_url() . '/library/admin/css/admin-headway-global.css'); /* General Headway admin CSS/JS */ if (strpos(headway_get('page'), 'headway') !== false) { wp_enqueue_script('headway_jquery_scrollto', headway_url() . '/library/media/js/jquery.scrollto.js', array('jquery')); wp_enqueue_script('headway_jquery_tabby', headway_url() . '/library/media/js/jquery.tabby.js', array('jquery')); wp_enqueue_script('headway_jquery_qtip', headway_url() . '/library/media/js/jquery.qtip.js', array('jquery')); wp_enqueue_script('headway_admin_js', headway_url() . '/library/admin/js/admin-headway.js', array('jquery', 'headway_jquery_qtip')); wp_enqueue_style('headway_admin', headway_url() . '/library/admin/css/admin-headway.css'); wp_enqueue_style('headway_alerts', headway_url() . '/library/media/css/alerts.css'); } /* Extend */ if (headway_get('page') == 'headway-extend') { wp_enqueue_script('headway_jquery_masonry', headway_url() . '/library/media/js/jquery.masonry.js', array('jquery')); } /* Meta Boxes */ wp_enqueue_style('headway_admin_write', headway_url() . '/library/admin/css/admin-write.css'); wp_enqueue_style('headway_alerts', headway_url() . '/library/media/css/alerts.css'); wp_enqueue_script('headway_admin_write', headway_url() . '/library/admin/js/admin-write.js', array('jquery')); /* Auto Updater */ if ($pagenow === 'update-core.php') { wp_enqueue_script('headway_admin', headway_url() . '/library/admin/js/admin-headway.js', array('jquery')); wp_enqueue_style('headway_admin', headway_url() . '/library/admin/css/admin-headway.css'); wp_enqueue_style('headway_alerts', headway_url() . '/library/media/css/alerts.css'); wp_localize_script('headway_admin', 'HeadwayUpdateInfo', array('backupReminder' => sprintf(__('<div class="headway-update-backup-reminder alert-red alert"><h3>Remember!</h3><p>Please backup before updating. Headway Themes recommends <a href="%s" target="_blank"><strong>BackupBuddy</strong></a> for all backup and migration needs.</div>', 'headway'), 'http://bit.ly/do5AVC'))); } }
<?php headway_register_block('HeadwayHeaderBlock', headway_url() . '/library/blocks/header'); class HeadwayHeaderBlock extends HeadwayBlockAPI { public $id = 'header'; public $name = 'Header'; public $options_class = 'HeadwayHeaderBlockOptions'; public $fixed_height = true; public $html_tag = 'header'; public $description = 'Display your banner, logo, or site title and tagline. This typically goes at the top of your website.'; public $allow_titles = false; protected $show_content_in_grid = true; function setup_elements() { $this->register_block_element(array('id' => 'site-title', 'name' => 'Site Title', 'selector' => 'span.banner a', 'inherit-location' => 'default-heading', 'states' => array('Hover' => 'span.banner a:hover', 'Clicked' => 'span.banner a:active'))); $this->register_block_element(array('id' => 'site-tagline', 'name' => 'Site Tagline', 'selector' => '.tagline', 'inherit-location' => 'default-sub-heading')); } function content($block) { //Use header image if there is one if ($header_image_src = parent::get_setting($block, 'header-image')) { do_action('headway_before_header_link'); if (parent::get_setting($block, 'resize-header-image', true)) { $block_width = HeadwayBlocksData::get_block_width($block); $block_height = HeadwayBlocksData::get_block_height($block); $header_image_url = headway_resize_image($header_image_src, $block_width, $block_height); } else { $header_image_url = $header_image_src; } echo '<a href="' . home_url() . '" class="banner-image"><img src="' . $header_image_url . '" alt="' . get_bloginfo('name') . '" /></a>';
<?php headway_register_block('HeadwayEmbedBlock', headway_url() . '/library/blocks/embed'); class HeadwayEmbedBlock extends HeadwayBlockAPI { public $id = 'embed'; public $name = 'Embed'; public $options_class = 'HeadwayEmbedBlockOptions'; public $fixed_height = true; public $description = 'The Embed block allows you to embed YouTube, Vimeo, or any other popular oEmbed supported service.'; function init() { add_filter('oembed_result', array(__CLASS__, 'add_embed_wmode_transparent')); add_filter('oembed_result', array(__CLASS__, 'add_iframe_wmode_transparent')); } function content($block) { if ($embed_url = parent::get_setting($block, 'embed-url', false)) { $block_width = HeadwayBlocksData::get_block_width($block); $block_height = HeadwayBlocksData::get_block_height($block); $embed_code = wp_oembed_get($embed_url, array('width' => $block_width, 'height' => $block_height)); //Make the width and height exactly what the block's dimensions are. $embed_code = preg_replace(array('/width="\\d+"/i', '/height="\\d+"/i'), array('width="' . $block_width . '"', 'height="' . $block_height . '"'), $embed_code); echo $embed_code; } else { echo '<div class="alert alert-yellow"><p>There is no content to display. Please enter a valid embed URL in the visual editor.</p></div>'; } } /** * Added to fix the issue of Flash appearing over drop down menus. **/
<?php //Check that Gravity Forms is even enabled if (class_exists('RGForms')) { headway_register_block('HeadwayGravityFormsBlock', headway_url() . '/library/blocks/gravity-forms'); } class HeadwayGravityFormsBlock extends HeadwayBlockAPI { public $id = 'gravity-forms'; public $name = 'Gravity Forms'; public $options_class = 'HeadwayGravityFormsBlockOptions'; public static function enqueue_action($block_id) { $block = HeadwayBlocksData::get_block($block_id); return gravity_form_enqueue_scripts(parent::get_setting($block, 'form-id', null), parent::get_setting($block, 'use-ajax', false)); } function content($block) { $form_id = parent::get_setting($block, 'form-id', null); //If no form ID is present, display the message and stop this function. if (!$form_id) { echo '<p>There is no form to display.</p>'; return; } $display_title = parent::get_setting($block, 'display-title', true); $display_description = parent::get_setting($block, 'display-description', true); $force_display = true; $field_values = null; $use_ajax = parent::get_setting($block, 'use-ajax', false); echo RGForms::get_form($form_id, $display_title, $display_description, $force_display, null, $use_ajax); }
<?php headway_register_block('HeadwayContentBlock', headway_url() . '/library/blocks/content'); class HeadwayContentBlock extends HeadwayBlockAPI { public $id = 'content'; public $name = 'Content'; public $options_class = 'HeadwayContentBlockOptions'; public $description = 'Main content area to show the current page\'s content or the latest posts. This is considered the "Loop" in other themes.'; protected $show_content_in_grid = true; function init() { /* Load dependencies */ require_once HEADWAY_LIBRARY_DIR . '/blocks/content/content-display.php'; /* Set up the comments template */ add_filter('comments_template', array(__CLASS__, 'add_blank_comments_template')); /* Set up editor style */ add_filter('mce_css', array(__CLASS__, 'add_editor_style')); /* Add .comment class to all pingbacks */ add_filter('comment_class', array(__CLASS__, 'add_comment_class_to_all_types')); } public static function add_blank_comments_template() { return HEADWAY_LIBRARY_DIR . '/blocks/content/comments-template.php'; } public static function add_comment_class_to_all_types($classes) { if (!is_array($classes)) { $classes = implode(' ', trim($classes)); } $classes[] = 'comment';
<?php if (isset($GLOBALS['SlideDeckPlugin']) && is_object($GLOBALS['SlideDeckPlugin'])) { headway_register_block('HeadwaySlideDeckBlock', headway_url() . '/library/blocks/slidedeck'); } class HeadwaySlideDeckBlock extends HeadwayBlockAPI { public $id = 'slidedeck'; public $name = 'SlideDeck 2'; public $options_class = 'HeadwaySlideDeckBlockOptions'; public $description = 'Conveniently add SlideDecks anywhere on any layout.'; /* This will be shown in the block type selector */ /** * Anything in here will be displayed when the block is being displayed. **/ function content($block) { global $SlideDeckPlugin; /* Make sure SlideDeck is activated and working */ if (!is_object($SlideDeckPlugin)) { echo '<div class="alert alert-red"><p>SlideDeck must be installed and activated in order for the SlideDeck block to work properly.</p></div>'; return; } /* Get the chosen SlideDeck ID */ $slidedeck_id = parent::get_setting($block, 'slidedeck-id', null); /* Make sure that there's a selected SlideDeck */ if (empty($slidedeck_id)) { echo '<div class="alert alert-red"><p>Please choose a SlideDeck to display.</p></div>'; return; } $slidedeck_query = $SlideDeckPlugin->SlideDeck->get($slidedeck_id);
/** * @param string * @param string **/ public static function format_content($content, $file) { extract($file); //Remove whitespace if CSS if ($format == 'css' || $format == 'less') { //Do LESS if ($format == 'less') { require_once HEADWAY_LIBRARY_DIR . '/resources/lessc.inc.php'; $less = new lessc(); // a blank lessc try { $content = $less->compile($content); } catch (Exception $ex) { return new WP_Error('headway_less_error', __('There was an error while Headway tried to compile the LESS CSS. Full Error: ', 'headway') . $ex->getMessage()); } } //Strip whitespace if set to do so $content = self::strip_whitespace($content); } //Time to replace variables $search = array('%HEADWAY_URL%', '%HEADWAY_LIBRARY_URL%', '%VISUALEDITOR%', '%SITE_URL%', '%HOME_URL%'); $replace = array(headway_url(), headway_url() . '/library', headway_url() . '/library/visual-editor', site_url(), home_url()); $content = str_replace($search, $replace, $content); //SSL URL fixing if (is_ssl()) { $content = str_replace('http://', 'https://', $content); } return $content; }
<?php headway_register_block('HeadwayTextBlock', headway_url() . '/library/blocks/text'); class HeadwayTextBlock extends HeadwayBlockAPI { public $id = 'text'; public $name = 'Text'; public $options_class = 'HeadwayTextBlockOptions'; public $description = 'Use the built-in rich text editor to insert titles, text, and more!'; function content($block) { $content = parent::get_setting($block, 'content'); echo '<div class="entry-content">'; if ($content != null) { echo do_shortcode(stripslashes($content)); } else { echo '<p>There is no content to display.</p>'; } echo '</div><!-- .entry-content -->'; } function setup_elements() { $this->register_block_element(array('id' => 'text', 'name' => 'Text', 'selector' => '.entry-content', 'properties' => array('fonts', 'padding', 'text-shadow'), 'inherit-location' => 'default-text')); $this->register_block_element(array('id' => 'hyperlinks', 'name' => 'Hyperlinks', 'selector' => '.entry-content a', 'properties' => array('fonts', 'text-shadow'), 'inherit-location' => 'default-text', 'states' => array('Hover' => '.entry-content a:hover', 'Clicked' => '.entry-content a:active'))); $this->register_block_element(array('id' => 'heading', 'name' => 'Heading <small><H3>, <H2>, <H1></small>', 'selector' => '.entry-content h3, div.entry-content h2, div.entry-content h1', 'inherit-location' => 'default-heading')); $this->register_block_element(array('id' => 'sub-heading', 'name' => 'Sub Heading <small><H4></small>', 'selector' => '.entry-content h4', 'inherit-location' => 'default-sub-heading')); } } class HeadwayTextBlockOptions extends HeadwayBlockOptionsAPI { public $tabs = array('content' => 'Content');
<?php headway_register_block('HeadwayBreadcrumbsBlock', headway_url() . '/library/blocks/breadcrumbs'); class HeadwayBreadcrumbsBlock extends HeadwayBlockAPI { public $id = 'breadcrumbs'; public $name = 'Breadcrumbs'; public $fixed_height = true; public $description = 'Breadcrumbs aid in the navigation of your site by showing a visual hierarchy of where your visitor is.<br /><strong>Example:</strong> Home » Blog » Sample Blog Post'; public $options_class = 'HeadwayBreadcrumbsBlockOptions'; protected $show_content_in_grid = true; function setup_elements() { $this->register_block_element(array('id' => 'text', 'name' => 'Text', 'selector' => 'p', 'inherit-location' => 'default-text')); $this->register_block_element(array('id' => 'hyperlinks', 'name' => 'Hyperlinks', 'selector' => 'p a', 'inherit-location' => 'default-hyperlink')); $this->register_block_element(array('id' => 'separators', 'name' => 'Separators', 'selector' => 'span.sep')); } function content($block) { /* If Yoast's breadcrumbs are activated then use them instead */ if (function_exists('yoast_breadcrumb')) { return yoast_breadcrumb('<p class="breadcrumbs yoastbreadcrumb">', '</p>'); } wp_reset_query(); /* Set up variables */ global $post; $breadcrumbs = array(); $breadcrumbs[home_url()] = __('Home', 'headway'); /* Handle blogs that aren't set to the homepage */ if (get_option('show_on_front') == 'page' && get_option('page_for_posts') !== get_option('page_on_front')) { /* If the blog is set to a page rather than homepage, then don't show that fragment if it's a 404, search, or non-post singular */