Templates for theme settings. There is a 99% chance these do not work yet, even if you implement them.

This commit is contained in:
Thomas Willingham 2012-12-08 00:44:30 +00:00
parent 44263d5ac3
commit d71a827d84
3 changed files with 186 additions and 0 deletions

View file

@ -0,0 +1,80 @@
<?php
/**
* Theme settings
*/
function theme_content(&$a) {
if(!local_user()) { return; }
$font_size = get_pconfig(local_user(),'redbasic', 'font_size' );
$line_height = get_pconfig(local_user(), 'redbasic', 'line_height' );
$colour = get_pconfig(local_user(), 'redbasic', 'colour' );
return redbasic_form($a, $font_size, $line_height, $colour);
}
function theme_post(&$a) {
if(!local_user()) { return; }
if (isset($_POST['redbasic-settings-submit'])) {
set_pconfig(local_user(), 'redbasic', 'font_size', $_POST['redbasic_font_size']);
set_pconfig(local_user(), 'redbasic', 'line_height', $_POST['redbasic_line_height']);
set_pconfig(local_user(), 'redbasic', 'colour', $_POST['redbasic_colour']);
}
}
function theme_admin(&$a) {
$font_size = get_config('redbasic', 'font_size' );
$line_height = get_config('redbasic', 'line_height' );
$colour = get_config('redbasic', 'colour' );
return redbasic_form($a, $font_size, $line_height, $colour);
}
function theme_admin_post(&$a) {
if (isset($_POST['redbasic-settings-submit'])) {
set_config('redbasic', 'font_size', $_POST['redbasic_font_size']);
set_config('redbasic', 'line_height', $_POST['redbasic_line_height']);
set_config('redbasic', 'colour', $_POST['redbasic_colour']);
}
}
function redbasic_form(&$a, $font_size, $line_height, $colour) {
$line_heights = array(
"1.3" => "1.3",
"---" => "---",
"1.6" => "1.6",
"1.5" => "1.5",
"1.4" => "1.4",
"1.2" => "1.2",
"1.1" => "1.1",
);
$font_sizes = array(
'12' => '12',
'14' => '14',
"---" => "---",
"16" => "16",
"15" => "15",
'13.5' => '13.5',
'13' => '13',
'12.5' => '12.5',
'12' => '12',
);
$colours = array(
'light' => 'light',
'dark' => 'dark',
);
$t = file_get_contents( dirname(__file__). "/theme_settings.tpl" );
$o .= replace_macros($t, array(
'$submit' => t('Submit'),
'$baseurl' => $a->get_baseurl(),
'$title' => t("Theme settings"),
'$font_size' => array('redbasic_font_size', t('Set font-size for posts and comments'), $font_size, '', $font_sizes),
'$line_height' => array('redbasic_line_height', t('Set line-height for posts and comments'), $line_height, '', $line_heights),
'$colour' => array('redbasic_colour', t('Set colour scheme'), $colour, '', $colours),
));
return $o;
}

View file

@ -0,0 +1,99 @@
<?php
$line_height = false;
$redbasic_font_size = false;
$resolution = false;
$colour = false;
$site_line_height = get_config("redbasic","line_height");
$site_redbasic_font_size = get_config("redbasic", "font_size" );
$site_colour = get_config("redbasic", "colour" );
if (local_user()) {
$line_height = get_pconfig(local_user(), "redbasic","line_height");
$redbasic_font_size = get_pconfig(local_user(), "redbasic", "font_size");
$colour = get_pconfig(local_user(), "redbasic", "colour");
}
if ($line_height === false) {
$line_height = $site_line_height;
}
if ($line_height === false) {
$line_height = "1.2";
}
if ($redbasic_font_size === false) {
$redbasic_font_size = $site_redbasic_font_size;
}
if ($redbasic_font_size === false) {
$redbasic_font_size = "12";
}
if ($colour === false) {
$colour = $site_colour;
}
$colour = "light";
if (file_exists("$THEMEPATH/css/style.css")) {
echo file_get_contents("$THEMEPATH/css/style.css");
}
if($redbasic_font_size == "16") {
echo ".wall-item-content {
font-size: 16px;
}";
}
if($redbasic_font_size == "15") {
echo ".wall-item-content {
font-size: 15px;
}";
}
if($redbasic_font_size == "14") {
echo ".wall-item-content {
font-size: 14px;
}";
}
if($redbasic_font_size == "13.5") {
echo ".wall-item-content {
font-size: 13.5px;
}";
}
if($redbasic_font_size == "13") {
echo ".wall-item-content {
font-size: 13px;
}";
}
if($redbasic_font_size == "12.5") {
echo ".wall-item-content {
font-size: 12.5px;
}";
}
if($redbasic_font_size == "12") {
echo ".wall-item-content {
font-size: 12px;
}";
}
if($line_height == "1.5") {
echo ".wall-item-content {
line-height: 1.5;
}";
}
if($line_height == "1.4") {
echo ".wall-item-content {
line-height: 1.4;
}";
}
if($line_height == "1.3") {
echo ".wall-item-content {
line-height: 1.3;
}";
}
if($line_height == "1.2") {
echo ".wall-item-content {
line-height: 1.2;
}";
}
if($line_height == "1.1") {
echo ".wall-item-content {
line-height: 1.1;
}";
}

View file

@ -0,0 +1,7 @@
{{inc field_select.tpl with $field=$font_size}}{{endinc}}
{{inc field_select.tpl with $field=$line_height}}{{endinc}}
<div class="settings-submit-wrapper">
<input type="submit" value="$submit" class="settings-submit" name="redbasic-settings-submit" />
</div>