aboutsummaryrefslogblamecommitdiffstats
path: root/view/theme/redbasic/php/config.php
blob: 9d242fab093f4af55636610541a0272b43dda1af (plain) (tree)
1
2
3
4
5
6
7
8
     
 

                        
                      
 
                                
                                                                  


                                     
                            








                                                                                         







                                                                           
 

                                       
 
                        
                                       

                               
 


                                                                                                  


                                                                                                                    
                                                                                                          




                                                                                                              
                                                                                          



                                                                                                

                                                                                          
                                                                                                        
                                         
         
 
                         
                                      

                               
 


                                                                                                                    


                                                                                                                                      
                                                                                                                            




                                                                                                                                
                                                                                                            



                                                                                                                      

                                                                                                                
                                                                                                                          

                 
 
                             
 
                                                                                
                                    
 


                                                                                      
                                                                    



                                                                                                                                                  
                                                                                                                                          
                                                                                                                                                                      

                                                                                                                                                              

                                                                                                                                   
                                                                                                                                           

                                                                                                                                                                
                                                                                                                                                                       
                                                                                                                                         
                                                                                                                             
                                                                                                               
                                                                                                                                                                                         

                                                                                                                                      
                                                                                                                                                            




                           
 





 
<?php

namespace Zotlabs\Theme;

class RedbasicConfig {

	function get_schemas() {
		$files = glob('view/theme/redbasic/schema/*.php');

		$scheme_choices = [];

		if($files) {

			if(in_array('view/theme/redbasic/schema/default.php', $files)) {
				$scheme_choices['---'] = t('Default');
				$scheme_choices['focus'] = t('Focus (Hubzilla default)');
			}
			else {
				$scheme_choices['---'] = t('Focus (Hubzilla default)');
			}

			foreach($files as $file) {
				$f = basename($file, ".php");
				if($f != 'default') {
					$scheme_name = $f;
					$scheme_choices[$f] = $scheme_name;
				}
			}
		}

		return $scheme_choices;
	}

	function get() {
		if(! local_channel()) {
			return;
		}

		$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['link_hover_colour'] = get_pconfig(local_channel(),'redbasic', 'link_hover_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['top_photo']=get_pconfig(local_channel(),"redbasic","top_photo");
		$arr['reply_photo']=get_pconfig(local_channel(),"redbasic","reply_photo");
		$arr['advanced_theming'] = get_pconfig(local_channel(), 'redbasic', 'advanced_theming');
		return $this->form($arr);
	}

	function post() {
		if(!local_channel()) {
			return;
		}

		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', 'link_hover_colour', $_POST['redbasic_link_hover_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', 'top_photo', $_POST['redbasic_top_photo']);
			set_pconfig(local_channel(), 'redbasic', 'reply_photo', $_POST['redbasic_reply_photo']);
			set_pconfig(local_channel(), 'redbasic', 'advanced_theming', $_POST['redbasic_advanced_theming']);
		}
	}

	function form($arr) {

		if(get_pconfig(local_channel(), 'redbasic', 'advanced_theming'))
			$expert = 1;

	  	$o .= replace_macros(get_markup_template('theme_settings.tpl'), array(
			'$submit' => t('Submit'),
			'$baseurl' => z_root(),
			'$theme' => \App::$channel['channel_theme'],
			'$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']),
			'$link_colour' => array('redbasic_link_colour', t('Link color'), $arr['link_colour'], '', $link_colour),
			'$link_hover_colour' => array('redbasic_link_hover_colour', t('Link hover color'), $arr['link_hover_colour'], '', $link_hover_colour),
			'$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']),
			'$font_size' => array('redbasic_font_size', t('Set font-size for the entire application'), $arr['font_size'], t('Examples: 1rem, 100%, 16px')),
			'$font_colour' => array('redbasic_font_colour', t('Set font-color for posts and comments'), $arr['font_colour']),
			'$radius' => array('redbasic_radius', t('Set radius of corners'), $arr['radius'], t('Example: 4px')),
			'$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 rem'),$arr['converse_width'], t('Leave empty for default width')),
			'$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']),
			'$advanced_theming' => ['redbasic_advanced_theming', t('Show advanced settings'), $arr['advanced_theming'], '', [t('No'), t('Yes')]]
			));

		return $o;
	}

}