Пример #1
0
 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'));
 }
Пример #2
0
 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'));
     }
 }
Пример #3
0
<?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)));
}
Пример #4
0
    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="">&mdash; Do Not Mirror &mdash;</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="">&mdash; Do Not Mirror &mdash;</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="">&mdash; Do Not Mirror &mdash;</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="">&mdash; Do Not Mirror &mdash;</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="">&mdash; Do Not Mirror &mdash;</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="">&mdash; Do Not Mirror &mdash;</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 &rarr;</span>';
        echo '<span id="grid-wizard-button-preset-use-preset" class="button grid-wizard-button-next"' . $use_button_style . '>Finish &rarr;</span>';
        echo '<span id="grid-wizard-button-preset-previous" class="button grid-wizard-button-previous" style="display: none;">&larr; 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">&mdash; Pages &mdash;</option>';
            echo $pages_to_clone_select_options;
            echo '<option value="" disabled="disabled">&mdash; Templates &mdash;</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 &rarr;</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">&mdash; Select a Template &mdash;</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 &rarr;</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 &amp; 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')));
Пример #6
0
    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;
    }
Пример #7
0
<?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 &raquo; Widgets panel.';
    protected $show_content_in_grid = true;
    public static function init_action($block_id, $block)
    {
        $widget_area_name = HeadwayBlocksData::get_block_name($block) . ' &mdash; ' . '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>&lt;UL&gt;</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>&lt;LI&gt;</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>';
Пример #8
0
<?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();
        }
Пример #9
0
 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);
 }
Пример #10
0
 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')));
     }
 }
Пример #11
0
<?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>';
Пример #12
0
<?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.
     **/
Пример #13
0
<?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);
    }
Пример #14
0
<?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';
Пример #15
0
<?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);
Пример #16
0
 /**
  * @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;
 }
Пример #17
0
<?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>&lt;H3&gt;, &lt;H2&gt;, &lt;H1&gt;</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>&lt;H4&gt;</small>', 'selector' => '.entry-content h4', 'inherit-location' => 'default-sub-heading'));
    }
}
class HeadwayTextBlockOptions extends HeadwayBlockOptionsAPI
{
    public $tabs = array('content' => 'Content');
Пример #18
0
<?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 &raquo; Blog &raquo; 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 */