Files
dojo/lib/Dojo/Controller/Home.pm
2018-07-19 03:45:46 -05:00

162 lines
4.3 KiB
Perl

package Dojo::Controller::Home;
use Mojo::Base 'Mojolicious::Controller';
use Mojo::Template;
use Dojo::Support qw{ log dmph merge_hash load_module get_names};
use Dojo::Conf;
sub tst{
my $c=shift;
# $c->stash( merge_hash(
# (load_module("home/tst"))[0],
# (load_module("home/contact"))[0]
#));
# $c->stash(apend => ["home/contact"]);
$c->stash( (load_module("home/tst"))[0] );
$c->stash(layout=> "defaultContact");
my $x = [get_names("public/home/cal/img/")];
log("@$x");
$c->stash( ilist => $x);
}
sub home {
my $c = shift;
$c->stash((load_module("home/home"))[0]);
$c->stash( map{ $_->{nombre} => $_->{contenido}} @{$c->dbv->mod});
}
sub pang {
my $c = shift;
my ($v,$w)=load_module("home/pang");
$c->stash($v);
$c->stash( $c->dbv->pang($w) );
}
sub cal {
my $c = shift;
$c->stash((load_module("home/cal"))[0]);
my ($data,$block)=$c->dbv->cal;
my %hdata;
map{ push @{ $hdata{$_->{bid}} },$_; }(@$data);
$c->stash( r=>\%hdata, b=>$block);
}
sub event{
my $c = shift;
$c->stash((load_module("home/event"))[0]);
$c->stash(%{($c->dbv->event($c->param("id")))->[0]});
$c->stash(layout=> "defaultContact");
}
sub contact{
my $c = shift;
if ($c->param("mup")){
$c->flash(mname => $c->param("mname"));
$c->redirect_to('contact2');
}else{
$c->stash((load_module("home/contact"))[0]);
}
}
sub contact2{
my $c = shift;
$c->redirect_to("home") unless $c->flash('mname');
$c->stash( mname=>$c->flash('mname'));
$c->stash((load_module("home/contact2"))[0]);
}
sub store{
my $c = shift;
$c->stash((load_module("home/store"))[0]);
$c->stash( r=>$c->dbv->store);
$c->stash(layout=> "defaultContact");
}
sub tv{
my $c = shift;
$c->stash( merge_hash(
(load_module("home/tv"))[0],
(load_module("home/tv/trans"))[0]
));
my ($series,$table)=$c->dbv->tv;
$c->stash( series=>$series, table=>$table);
$c->stash(layout=> "defaultContact");
}
sub podcast{
my $c = shift;
$c->stash((load_module("home/podcast"))[0]);
my ($txt,$h)=$c->dbv->podcast;
$c->stash( t=>$txt, pod=>$h,);
$c->stash(layout=> "defaultContact");
}
sub radio{
my $c=shift;
$c->stash((load_module("home/radio"))[0]);
$c->stash(%{($c->dbv->radio)->[0]});
$c->stash($Dojo::Conf::radio);
$c->stash(nick=>$c->session("nick"));
}
sub admin{
my $c=shift;
if (($c->param("hup") // " " )=~/Cambiar/){
$c->dbv->umod($c->param('link'),$c->param('update'));
}
### ¡¡aqui me quede!! puedo hacerlo mas facil con router!!!! ###
if ( $c->param("update") // 0 ) ==1 ){
if ($c->param("id") // 1 ) == 0) ){
$c->dbv->eup($c) if (($c->param("eup") // " " )=~/Aceptar/)
elsif(($c->param("cup") // " " )=~/Aceptar/){ $c->dbv->cup($c); }
elsif(($c->param("pup") // " " )=~/Aceptar/){ $c->dbv->pup($c); }
else{
elsif(($c->param("eup") // " " )=~/Aceptar/){ $c->dbv->ech($c); }
elsif(($c->param("cup") // " " )=~/Aceptar/){ $c->dbv->cch($c); }
elsif(($c->param("pup") // " " )=~/Aceptar/){ $c->dbv->pch($c); }
elsif(($c->param("edel") // " " )=~/Eliminar/){ $c->dbv->edel($c); }
elsif(($c->param("cdel") // " " )=~/Eliminar/){ $c->dbv->cdel($c); }
elsif(($c->param("pdel") // " " )=~/Eliminar/){ $c->dbv->pdel($c); };
}
if ($c->param("section")=~/home/){
my $v=(load_module("home/admin"))[0];
my ($x,$w)= load_module("home/admin/home");
$c->stash( merge_hash($x,$v) );
$c->stash(apend => ["home/admin/home"]);
$c->stash( map{ $_->{nombre} => $_->{contenido}} @{$c->dbv->mod});
}
elsif ( $c->param("section")=~/radio/ ){
$c->stash( merge_hash(
(load_module("home/admin"))[0],
(load_module("home/admin/radio"))[0],
(load_module("home/admin/candySwitch"))[0],
));
$c->stash(apend => ["home/admin/radio","home/admin/candySwitch"]);
$c->stash(%{($c->dbv->radio)->[0]});
$c->stash($Dojo::Conf::radio);
}
elsif ( $c->param("section")=~/mensajes/ ){
$c->stash(merge_hash(
(load_module("home/admin"))[0],
(load_module("home/admin/mensajes"))[0]
));
$c->stash(apend => ["home/admin/mensajes"]);
my $h = $c->dbv->rmsg;
$c->stash( h=>$h );
}
elsif ( $c->param("section")=~/event/ ){
$c->stash(merge_hash(
(load_module("home/admin"))[0],
(load_module("home/admin/event"))[0]
));
$c->stash(apend => ["home/admin/event"]);
$c->stash( $c->dbv->admevent );
}
}
1;