function at_theme_settings_submit($form, &$form_state) { $values = $form_state['values']; // Smartphone layout - portrait, we only need the media query values if ($values['smartphone_portrait_media_query']) { $sidebar_first = 100; $sidebar_second = 100; $media_query = $values['smartphone_portrait_media_query']; $method = 'one-col-stack'; $sidebar_unit = '%'; $page_unit = '%'; $layout = at_layout_styles($method, $sidebar_first, $sidebar_second, $sidebar_unit); $comment = "/* Smartphone portrait {$method} */\n"; $width = "\n" . '.container {width: 100%;}'; $styles = implode("\n", $layout) . $width; $css = $comment . '@media ' . $media_query . ' {' . "\n" . $styles . "\n" . '}'; $layouts[] = check_plain($css); } // Smartphone layout - landscape if ($values['smartphone_landscape_layout']) { $sidebar_first = $values['smartphone_landscape_sidebar_first']; $sidebar_second = $values['smartphone_landscape_sidebar_second']; $media_query = $values['smartphone_landscape_media_query']; $page_width = $values['smartphone_landscape_page_width']; $method = $values['smartphone_landscape_layout']; $sidebar_unit = $values['smartphone_landscape_sidebar_unit']; $page_unit = $values['smartphone_landscape_page_unit']; $layout = at_layout_styles($method, $sidebar_first, $sidebar_second, $sidebar_unit); $comment = "/* Smartphone landscape {$method} */\n"; $width = "\n" . '.container {width: ' . $page_width . $page_unit . ';}'; if ($values['smartphone_landscape_set_max_width'] == 1 && $page_unit == '%') { $max_width = $values['smartphone_landscape_max_width']; $max_width_unit = $values['smartphone_landscape_max_width_unit']; if (!empty($max_width)) { $width = "\n" . '.container {width: ' . $page_width . $page_unit . '; max-width: ' . $max_width . $max_width_unit . ';}'; } else { $width = "\n" . '.container {width: ' . $page_width . $page_unit . '; max-width: ' . $page_width . $page_unit . ';}'; } } $styles = implode("\n", $layout) . $width; $css = $comment . '@media ' . $media_query . ' {' . "\n" . $styles . "\n" . '}'; $layouts[] = check_plain($css); } // Tablet layout - portrait if ($values['tablet_portrait_layout']) { $sidebar_first = $values['tablet_portrait_sidebar_first']; $sidebar_second = $values['tablet_portrait_sidebar_second']; $media_query = $values['tablet_portrait_media_query']; $page_width = $values['tablet_portrait_page_width']; $method = $values['tablet_portrait_layout']; $sidebar_unit = $values['tablet_portrait_sidebar_unit']; $page_unit = $values['tablet_portrait_page_unit']; $layout = at_layout_styles($method, $sidebar_first, $sidebar_second, $sidebar_unit); $comment = "/* Tablet portrait {$method} */\n"; $width = "\n" . '.container {width: ' . $page_width . $page_unit . ';}'; if ($values['tablet_portrait_set_max_width'] == 1 && $page_unit == '%') { $max_width = $values['tablet_portrait_max_width']; $max_width_unit = $values['tablet_portrait_max_width_unit']; if (!empty($max_width)) { $width = "\n" . '.container {width: ' . $page_width . $page_unit . '; max-width: ' . $max_width . $max_width_unit . ';}'; } else { $width = "\n" . '.container {width: ' . $page_width . $page_unit . '; max-width: ' . $page_width . $page_unit . ';}'; } } $styles = implode("\n", $layout) . $width; $css = $comment . '@media ' . $media_query . ' {' . "\n" . $styles . "\n" . '}'; $layouts[] = check_plain($css); } // Tablet layout - landscape if ($values['tablet_landscape_layout']) { $sidebar_first = $values['tablet_landscape_sidebar_first']; $sidebar_second = $values['tablet_landscape_sidebar_second']; $media_query = $values['tablet_landscape_media_query']; $page_width = $values['tablet_landscape_page_width']; $method = $values['tablet_landscape_layout']; $sidebar_unit = $values['tablet_landscape_sidebar_unit']; $page_unit = $values['tablet_landscape_page_unit']; $layout = at_layout_styles($method, $sidebar_first, $sidebar_second, $sidebar_unit); $comment = "/* Tablet landscape {$method} */\n"; $width = "\n" . '.container {width: ' . $page_width . $page_unit . ';}'; if ($values['tablet_landscape_set_max_width'] == 1 && $page_unit == '%') { $max_width = $values['tablet_landscape_max_width']; $max_width_unit = $values['tablet_landscape_max_width_unit']; if (!empty($max_width)) { $width = "\n" . '.container {width: ' . $page_width . $page_unit . '; max-width: ' . $max_width . $max_width_unit . ';}'; } else { $width = "\n" . '.container {width: ' . $page_width . $page_unit . '; max-width: ' . $page_width . $page_unit . ';}'; } } $styles = implode("\n", $layout) . $width; $css = $comment . '@media ' . $media_query . ' {' . "\n" . $styles . "\n" . '}'; $layouts[] = check_plain($css); } // Standard bigscreen layout if ($values['bigscreen_layout']) { $sidebar_first = $values['bigscreen_sidebar_first']; $sidebar_second = $values['bigscreen_sidebar_second']; $media_query = $values['bigscreen_media_query']; $page_width = $values['bigscreen_page_width']; $method = $values['bigscreen_layout']; $sidebar_unit = $values['bigscreen_sidebar_unit']; $page_unit = $values['bigscreen_page_unit']; $layout = at_layout_styles($method, $sidebar_first, $sidebar_second, $sidebar_unit); $comment = "/* Standard layout {$method} */\n"; $width = "\n" . '.container {width: ' . $page_width . $page_unit . ';}'; if ($values['bigscreen_set_max_width'] == 1 && $page_unit == '%') { $max_width = $values['bigscreen_max_width']; $max_width_unit = $values['bigscreen_max_width_unit']; if (!empty($max_width)) { $width = "\n" . '.container {width: ' . $page_width . $page_unit . '; max-width: ' . $max_width . $max_width_unit . ';}'; } else { $width = "\n" . '.container {width: ' . $page_width . $page_unit . '; max-width: ' . $page_width . $page_unit . ';}'; } } $styles = implode("\n", $layout) . $width; // Set a variable for printing a special layout file for less than IE9 $iecomment = "/* Standard layout {$method}, for IE8 and below. Note that rounding errors may occur in IE7 and below. */\n"; $lt_ie9 = $iecomment . $styles; $css = $comment . '@media ' . $media_query . ' {' . "\n" . $styles . "\n" . '}'; $layouts[] = check_plain($css); } $layout_data = implode("\n", $layouts); // Build and save files $theme = $form_state['build_info']['args'][0]; $path = "public://at_css"; file_prepare_directory($path, FILE_CREATE_DIRECTORY); // IE $lt_ie9_layout_file = $theme . '.lt-ie9.layout.css'; $lt_ie9_layout_data = $lt_ie9; $lt_ie9_layout_filepath = $path . '/' . $lt_ie9_layout_file; file_save_data($lt_ie9_layout_data, $lt_ie9_layout_filepath, FILE_EXISTS_REPLACE); // Responsive layout $responsive_layout_file = $theme . '.responsive.layout.css'; $responsive_layout_data = $layout_data; $responsive_layout_filepath = $path . '/' . $responsive_layout_file; file_save_data($responsive_layout_data, $responsive_layout_filepath, FILE_EXISTS_REPLACE); // set variables so we can retrive them later to load the css files variable_set($theme . '_ltie9_layout_file_path', $path); variable_set($theme . '_ltie9_layout_file_css', $lt_ie9_layout_file); variable_set($theme . '_responsive_layout_file_path', $path); variable_set($theme . '_responsive_layout_file_css', $responsive_layout_file); }
function at_theme_settings_submit($form, &$form_state) { $values = $form_state['values']; // Smartphone layout - portrait, we only need the media query values if ($values['smartphone_portrait_media_query']) { $sidebar_first = 100; $sidebar_second = 100; $media_query = $values['smartphone_portrait_media_query']; $method = 'one-col-stack'; $sidebar_unit = '%'; $page_unit = '%'; $layout = at_layout_styles($method, $sidebar_first, $sidebar_second, $sidebar_unit); $comment = "/* Smartphone portrait {$method} */\n"; $width = "\n" . '.container {width: 100%;}'; $styles = implode("\n", $layout) . $width; $css = $comment . '@media ' . $media_query . ' {' . "\n" . $styles . "\n" . '}'; $layouts[] = check_plain($css); } // Smartphone layout - landscape if ($values['smartphone_landscape_layout']) { $sidebar_first = $values['smartphone_landscape_sidebar_first']; $sidebar_second = $values['smartphone_landscape_sidebar_second']; $media_query = $values['smartphone_landscape_media_query']; $page_width = $values['smartphone_landscape_page_width']; $method = $values['smartphone_landscape_layout']; $sidebar_unit = $values['smartphone_landscape_sidebar_unit']; $page_unit = $values['smartphone_landscape_page_unit']; $layout = at_layout_styles($method, $sidebar_first, $sidebar_second, $sidebar_unit); $comment = "/* Smartphone landscape {$method} */\n"; $width = "\n" . '.container {width: ' . $page_width . $page_unit . ';}'; if ($values['smartphone_landscape_set_max_width'] == 1 && $page_unit == '%') { $max_width = $values['smartphone_landscape_max_width']; $max_width_unit = $values['smartphone_landscape_max_width_unit']; if (!empty($max_width)) { $width = "\n" . '.container {width: ' . $page_width . $page_unit . '; max-width: ' . $max_width . $max_width_unit . ';}'; } else { $width = "\n" . '.container {width: ' . $page_width . $page_unit . '; max-width: ' . $page_width . $page_unit . ';}'; } } $styles = implode("\n", $layout) . $width; $css = $comment . '@media ' . $media_query . ' {' . "\n" . $styles . "\n" . '}'; $layouts[] = check_plain($css); } // Tablet layout - portrait if ($values['tablet_portrait_layout']) { $sidebar_first = $values['tablet_portrait_sidebar_first']; $sidebar_second = $values['tablet_portrait_sidebar_second']; $media_query = $values['tablet_portrait_media_query']; $page_width = $values['tablet_portrait_page_width']; $method = $values['tablet_portrait_layout']; $sidebar_unit = $values['tablet_portrait_sidebar_unit']; $page_unit = $values['tablet_portrait_page_unit']; $layout = at_layout_styles($method, $sidebar_first, $sidebar_second, $sidebar_unit); $comment = "/* Tablet portrait {$method} */\n"; $width = "\n" . '.container {width: ' . $page_width . $page_unit . ';}'; if ($values['tablet_portrait_set_max_width'] == 1 && $page_unit == '%') { $max_width = $values['tablet_portrait_max_width']; $max_width_unit = $values['tablet_portrait_max_width_unit']; if (!empty($max_width)) { $width = "\n" . '.container {width: ' . $page_width . $page_unit . '; max-width: ' . $max_width . $max_width_unit . ';}'; } else { $width = "\n" . '.container {width: ' . $page_width . $page_unit . '; max-width: ' . $page_width . $page_unit . ';}'; } } $styles = implode("\n", $layout) . $width; $css = $comment . '@media ' . $media_query . ' {' . "\n" . $styles . "\n" . '}'; $layouts[] = check_plain($css); } // Tablet layout - landscape if ($values['tablet_landscape_layout']) { $sidebar_first = $values['tablet_landscape_sidebar_first']; $sidebar_second = $values['tablet_landscape_sidebar_second']; $media_query = $values['tablet_landscape_media_query']; $page_width = $values['tablet_landscape_page_width']; $method = $values['tablet_landscape_layout']; $sidebar_unit = $values['tablet_landscape_sidebar_unit']; $page_unit = $values['tablet_landscape_page_unit']; $layout = at_layout_styles($method, $sidebar_first, $sidebar_second, $sidebar_unit); $comment = "/* Tablet landscape {$method} */\n"; $width = "\n" . '.container {width: ' . $page_width . $page_unit . ';}'; if ($values['tablet_landscape_set_max_width'] == 1 && $page_unit == '%') { $max_width = $values['tablet_landscape_max_width']; $max_width_unit = $values['tablet_landscape_max_width_unit']; if (!empty($max_width)) { $width = "\n" . '.container {width: ' . $page_width . $page_unit . '; max-width: ' . $max_width . $max_width_unit . ';}'; } else { $width = "\n" . '.container {width: ' . $page_width . $page_unit . '; max-width: ' . $page_width . $page_unit . ';}'; } } $styles = implode("\n", $layout) . $width; $css = $comment . '@media ' . $media_query . ' {' . "\n" . $styles . "\n" . '}'; $layouts[] = check_plain($css); } // Standard bigscreen layout if ($values['bigscreen_layout']) { $sidebar_first = $values['bigscreen_sidebar_first']; $sidebar_second = $values['bigscreen_sidebar_second']; $media_query = $values['bigscreen_media_query']; $page_width = $values['bigscreen_page_width']; $method = $values['bigscreen_layout']; $sidebar_unit = $values['bigscreen_sidebar_unit']; $page_unit = $values['bigscreen_page_unit']; $layout = at_layout_styles($method, $sidebar_first, $sidebar_second, $sidebar_unit); $comment = "/* Standard layout {$method} */\n"; $width = "\n" . '.container {width: ' . $page_width . $page_unit . ';}'; if ($values['bigscreen_set_max_width'] == 1 && $page_unit == '%') { $max_width = $values['bigscreen_max_width']; $max_width_unit = $values['bigscreen_max_width_unit']; if (!empty($max_width)) { $width = "\n" . '.container {width: ' . $page_width . $page_unit . '; max-width: ' . $max_width . $max_width_unit . ';}'; } else { $width = "\n" . '.container {width: ' . $page_width . $page_unit . '; max-width: ' . $page_width . $page_unit . ';}'; } } $styles = implode("\n", $layout) . $width; $css = $comment . '@media ' . $media_query . ' {' . "\n" . $styles . "\n" . '}'; $layouts[] = check_plain($css); } $layout_data = implode("\n", $layouts); $theme = $form_state['build_info']['args'][0]; $file = $theme . '.responsive.layout.css'; $path = "public://at_css"; $data = $layout_data; file_prepare_directory($path, FILE_CREATE_DIRECTORY); $filepath = $path . '/' . $file; file_save_data($data, $filepath, FILE_EXISTS_REPLACE); //drupal_chmod($file); // set variables so we can retrive them later to load the css file variable_set($theme . '_mediaqueries_path', $path); variable_set($theme . '_mediaqueries_css', $file); }