Example #1
0
function ultimatum_layout_generator() {
	require_once('ultimatum-widgets.php');
	global $wpdb;
	$table = $wpdb->prefix.ULTIMATUM_PREFIX.'_layout';
	$tablerows = $wpdb->prefix.ULTIMATUM_PREFIX.'_rows';
	$layoutid=$_GET["layoutid"];
	$query = "SELECT * FROM $table WHERE `id`='$layoutid'";
	$layout = $wpdb->get_row($query,ARRAY_A);

?>
<style>td{vertical-align: top;}</style>
<div id="blocker">
<div><h1><i class="fa fa-save"></i> Saving..</h1></div>
</div>
	<div class="ultadmnavi" style="position:absolute;top:0;width:100%;margin-right:25px;">
 		<div class="navbar">
 			<div class="navbar-inner">
 				<a class="brand" href="">EDIT LAYOUT</a>
 				<ul class="nav">
 					<li>
 						<a class="thickbox"  href="<?php echo admin_url(); ?>?page=ultimatum-row-layouts&layout_id=<?php echo $_GET["layoutid"];?>&template_id=<?php echo $_GET['theme'];?>&TB_iframe=1&width=770&height=480" title="<?php _e('Click on row style you want to insert and then click insert button','ultimatum');?>"><?php _e('Insert Row','ultimatum');?></a>
 					</li>
 					<?php if($layout['type']=='full'){ ?>
 					<li class="dropdown" >
 						<a href="#" class="dropdown-toggle" data-toggle="dropdown"><?php _e('EDIT CSS','ultimatum');?><b class="caret"></b></a>
 						<ul class="dropdown-menu" role="menu" >
 							<li><a tabindex="-1" href="./admin.php?page=wonder-css&template_id=<?php echo $layout['theme'];?>"><?php _e('Template CSS','ultimatum');?></a></li>
 							<li><a tabindex="-1" href="./admin.php?page=wonder-css&layout_id=<?php echo $layout['id'];?>"><?php _e('Layout Specific CSS','ultimatum');?></a></li>
 						</ul>
 					</li>
 					<li class="dropdown">
 						<a href="#" class="dropdown-toggle" data-toggle="dropdown"><?php _e('Custom CSS','ultimatum');?><b class="caret"></b></a>
 						<ul class="dropdown-menu" role="menu" >
 						<li><a href="./index.php?page=ultimatum-custom-css&template_id=<?php echo $layout['theme'];?>&modal=true&TB_iframe=1&width=640&height=380" class="thickbox" title="<?php _e('Type your Custom CSS','ultimatum');?>"><?php _e('Template wide Custom CSS','ultimatum');?></a></li>
 						<li><a class="thickbox"  href="./index.php?page=ultimatum-custom-css&layout_id=<?php echo $layout["id"];?>&modal=true&TB_iframe=1&width=640&height=380" title="<?php _e('Type your Custom CSS','ultimatum');?>">
 						<?php _e('Layout Specific Custom CSS','ultimatum');?></a></li>
 						</ul>
 					</li>
 					<?php } ?>
                    <?php if($layout['type']!='part'){ ?>
                    <li>
                        <a class="thickbox" id="layout-opts-link" href="<?php echo admin_url(); ?>?page=ultimatum-layout-options&layout_id=<?php echo $_GET["layoutid"];?>&template_id=<?php echo $_GET['theme'];?>&TB_iframe=1&width=770&height=480" title="<?php _e('Layout Options and extra classes','ultimatum');?>"><?php _e('Layout Options','ultimatum');?></a>
                    </li>
                    <?php } ?>
 					<li>
 						<a href="admin.php?page=wonder-layout&theme=<?php echo $layout["theme"];?>"><?php _e('Back to Layouts Screen','ultimatum');?></a>
 					</li>
 				</ul>
 			</div>
 		</div>
 	</div>

			<form action="" method="post" id="layout-form">
				<label for="layout-name"><?php _e('Layout Name','ultimatum');?>: </label>
				<input type="hidden" name="id" id="layoutid" value="<?php echo $layout["id"];?>"/>
				<input type="text" name="layoutname" id="layoutname" value="<?php echo $layout["title"];?>" size="50" />
				<input type="hidden" name="rows" id="layout_row_ids" value="<?php echo $layout["rows"];?>"/>
				<input type="hidden" name="before" id="before_main" value="<?php echo $layout["before"];?>"/>
				<input type="hidden" name="after" id="after_main" value="<?php echo $layout["after"];?>"/>
				<input type="hidden" name="type" id="layout_type" value="<?php echo $layout['type'];?>" />
				<input type="hidden" name="default" id="isdefault" value="<?php echo $layout['default'];?>" />
				<input type="hidden" name="theme" id="theme" value="<?php echo $layout['theme'];?>" />
				<input type="hidden" name="saveandcontinue" value="no" />
				<input class="button-primary autowidth" type="submit" id="layosavebutton" value="<?php _e('Save Layout','ultimatum');?>"/>
			</form>
	<h2><?php _e('The Layout Body','ultimatum');?></h2>
	<div class="lay-gen-container <?php if(get_ultimatum_option('extras', 'element_position')){ echo 'bottom-elements'; }?>">
			<?php if($layoutid){?>
				<div class="widget-liquid-left">
					<div id="widgets-right" >
					<?php if($layout['type']=='part'){ ?>
					<div id="body_cont" class="connectedSortable"  >  
					<?php
					if(strlen($layout['rows'])>>1):
					$rows = explode(',',$layout["rows"]);
					if(count($rows)!=0):
					foreach ($rows as $row){
					$rowito= explode('-',$row);
					
					$row_id = $rowito[1];				
					$query = "SELECT * FROM $tablerows WHERE id='$row_id'";
					$row = $wpdb->get_row($query,ARRAY_A);
					include (ULTIMATUM_ADMIN.DS.'ajax'.DS.'row-generator.php');
					
					}
					endif;
					endif;
					?>
					</div>
					<?php  } else { ?>
					<div style="width:100%;float:left;background-color:#FCF8E3;">
					<div style="padding:0 10px 10px 10px;">
					<small>Header</small>
					<div id="header_cont" class="connectedSortable" style="min-height: 10px;"> 
					<?php
					if(strlen($layout['before'])>>1):
					$rows = explode(',',$layout["before"]);
					
					foreach ($rows as $row){
					$rowito= explode('-',$row);
					if($rowito[0]=='row'){	
					$row_id = $rowito[1];				
					$query = "SELECT * FROM $tablerows WHERE id='$row_id'";
					$row = $wpdb->get_row($query,ARRAY_A);
					include (ULTIMATUM_ADMIN.DS.'ajax'.DS.'row-generator.php');
					} else {
					printLayoutasRow($rowito[1]);
					}
					}
					endif;
					?>
					</div>
					</div>
					</div>
					<div style="width:100%;float:left;background-color:#D9EDF7;">
					<div style="padding:0 10px 10px 10px;">
					<small>Body</small>
					<div id="body_cont" class="connectedSortable"  style="min-height: 10px;">  
					<?php
					if(strlen($layout['rows'])>>1):
					$rows = explode(',',$layout["rows"]);
					foreach ($rows as $row){
					$rowito= explode('-',$row);
					if($rowito[0]=='row'){	
					$row_id = $rowito[1];				
					$query = "SELECT * FROM $tablerows WHERE id='$row_id'";
					$row = $wpdb->get_row($query,ARRAY_A);
					include (ULTIMATUM_ADMIN.DS.'ajax'.DS.'row-generator.php');
					} else {
					printLayoutasRow($rowito[1]);
					}
					}
					endif;
					?>
					</div>
					</div>
					</div>
					<div style="width:100%;float:left;background-color:#DFF0D8;">
					<div  style="padding:0 10px 10px 10px;">
					<small>Footer</small>
					<div id="footer_cont" class="connectedSortable"  style="min-height: 10px;">  
					<?php
					if(strlen($layout['after'])>>1):
					$rows = explode(',',$layout["after"]);
					foreach ($rows as $row){
					$rowito= explode('-',$row);
					if($rowito[0]=='row'){	
					$row_id = $rowito[1];				
					$query = "SELECT * FROM $tablerows WHERE id='$row_id'";
					$row = $wpdb->get_row($query,ARRAY_A);
					include (ULTIMATUM_ADMIN.DS.'ajax'.DS.'row-generator.php');
					} else {
					printLayoutasRow($rowito[1]);
					}
					}
					endif;
					?>
					</div>
					
					</div>
					</div>	
					<?php } ?>
					</div>
				</div>
				<div class="widget-liquid-right">
				<div id="widgets-left">
					<?php if($layout["type"]=='full'){?>
					<div id="partial-layos" class="widgets-holder-wrap">
						<div class="sidebar-name">
						<div class="sidebar-name-arrow"><br /></div>
						<h3><?php _e('Available Parts','ultimatum');?></h3></div>
						<div class="layout-holder">
						<div id="parts">
						<?php printPartial($layout);?>	
						</div>
						<br class='clear' />
						</div>
						<br class="clear" />
					</div>
					<?php } ?>
					<div id="available-widgets" class="widgets-holder-wrap">
						<div class="sidebar-name">
						<div class="sidebar-name-arrow"><br /></div>
						<h3><?php _e('Widgets','ultimatum');?> <span id="removing-widget"><?php _ex('Deactivate', 'removing-widget', 'ultimatum'); ?> <span></span></span></h3></div>
						<div class="widget-holder">
						<div id="widget-list">
						<?php ultimatum_list_widgets(); ?>
						</div>
						<br class='clear' />
						</div>
						<br class="clear" />
					</div>
				</div>
				</div>
				
				
				<br class="clear" />
				<form action="" method="post">
				<?php wp_nonce_field( 'save-sidebar-widgets', '_wpnonce_widgets', false ); ?>
				</form>
				<?php } ?>
				</div>

<?php
do_action('ult_layout_builder_after');
}
Example #2
0
function ultimatum_layout_generator()
{
    global $wpdb;
    $table = $wpdb->prefix . 'ultimatum_layout';
    $tablerows = $wpdb->prefix . 'ultimatum_rows';
    require_once 'ultimatum-widgets.php';
    $layoutid = $_GET["layoutid"];
    if (isset($_POST["saveandcontinue"]) && ($_POST["saveandcontinue"] = 'no')) {
        $before = str_replace('layout-', '', $_POST["before"]);
        $after = str_replace('layout-', '', $_POST["after"]);
        $rows = str_replace('row-', '', $_POST["rows"]);
        $tr = explode(',', $rows);
        foreach ($tr as $t) {
            if (strlen($t) >= 1) {
                $r[] = $t;
            }
        }
        $rows = @implode(',', $r);
        $query = "REPLACE INTO {$table} (`id`,`title`,`rows`,`before`,`after`,`type`,`default`,`theme`) VALUES ({$layoutid},'{$_POST['layoutname']}','{$rows}','{$before}','{$after}','{$_POST['type']}','{$_POST['default']}','{$_REQUEST['theme']}')";
        $wpdb->query($query);
        // Save the CSS
        if (is_multisite()) {
            global $blog_id;
            $file = THEME_CACHE_DIR . '/layout_' . $blog_id . '_' . $layoutid . '.css';
        } else {
            $file = THEME_CACHE_DIR . '/layout_' . $layoutid . '.css';
        }
        $csstable = $wpdb->prefix . 'ultimatum_css';
        $query = "SELECT * FROM {$csstable} WHERE layout_id='{$layoutid}'";
        $res = $wpdb->get_results($query, ARRAY_A);
        $css = '';
        foreach ($res as $fetch) {
            if ($fetch["element"] == 'general') {
                if ($fetch["container"] != 'body') {
                    if (eregi('col-', $fetch["container"])) {
                        $el = '#' . $fetch["container"] . ' .colwrapper';
                    } else {
                        $el = '#' . $fetch["container"];
                    }
                } else {
                    $el = $fetch["container"];
                }
            } elseif ($fetch["container"] == 'body') {
                if ($fetch["element"] == 'h1' || $fetch["element"] == 'h2' || $fetch["element"] == 'h3' || $fetch["element"] == 'h4' || $fetch["element"] == 'h5' || $fetch["element"] == 'h6') {
                    $fetch["element"] = $fetch["element"] . ', ' . $fetch["element"] . ' a,' . $fetch["element"] . ' a:hover';
                }
                $el = $fetch["element"];
                if ($el == 'ahover') {
                    $el = 'a:hover';
                }
            } else {
                if ($fetch["element"] == 'ahover') {
                    $fetch["element"] = 'a:hover';
                }
                if ($fetch["element"] == 'h1' || $fetch["element"] == 'h2' || $fetch["element"] == 'h3' || $fetch["element"] == 'h4' || $fetch["element"] == 'h5' || $fetch["element"] == 'h6') {
                    //$fetch["element"]=$fetch["element"].', '.$fetch["element"].' a,'.$fetch["element"].' a:hover';
                    $el = '#' . $fetch["container"] . ' ' . $fetch["element"] . ', #' . $fetch["container"] . ' ' . $fetch["element"] . ' a, #' . $fetch["container"] . ' ' . $fetch["element"] . ' a:hover';
                } else {
                    $el = '#' . $fetch["container"] . ' ' . $fetch["element"];
                }
            }
            $proprties = parseCSS($fetch["properties"]);
            if (count($proprties) != 0) {
                //print_r($proprties);
                $css .= $el . '{' . @implode(';', $proprties) . '}';
            }
        }
        $fhandle = @fopen($file, 'w+');
        //echo 'test-'.$css;
        if ($fhandle) {
            fwrite($fhandle, $css, strlen($css));
        }
        unset($_POST);
        $url = curPageURL();
        ?>
		<script language="JavaScript">
		parent.location.href='<?php 
        echo $url;
        ?>
';
		</script>
		<?php 
    }
    $query = "SELECT * FROM {$table} WHERE `id`='{$layoutid}'";
    $layout = $wpdb->get_row($query, ARRAY_A);
    ?>
<h2><?php 
    echo esc_html('Layout Creator/Editor');
    ?>
</h2>
<p><a href="admin.php?page=wonder-layout&theme=<?php 
    echo $layout[theme];
    ?>
"><?php 
    _e("Back to layouts screen", THEME_ADMIN_LANG_DOMAIN);
    ?>
</a></p>
<table class="widefat ultimatum-layout-top" width="100%">
	<tr>
		<td>
			<form action="" method="post" id="layout-form">
				<label for="layout-name"><strong><?php 
    _e('Layout Name', THEME_ADMIN_LANG_DOMAIN);
    ?>
: </strong></label><input type="text" name="layoutname" value="<?php 
    echo $layout["title"];
    ?>
" size="50" /><br />
				<?php 
    if ($layout["type"] == 'full') {
        ?>
				<h3><?php 
        _e('Include Partial Layouts', THEME_ADMIN_LANG_DOMAIN);
        ?>
</h3>
				<i><?php 
        _e('You can drag and drop the partial layouts you want to use above or below your layout', THEME_ADMIN_LANG_DOMAIN);
        ?>
.</i>
				<table width="100%">
				<tr valign="top">
				<td width="33%" style="border:none">
				<table class="widefat">
				<tr><th><?php 
        _e('Available Parts', THEME_ADMIN_LANG_DOMAIN);
        ?>
</th></tr>
				<tr><td>
				<ul id="parts" class="connectedSortable" style="min-height:30px"> 
				<?php 
        printPartial($layout);
        ?>
				       
				</ul>
				</td></tr>
				</table>
				</td>
				<td width="33%" style="border:none">
				<table class="widefat">
				<tr><th><?php 
        _e('Above Layout Body', THEME_ADMIN_LANG_DOMAIN);
        ?>
</th></tr>
				<tr><td>
				<ul id="before" class="connectedSortable" style="min-height:30px;">
				<?php 
        printParts($layout, 'before');
        ?>
  
			    </ul>
			    </td></tr>
				</table>
				</td>
				<td width="33%" style="border:none">
				<table class="widefat">
				<tr><th><?php 
        _e('Below Layout Body', THEME_ADMIN_LANG_DOMAIN);
        ?>
</th></tr>
				<tr><td>
				<ul id="after" class="connectedSortable" style="min-height:30px;">
				<?php 
        printParts($layout, 'after');
        ?>
  
			    </ul>
			    </td></tr>
				</table>  
				</td>
				</tr>
				</table>
				<?php 
        echo '<a class="button-primary autowidth" href="./admin.php?page=wonder-css&layout=' . $layout["id"] . '">' . __('Edit CSS', THEME_ADMIN_LANG_DOMAIN) . '</a>';
        ?>
				<?php 
    }
    ?>
				<a class="button-primary autowidth thickbox"  href="<?php 
    echo THEME_ADMIN_URI;
    ?>
/interfaces/wonder-layout/row-layouts.php?layout_id=<?php 
    echo $_GET["layoutid"];
    ?>
&TB_iframe=1&width=770&height=480" title="<?php 
    _e('Click on row style you want to insert and then click insert button', THEME_ADMIN_LANG_DOMAIN);
    ?>
"><?php 
    _e('Insert Row', THEME_ADMIN_LANG_DOMAIN);
    ?>
</a>
				<input type="hidden" name="rows" id="layout_row_ids" value="<?php 
    echo $layout["rows"];
    ?>
"/>
				<input type="hidden" name="before" id="before_main" value="<?php 
    echo $layout["before"];
    ?>
"/>
				<input type="hidden" name="after" id="after_main" value="<?php 
    echo $layout["after"];
    ?>
"/>
				<input type="hidden" name="type" value="<?php 
    echo $layout['type'];
    ?>
" />
				<input type="hidden" name="default" value="<?php 
    echo $layout['default'];
    ?>
" />
				<input type="hidden" name="theme" value="<?php 
    echo $layout['theme'];
    ?>
" />
				<input type="hidden" name="saveandcontinue" value="no" />
				<input class="button-primary autowidth" type="submit" value="<?php 
    _e('Save Layout', THEME_ADMIN_LANG_DOMAIN);
    ?>
"/>
			</form>
		</td>
	</tr>
	</table>
	<h2><?php 
    _e('The Layout Body', THEME_ADMIN_LANG_DOMAIN);
    ?>
</h2>
			<?php 
    if ($layoutid) {
        ?>
				<div class="widget-liquid-left">
					<div id="widgets-right" >
					<ul id="sortables"> 
					<?php 
        $rows = explode(',', $layout["rows"]);
        foreach ($rows as $row_id) {
            $query = "SELECT * FROM {$tablerows} WHERE id='{$row_id}'";
            $row = $wpdb->get_row($query, ARRAY_A);
            include THEME_ADMIN . '/ajax/row-generator.php';
        }
        ?>
					</ul>
						
					</div>
				</div>
				<div class="widget-liquid-right">
				<div id="widgets-left">
					<div id="available-widgets" class="widgets-holder-wrap">
						<div class="sidebar-name">
						<div class="sidebar-name-arrow"><br /></div>
						<h3><?php 
        _e('Elements', THEME_ADMIN_LANG_DOMAIN);
        ?>
 <span id="removing-widget"><?php 
        _ex('Deactivate', 'removing-widget');
        ?>
 <span></span></span></h3></div>
						<div class="widget-holder">
						<div id="widget-list">
						<?php 
        ultimatum_list_widgets();
        ?>
						</div>
						<br class='clear' />
						</div>
						<br class="clear" />
					</div>
				</div>
				</div>
				
				
				<br class="clear" />
				<form action="" method="post">
				<?php 
        wp_nonce_field('save-sidebar-widgets', '_wpnonce_widgets', false);
        ?>
				</form>
				<?php 
    }
    ?>

<?php 
}