2012-12-08 00:44:30 +00:00
< ? php
2016-09-02 05:20:08 +00:00
namespace Zotlabs\Theme ;
2016-08-16 05:45:07 +00:00
class RedbasicConfig {
2016-09-02 05:10:56 +00:00
2016-08-16 05:45:07 +00:00
function get_schemas () {
$scheme_choices = array ();
$scheme_choices [ " --- " ] = t ( " Focus (Hubzilla default) " );
$files = glob ( 'view/theme/redbasic/schema/*.php' );
if ( $files ) {
foreach ( $files as $file ) {
$f = basename ( $file , " .php " );
if ( $f != 'default' ) {
$scheme_name = $f ;
$scheme_choices [ $f ] = $scheme_name ;
}
}
}
return $scheme_choices ;
}
2016-09-02 05:10:56 +00:00
function get () {
2016-09-02 05:20:08 +00:00
if ( ! local_channel ()) {
2016-09-02 05:10:56 +00:00
return ;
}
2012-12-08 00:44:30 +00:00
2016-09-02 05:10:56 +00:00
$arr = array ();
$arr [ 'narrow_navbar' ] = get_pconfig ( local_channel (), 'redbasic' , 'narrow_navbar' );
$arr [ 'nav_bg' ] = get_pconfig ( local_channel (), 'redbasic' , 'nav_bg' );
$arr [ 'nav_icon_colour' ] = get_pconfig ( local_channel (), 'redbasic' , 'nav_icon_colour' );
$arr [ 'nav_active_icon_colour' ] = get_pconfig ( local_channel (), 'redbasic' , 'nav_active_icon_colour' );
$arr [ 'link_colour' ] = get_pconfig ( local_channel (), 'redbasic' , 'link_colour' );
$arr [ 'banner_colour' ] = get_pconfig ( local_channel (), 'redbasic' , 'banner_colour' );
$arr [ 'bgcolour' ] = get_pconfig ( local_channel (), 'redbasic' , 'background_colour' );
$arr [ 'background_image' ] = get_pconfig ( local_channel (), 'redbasic' , 'background_image' );
$arr [ 'item_colour' ] = get_pconfig ( local_channel (), 'redbasic' , 'item_colour' );
$arr [ 'comment_item_colour' ] = get_pconfig ( local_channel (), 'redbasic' , 'comment_item_colour' );
$arr [ 'font_size' ] = get_pconfig ( local_channel (), 'redbasic' , 'font_size' );
$arr [ 'font_colour' ] = get_pconfig ( local_channel (), 'redbasic' , 'font_colour' );
$arr [ 'radius' ] = get_pconfig ( local_channel (), 'redbasic' , 'radius' );
$arr [ 'shadow' ] = get_pconfig ( local_channel (), 'redbasic' , 'photo_shadow' );
$arr [ 'converse_width' ] = get_pconfig ( local_channel (), " redbasic " , " converse_width " );
$arr [ 'align_left' ] = get_pconfig ( local_channel (), " redbasic " , " align_left " );
$arr [ 'top_photo' ] = get_pconfig ( local_channel (), " redbasic " , " top_photo " );
$arr [ 'reply_photo' ] = get_pconfig ( local_channel (), " redbasic " , " reply_photo " );
return $this -> form ( $arr );
2012-12-08 00:44:30 +00:00
}
2016-09-02 05:10:56 +00:00
function post () {
if ( ! local_channel ()) {
return ;
}
2013-11-03 22:26:42 +00:00
2016-09-02 05:10:56 +00:00
if ( isset ( $_POST [ 'redbasic-settings-submit' ])) {
set_pconfig ( local_channel (), 'redbasic' , 'narrow_navbar' , $_POST [ 'redbasic_narrow_navbar' ]);
set_pconfig ( local_channel (), 'redbasic' , 'nav_bg' , $_POST [ 'redbasic_nav_bg' ]);
set_pconfig ( local_channel (), 'redbasic' , 'nav_icon_colour' , $_POST [ 'redbasic_nav_icon_colour' ]);
set_pconfig ( local_channel (), 'redbasic' , 'nav_active_icon_colour' , $_POST [ 'redbasic_nav_active_icon_colour' ]);
set_pconfig ( local_channel (), 'redbasic' , 'link_colour' , $_POST [ 'redbasic_link_colour' ]);
set_pconfig ( local_channel (), 'redbasic' , 'background_colour' , $_POST [ 'redbasic_background_colour' ]);
set_pconfig ( local_channel (), 'redbasic' , 'banner_colour' , $_POST [ 'redbasic_banner_colour' ]);
set_pconfig ( local_channel (), 'redbasic' , 'background_image' , $_POST [ 'redbasic_background_image' ]);
set_pconfig ( local_channel (), 'redbasic' , 'item_colour' , $_POST [ 'redbasic_item_colour' ]);
set_pconfig ( local_channel (), 'redbasic' , 'comment_item_colour' , $_POST [ 'redbasic_comment_item_colour' ]);
set_pconfig ( local_channel (), 'redbasic' , 'font_size' , $_POST [ 'redbasic_font_size' ]);
set_pconfig ( local_channel (), 'redbasic' , 'font_colour' , $_POST [ 'redbasic_font_colour' ]);
set_pconfig ( local_channel (), 'redbasic' , 'radius' , $_POST [ 'redbasic_radius' ]);
set_pconfig ( local_channel (), 'redbasic' , 'photo_shadow' , $_POST [ 'redbasic_shadow' ]);
set_pconfig ( local_channel (), 'redbasic' , 'converse_width' , $_POST [ 'redbasic_converse_width' ]);
set_pconfig ( local_channel (), 'redbasic' , 'align_left' , $_POST [ 'redbasic_align_left' ]);
set_pconfig ( local_channel (), 'redbasic' , 'top_photo' , $_POST [ 'redbasic_top_photo' ]);
set_pconfig ( local_channel (), 'redbasic' , 'reply_photo' , $_POST [ 'redbasic_reply_photo' ]);
}
}
2013-11-06 00:21:38 +00:00
2016-09-02 05:10:56 +00:00
function form ( $arr ) {
2013-10-01 22:04:14 +00:00
2016-09-02 05:10:56 +00:00
if ( feature_enabled ( local_channel (), 'advanced_theming' ))
$expert = 1 ;
2013-10-10 17:42:21 +00:00
2016-09-02 05:10:56 +00:00
$o .= replace_macros ( get_markup_template ( 'theme_settings.tpl' ), array (
'$submit' => t ( 'Submit' ),
'$baseurl' => z_root (),
2016-09-02 05:20:08 +00:00
'$theme' => \App :: $channel [ 'channel_theme' ],
2016-09-02 05:10:56 +00:00
'$expert' => $expert ,
'$title' => t ( " Theme settings " ),
'$narrow_navbar' => array ( 'redbasic_narrow_navbar' , t ( 'Narrow navbar' ), $arr [ 'narrow_navbar' ], '' , array ( t ( 'No' ), t ( 'Yes' ))),
'$nav_bg' => array ( 'redbasic_nav_bg' , t ( 'Navigation bar background color' ), $arr [ 'nav_bg' ]),
'$nav_icon_colour' => array ( 'redbasic_nav_icon_colour' , t ( 'Navigation bar icon color ' ), $arr [ 'nav_icon_colour' ]),
'$nav_active_icon_colour' => array ( 'redbasic_nav_active_icon_colour' , t ( 'Navigation bar active icon color ' ), $arr [ 'nav_active_icon_colour' ]),
2017-03-26 11:15:15 +00:00
'$link_colour' => array ( 'redbasic_link_colour' , t ( 'Link color' ), $arr [ 'link_colour' ], '' , $link_colours ),
2016-09-02 05:10:56 +00:00
'$banner_colour' => array ( 'redbasic_banner_colour' , t ( 'Set font-color for banner' ), $arr [ 'banner_colour' ]),
'$bgcolour' => array ( 'redbasic_background_colour' , t ( 'Set the background color' ), $arr [ 'bgcolour' ]),
'$background_image' => array ( 'redbasic_background_image' , t ( 'Set the background image' ), $arr [ 'background_image' ]),
'$item_colour' => array ( 'redbasic_item_colour' , t ( 'Set the background color of items' ), $arr [ 'item_colour' ]),
'$comment_item_colour' => array ( 'redbasic_comment_item_colour' , t ( 'Set the background color of comments' ), $arr [ 'comment_item_colour' ]),
2017-03-19 13:29:09 +00:00
'$font_size' => array ( 'redbasic_font_size' , t ( 'Set font-size for the entire application' ), $arr [ 'font_size' ], t ( 'Examples: 87.5%, 14px' )),
2016-09-02 05:10:56 +00:00
'$font_colour' => array ( 'redbasic_font_colour' , t ( 'Set font-color for posts and comments' ), $arr [ 'font_colour' ]),
2017-03-19 11:10:16 +00:00
'$radius' => array ( 'redbasic_radius' , t ( 'Set radius of corners' ), $arr [ 'radius' ], t ( 'Example: 4px' )),
2016-09-02 05:10:56 +00:00
'$shadow' => array ( 'redbasic_shadow' , t ( 'Set shadow depth of photos' ), $arr [ 'shadow' ]),
'$converse_width' => array ( 'redbasic_converse_width' , t ( 'Set maximum width of content region in pixel' ), $arr [ 'converse_width' ], t ( 'Leave empty for default width' )),
'$align_left' => array ( 'redbasic_align_left' , t ( 'Left align page content' ), $arr [ 'align_left' ], '' , array ( t ( 'No' ), t ( 'Yes' ))),
'$top_photo' => array ( 'redbasic_top_photo' , t ( 'Set size of conversation author photo' ), $arr [ 'top_photo' ]),
'$reply_photo' => array ( 'redbasic_reply_photo' , t ( 'Set size of followup author photos' ), $arr [ 'reply_photo' ]),
));
return $o ;
}
2012-12-08 00:44:30 +00:00
}
2016-09-02 05:10:56 +00:00