%{ skin_info($p) },
'phone_login' => $conf->exists('selfservice_server-phone_login'),
'single_domain'=> scalar($conf->config('selfservice_server-single_domain')),
+ 'banner_url' => scalar($conf->config('selfservice-login_banner_url')),
+ 'banner_image_md5' =>
+ md5_hex($conf->config_binary('selfservice-login_banner_image')),
);
return \%info;
}
+sub login_banner_image {
+ my $p = shift;
+ my $conf = new FS::Conf;
+ my $image = $conf->config_binary('selfservice-login_banner_image');
+ return {
+ 'md5' => md5_hex($image),
+ 'image' => $image,
+ };
+}
+
#false laziness w/FS::ClientAPI::passwd::passwd
sub login {
my $p = shift;
$FS::ClientAPI::DEBUG = $DEBUG;
#false laziness w/FS::SelfService/XMLRPC.pm, same problem as below but worse
+our %typefix_skin_info = (
+ 'logo' => 'base64',
+ 'title_left_image' => 'base64',
+ 'title_right_image' => 'base64',
+ 'menu_top_image' => 'base64',
+ 'menu_body_image' => 'base64',
+ 'menu_bottom_image' => 'base64',
+);
our %typefix = (
'invoice_pdf' => { 'invoice_pdf' => 'base64', },
'legacy_invoice_pdf' => { 'invoice_pdf' => 'base64', },
- 'skin_info' => { 'logo' => 'base64',
- 'title_left_image' => 'base64',
- 'title_right_image' => 'base64',
- 'menu_top_image' => 'base64',
- 'menu_body_image' => 'base64',
- 'menu_bottom_image' => 'base64',
- },
+ 'skin_info' => \%typefix_skin_info,
+ 'login_info' => \%typefix_skin_info,
'invoice_logo' => { 'logo' => 'base64', },
+ 'login_banner_image' => { 'image' => 'base64', },
);
sub AUTOLOAD {
'chfn' => 'passwd/passwd',
'chsh' => 'passwd/passwd',
'login_info' => 'MyAccount/login_info',
+ 'login_banner_image' => 'MyAccount/login_banner_image',
'login' => 'MyAccount/login',
'logout' => 'MyAccount/logout',
'switch_acct' => 'MyAccount/switch_acct',
},
{
+ 'key' => 'selfservice-login_banner_image',
+ 'section' => 'self-service',
+ 'description' => 'Banner image shown on the login page, in PNG format.',
+ 'type' => 'image',
+ },
+
+ {
+ 'key' => 'selfservice-login_banner_url',
+ 'section' => 'self-service',
+ 'description' => 'Link for the login banner.',
+ 'type' => 'text',
+ },
+
+ {
'key' => 'selfservice-bulk_format',
'section' => 'deprecated',
'description' => 'Parameter arrangement for selfservice bulk features',
'chfn' => 'passwd/passwd',
'chsh' => 'passwd/passwd',
'login_info' => 'MyAccount/login_info',
+ 'login_banner_image' => 'MyAccount/login_banner_image',
'login' => 'MyAccount/login',
'logout' => 'MyAccount/logout',
'switch_acct' => 'MyAccount/switch_acct',
$FS::SelfService::DEBUG = $DEBUG;
#false laziness w/FS::ClientAPI_XMLRPC.pm
+our %typefix_skin_info = (
+ 'logo' => 'base64',
+ 'title_left_image' => 'base64',
+ 'title_right_image' => 'base64',
+ 'menu_top_image' => 'base64',
+ 'menu_body_image' => 'base64',
+ 'menu_bottom_image' => 'base64',
+);
our %typefix = (
'invoice_pdf' => { 'invoice_pdf' => 'base64', },
'legacy_invoice_pdf' => { 'invoice_pdf' => 'base64', },
- 'skin_info' => { 'logo' => 'base64',
- 'title_left_image' => 'base64',
- 'title_right_image' => 'base64',
- 'menu_top_image' => 'base64',
- 'menu_body_image' => 'base64',
- 'menu_bottom_image' => 'base64',
- },
- 'invoice_logo' => { 'logo' => 'base64', },
+ 'skin_info' => \%typefix_skin_info,
+ 'login_info' => \%typefix_skin_info,
+ 'invoice_logo' => { 'logo' => 'base64', },
+ 'login_banner_image' => { 'image' => 'base64', },
);
sub AUTOLOAD {