Diff -- /var/www/vhosts/3dshawn.com/admin.3dshawn.com/MODS/MetaAdmin/Config.pm

O Operator
Diff

/var/www/vhosts/3dshawn.com/admin.3dshawn.com/MODS/MetaAdmin/Config.pm

added on local at 2026-07-10 15:05:21

Added
+0
lines
Removed
-0
lines
Context
62
unchanged
Blobs
from d92bd109a3ee
to d92bd109a3ee
Restore this content →
Unified diff
Naive LCS-based line diff. Additions in emerald, deletions in rose. Both sides decompressed live from BLOB_STORE.
11package MODS::MetaAdmin::Config;
22#======================================================================
33# Meta-Admin -- platform_settings reader with code-defaults fallback.
44# Mirrors the pattern in every other site's Config module so calls
55# like $cfg->settings('brand_name') Just Work.
66#======================================================================
77use strict;
88use warnings;
99
1010my %DEFAULTS = (
1111 database_name => 'admin3dshawn',
1212 brand_name => 'Meta-Admin',
1313 brand_tagline => 'One console. Every site.',
1414 cookie_name => 'meta_session',
1515 session_minutes => 720,
1616 # Let's Encrypt cert provisioned 2026-07-09 -- Secure flag now safe.
1717 secure_cookies => 1,
1818 cookie_domain => '.admin.3dshawn.com',
1919 assets => '/assets',
2020 assets_css => '/assets/css',
2121 assets_images => '/assets/images',
2222 # AES key used to encrypt site_connections.db_pass_enc. Rotating
2323 # invalidates every saved site password (re-enter via /sites.cgi).
2424 site_conn_enc_key => 'aE7wQz5mLp2RvNxK8jHfYsT3uXbWcD1gC0iVnB-aJkOiPyDhRoSlFwUaKuTzM',
2525);
2626
2727my %_DB_CACHE;
2828
2929sub new { return bless({}, shift); }
3030
3131sub settings {
3232 my ($self, $key) = @_;
3333 return $DEFAULTS{database_name} if $key eq 'database_name';
3434
3535 return $_DB_CACHE{$key} if exists $_DB_CACHE{$key};
3636
3737 # DB lookup -- silent fail to code defaults if the table or
3838 # connection isn't ready.
3939 eval {
4040 require MODS::DBConnect;
4141 my $db = MODS::DBConnect->new;
4242 my $dbh = $db->db_connect();
4343 if ($dbh) {
4444 my $key_q = $key; $key_q =~ s/'/''/g;
4545 my $sth = $dbh->prepare(
4646 "SELECT setting_value FROM platform_settings WHERE setting_key='$key_q' LIMIT 1"
4747 );
4848 if ($sth && $sth->execute) {
4949 if (my $r = $sth->fetchrow_hashref) {
5050 $_DB_CACHE{$key} = $r->{setting_value};
5151 }
5252 $sth->finish; # release cursor so db_disconnect is clean
5353 }
5454 $db->db_disconnect($dbh);
5555 }
5656 };
5757 return $_DB_CACHE{$key} if exists $_DB_CACHE{$key};
5858
5959 return $DEFAULTS{$key};
6060}
6161
62621;