diff options
author | Angelo Naselli <anaselli@linux.it> | 2014-01-27 18:20:30 +0100 |
---|---|---|
committer | Angelo Naselli <anaselli@linux.it> | 2014-01-27 18:20:30 +0100 |
commit | 1624ce382eb033c2cf3ef1fe6b9c41beb0b0a91b (patch) | |
tree | 1363e3d3bdcfa5b2ff3111a41b2c700a5a922140 /ConfigReader.pm | |
parent | f519e47d15103514585a272c6308467ac41ce551 (diff) | |
download | colin-keep-1624ce382eb033c2cf3ef1fe6b9c41beb0b0a91b.tar colin-keep-1624ce382eb033c2cf3ef1fe6b9c41beb0b0a91b.tar.gz colin-keep-1624ce382eb033c2cf3ef1fe6b9c41beb0b0a91b.tar.bz2 colin-keep-1624ce382eb033c2cf3ef1fe6b9c41beb0b0a91b.tar.xz colin-keep-1624ce382eb033c2cf3ef1fe6b9c41beb0b0a91b.zip |
Project structure change
Diffstat (limited to 'ConfigReader.pm')
-rw-r--r-- | ConfigReader.pm | 119 |
1 files changed, 0 insertions, 119 deletions
diff --git a/ConfigReader.pm b/ConfigReader.pm deleted file mode 100644 index d5ec8b1..0000000 --- a/ConfigReader.pm +++ /dev/null @@ -1,119 +0,0 @@ -# vim: set et ts=4 sw=4: -# Copyright 2012 Steven Tucker -# -# This file is part of AdminPanel -# -# AdminPanel is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 2 of the License, or -# (at your option) any later version. -# -# AdminPanel is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with AdminPanel. If not, see <http://www.gnu.org/licenses/>. - - -#Class ConfigReader -package ConfigReader; - -use strict; -use warnings; -use diagnostics; -use XML::Simple; -use Data::Dumper; - -sub new { - my ($class, $fileName) = @_; - - my $self = { - my $data = 0, - my $catLen = 0, - my $currCat = 0, - my $modLen = 0, - my $currMod = 0, - my $placeHolder = 0 - }; - bless $self, 'ConfigReader'; - - my $xml = new XML::Simple (KeyAttr=>[]); - $self->{data} = $xml->XMLin($fileName); - if (ref($self->{data}->{category}) eq "HASH") { - # one element alone - my @categories; - push @categories, $self->{data}->{category}; - $self->{data}->{category} = undef; - push @{$self->{data}->{category}}, @categories; - } - $self->{catLen} = scalar(@{$self->{data}->{category}}); - $self->{currCat} = -1; - - if(ref(@{$self->{data}->{category}}[0]->{module}) eq "ARRAY") { - $self->{modLen} = scalar(@{@{$self->{data}->{category}}[0]->{module}}); - } else { - $self->{modLen} = 1; - } - $self->{currMod} = -1; - - return $self; -} - -sub hasNextCat { - my ($self) = @_; - - if($self->{currCat} + 1 >= $self->{catLen}) { - return 0; - } - return 1; -} - -sub getNextCat { - my ($self) = @_; - - $self->{currCat}++; - if($self->{currCat} >= $self->{catLen}) { - return 0; - } - - # Reset the Module Count and Mod length for new Category - $self->{currMod} = -1; - if(ref(@{$self->{data}->{category}}[$self->{currCat}]->{module}) eq "ARRAY") { - $self->{modLen} = scalar(@{@{$self->{data}->{category}}[$self->{currCat}]->{module}}); - } else { - $self->{modLen} = 1; - } - - my $tmp = @{$self->{data}->{category}}[$self->{currCat}]; - - return $tmp; -} - -sub hasNextMod { - my ($self) = @_; - - if($self->{currMod} + 1 >= $self->{modLen}) { - return 0; - } - return 1; -} - -sub getNextMod { - my ($self) = @_; - - my $ret = 0; - - $self->{currMod}++; - - if($self->{modLen} == 1) { - $ret = @{$self->{data}->{category}}[$self->{currCat}]->{module}; - } else { - $ret = @{@{$self->{data}->{category} }[$self->{currCat}]->{module}}[$self->{currMod}]; - } - - return $ret; -} - -1; |