Changeset 1769 for branches/release-33/lib/MT/ConfigMgr.pm
- Timestamp:
- 04/04/08 06:08:04 (19 months ago)
- Files:
-
- 1 modified
-
branches/release-33/lib/MT/ConfigMgr.pm (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/release-33/lib/MT/ConfigMgr.pm
r1174 r1769 17 17 18 18 sub new { 19 my $mgr = bless { __var => { }, __dbvar => { }, __paths => [] }, $_[0];19 my $mgr = bless { __var => { }, __dbvar => { }, __paths => [], __dirty => 0 }, $_[0]; 20 20 $mgr->init; 21 21 $mgr; … … 162 162 $mgr->{$set}{$var} = $val; 163 163 } 164 $mgr->set_dirty() if defined($_[2]) && $_[2]; 164 165 } 165 166 … … 186 187 } 187 188 189 sub set_dirty { 190 my $mgr = shift; 191 $mgr = $mgr->instance unless ref($mgr); 192 $mgr->{__dirty} = 1; 193 } 194 195 sub clear_dirty { 196 my $mgr = shift; 197 $mgr = $mgr->instance unless ref($mgr); 198 $mgr->{__dirty} = 0; 199 } 200 201 sub is_dirty { 202 my $mgr = shift; 203 $mgr = $mgr->instance unless ref($mgr); 204 $mgr->{__dirty}; 205 } 206 188 207 sub save_config { 189 208 my $class = shift; 190 209 my $mgr = $class->instance; 210 return 0 unless $mgr->is_dirty(); 191 211 my $data = ''; 192 212 my $settings = $mgr->{__dbvar}; … … 220 240 $config->data($data); 221 241 $config->save or die $config->errstr; 242 $mgr->clear_dirty; 243 1; 222 244 } 223 245
