2016-03-28 14:29:05 +00:00
< ? php
2017-04-30 04:07:00 +00:00
use Friendica\App ;
2017-10-23 18:26:31 +00:00
use Friendica\Core\Config ;
2017-10-23 13:16:23 +00:00
use Friendica\Core\PConfig ;
2017-08-26 06:04:21 +00:00
use Friendica\Core\System ;
2017-04-30 04:07:00 +00:00
2016-03-28 14:29:05 +00:00
require_once ( 'view/theme/frio/php/Image.php' );
2017-10-23 13:16:23 +00:00
function theme_post ( App $a ) {
2016-12-20 10:56:34 +00:00
if ( ! local_user ()) {
return ;
}
2016-03-28 14:29:05 +00:00
2017-10-23 13:16:23 +00:00
if ( isset ( $_POST [ 'frio-settings-submit' ])) {
PConfig :: set ( local_user (), 'frio' , 'schema' , $_POST [ " frio_schema " ]);
PConfig :: set ( local_user (), 'frio' , 'nav_bg' , $_POST [ " frio_nav_bg " ]);
PConfig :: set ( local_user (), 'frio' , 'nav_icon_color' , $_POST [ " frio_nav_icon_color " ]);
PConfig :: set ( local_user (), 'frio' , 'link_color' , $_POST [ " frio_link_color " ]);
PConfig :: set ( local_user (), 'frio' , 'background_color' , $_POST [ " frio_background_color " ]);
PConfig :: set ( local_user (), 'frio' , 'contentbg_transp' , $_POST [ " frio_contentbg_transp " ]);
PConfig :: set ( local_user (), 'frio' , 'background_image' , $_POST [ " frio_background_image " ]);
PConfig :: set ( local_user (), 'frio' , 'bg_image_option' , $_POST [ " frio_bg_image_option " ]);
PConfig :: set ( local_user (), 'frio' , 'css_modified' , time ());
}
2016-03-28 14:29:05 +00:00
}
2017-10-23 18:26:31 +00:00
function theme_admin_post ( App $a ) {
if ( ! local_user ()) {
return ;
}
if ( isset ( $_POST [ 'frio-settings-submit' ])) {
Config :: set ( 'frio' , 'schema' , $_POST [ " frio_schema " ]);
Config :: set ( 'frio' , 'nav_bg' , $_POST [ " frio_nav_bg " ]);
Config :: set ( 'frio' , 'nav_icon_color' , $_POST [ " frio_nav_icon_color " ]);
Config :: set ( 'frio' , 'link_color' , $_POST [ " frio_link_color " ]);
Config :: set ( 'frio' , 'background_color' , $_POST [ " frio_background_color " ]);
Config :: set ( 'frio' , 'contentbg_transp' , $_POST [ " frio_contentbg_transp " ]);
Config :: set ( 'frio' , 'background_image' , $_POST [ " frio_background_image " ]);
Config :: set ( 'frio' , 'bg_image_option' , $_POST [ " frio_bg_image_option " ]);
2018-01-14 18:19:24 +00:00
Config :: set ( 'frio' , 'login_bg_image' , $_POST [ " frio_login_bg_image " ]);
2017-10-23 18:26:31 +00:00
Config :: set ( 'frio' , 'css_modified' , time ());
}
}
2017-10-23 13:16:23 +00:00
function theme_content ( App $a ) {
2016-12-20 10:56:34 +00:00
if ( ! local_user ()) {
return ;
}
2018-01-15 13:05:12 +00:00
$arr = [];
2016-12-20 10:56:34 +00:00
2017-10-23 18:26:31 +00:00
$arr [ " schema " ] = PConfig :: get ( local_user (), 'frio' , 'schema' );
$arr [ " nav_bg " ] = PConfig :: get ( local_user (), 'frio' , 'nav_bg' );
$arr [ " nav_icon_color " ] = PConfig :: get ( local_user (), 'frio' , 'nav_icon_color' );
$arr [ " link_color " ] = PConfig :: get ( local_user (), 'frio' , 'link_color' );
$arr [ " bgcolor " ] = PConfig :: get ( local_user (), 'frio' , 'background_color' );
$arr [ " contentbg_transp " ] = PConfig :: get ( local_user (), 'frio' , 'contentbg_transp' );
$arr [ " background_image " ] = PConfig :: get ( local_user (), 'frio' , 'background_image' );
$arr [ " bg_image_option " ] = PConfig :: get ( local_user (), 'frio' , 'bg_image_option' );
2017-10-23 13:16:23 +00:00
return frio_form ( $arr );
2016-03-28 14:29:05 +00:00
}
2017-10-23 18:26:31 +00:00
function theme_admin ( App $a ) {
if ( ! local_user ()) {
return ;
}
2018-01-15 13:05:12 +00:00
$arr = [];
2017-10-23 18:26:31 +00:00
$arr [ " schema " ] = Config :: get ( 'frio' , 'schema' );
$arr [ " nav_bg " ] = Config :: get ( 'frio' , 'nav_bg' );
$arr [ " nav_icon_color " ] = Config :: get ( 'frio' , 'nav_icon_color' );
$arr [ " link_color " ] = Config :: get ( 'frio' , 'link_color' );
$arr [ " bgcolor " ] = Config :: get ( 'frio' , 'background_color' );
$arr [ " contentbg_transp " ] = Config :: get ( 'frio' , 'contentbg_transp' );
$arr [ " background_image " ] = Config :: get ( 'frio' , 'background_image' );
$arr [ " bg_image_option " ] = Config :: get ( 'frio' , 'bg_image_option' );
2018-01-14 20:53:37 +00:00
$arr [ " login_bg_image " ] = Config :: get ( 'frio' , 'login_bg_image' );
2017-10-23 18:26:31 +00:00
return frio_form ( $arr );
}
2017-10-23 13:16:23 +00:00
2017-01-09 12:06:08 +00:00
function frio_form ( $arr ) {
2016-04-28 23:49:09 +00:00
require_once ( " view/theme/frio/php/schema.php " );
2017-01-09 12:06:08 +00:00
2016-04-28 23:49:09 +00:00
$scheme_info = get_schema_info ( $arr [ " schema " ]);
$disable = $scheme_info [ " overwrites " ];
2017-10-23 13:16:23 +00:00
if ( ! is_array ( $disable )) {
2018-01-15 13:05:12 +00:00
$disable = [];
2017-10-23 13:16:23 +00:00
}
2016-04-28 23:49:09 +00:00
2018-01-15 13:05:12 +00:00
$scheme_choices = [];
2016-03-28 14:29:05 +00:00
$scheme_choices [ " --- " ] = t ( " Default " );
$files = glob ( 'view/theme/frio/schema/*.php' );
2017-10-23 13:16:23 +00:00
if ( $files ) {
foreach ( $files as $file ) {
2016-03-28 14:29:05 +00:00
$f = basename ( $file , " .php " );
2017-10-23 13:16:23 +00:00
if ( $f != 'default' ) {
2016-03-28 14:29:05 +00:00
$scheme_name = $f ;
$scheme_choices [ $f ] = $scheme_name ;
}
}
}
2017-10-23 13:16:23 +00:00
$background_image_help = " <strong> " . t ( " Note " ) . " : </strong> " . t ( " Check image permissions if all users are allowed to visit the image " );
2016-03-28 14:29:05 +00:00
$t = get_markup_template ( 'theme_settings.tpl' );
2018-01-15 13:05:12 +00:00
$ctx = [
2017-10-23 13:16:23 +00:00
'$submit' => t ( 'Submit' ),
'$baseurl' => System :: baseUrl (),
'$title' => t ( " Theme settings " ),
2018-01-15 13:05:12 +00:00
'$schema' => [ 'frio_schema' , t ( " Select scheme " ), $arr [ " schema " ], '' , $scheme_choices ],
'$nav_bg' => array_key_exists ( " nav_bg " , $disable ) ? " " : [ 'frio_nav_bg' , t ( 'Navigation bar background color' ), $arr [ 'nav_bg' ]],
'$nav_icon_color' => array_key_exists ( " nav_icon_color " , $disable ) ? " " : [ 'frio_nav_icon_color' , t ( 'Navigation bar icon color ' ), $arr [ 'nav_icon_color' ]],
'$link_color' => array_key_exists ( " link_color " , $disable ) ? " " : [ 'frio_link_color' , t ( 'Link color' ), $arr [ 'link_color' ], '' , $link_colors ],
'$bgcolor' => array_key_exists ( " bgcolor " , $disable ) ? " " : [ 'frio_background_color' , t ( 'Set the background color' ), $arr [ 'bgcolor' ]],
'$contentbg_transp' => array_key_exists ( " contentbg_transp " , $disable ) ? " " : [ 'frio_contentbg_transp' , t ( " Content background transparency " ), (( isset ( $arr [ " contentbg_transp " ]) && $arr [ " contentbg_transp " ] != " " ) ? $arr [ " contentbg_transp " ] : 100 )],
'$background_image' => array_key_exists ( " background_image " , $disable ) ? " " : [ 'frio_background_image' , t ( 'Set the background image' ), $arr [ 'background_image' ], $background_image_help ],
2017-10-23 13:16:23 +00:00
'$bg_image_options' => Image :: get_options ( $arr ),
2018-01-15 13:05:12 +00:00
];
2018-01-14 18:19:24 +00:00
2018-01-15 13:05:12 +00:00
if ( array_key_exists ( " login_bg_image " , $arr ) && ! array_key_exists ( " login_bg_image " , $disable ) ) {
$ctx [ '$login_bg_image' ] = [ 'frio_login_bg_image' , t ( 'Login page background image' ), $arr [ 'login_bg_image' ], $background_image_help ];
2018-01-14 20:53:37 +00:00
}
2018-01-14 18:19:24 +00:00
$o .= replace_macros ( $t , $ctx );
2016-03-28 14:29:05 +00:00
return $o ;
}