package Dojo::Controller::Home; use Mojo::Base 'Mojolicious::Controller'; use Mojo::Template; use Dojo::Support qw{ dmph merge_hash load_module }; 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"); } 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')); }; 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}); } 1;