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'); }
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 }