This commit is contained in:
mynah
2018-07-18 04:28:26 -05:00
parent 0a7d71e21c
commit 4f0061cd7d
61 changed files with 1396 additions and 43 deletions

View File

@@ -33,6 +33,8 @@ sub startup {
$r->any('/json/:dreq')->to('data#simple');
$r->any('/json/candy/:command')->to('data#candy');
$r->any('/admin/:section'=> {section =>'home'})->to('home#admin');
$r->any('/login')->to('users#login');
$r->any('/logout')->to('users#logout');

View File

@@ -1,32 +1,36 @@
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;
my ($v,$w)= load_module($c);
# $c->stash($v);
$c->stash(d =>$v);
# $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($c))[0]);
$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($c);
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($c))[0]);
$c->stash((load_module("home/cal"))[0]);
my ($data,$block)=$c->dbv->cal;
my %hdata;
map{ push @{ $hdata{$_->{bid}} },$_; }(@$data);
@@ -35,65 +39,75 @@ sub cal {
sub event{
my $c = shift;
$c->stash((load_module($c))[0]);
$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{
my $dir= "/$c->{stash}{controller}/$c->{stash}{action}";
$c->stash( css=>["$dir/cssContact1.css"], js=>[]);
$c->stash( layout=>"default");
$c->stash((load_module("home/contact"))[0]);
}
}
sub contact2{
my $c = shift;
$c->redirect_to("home") unless $c->flash('mname');
my $dir= "/$c->{stash}{controller}/contact";
$c->stash( css=>["$dir/cssContact2.css"], js=>[]);
$c->stash( layout=>"default");
$c->stash( mname=>$c->flash('mname'));
$c->stash((load_module("home/contact2"))[0]);
}
sub store{
my $c = shift;
$c->stash((load_module($c))[0]);
$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($c))[0],
(load_module($c,"home/tv/trans"))[0]
(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($c))[0]);
$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($c))[0]);
$c->stash((load_module("home/radio"))[0]);
$c->stash(%{($c->dbv->radio)->[0]});
$c->stash($Dojo::Conf::radio);
$c->stash(nick=>$c->session("nick"));
}
#$c->render(text =>"$c->{match}->position");
#$c->render(text=>"$c->{stash}{controller}");
#$c->render(text=>"$c->{match}{stack}->[0]{controller}");
#$c->render(text=>"$h->{css}[0]");
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;

View File

@@ -5,9 +5,10 @@ use Dojo::Support qw{ merge_hash load_module };
sub login {
my $c = shift;
$c->stash((load_module($c))[0]);
$c->stash((load_module("users/login"))[0]);
my $user = $c->param('uname') // '';
my $pass = $c->param('pass') //'';
$c->stash(layout=>"defaultContact");
return $c->render unless my $pmid = $c->dbg->check($user, $pass);
$c->session(user => $user, pmid=>$pmid, nick=> $c->param('nick'));
$c->redirect_to('radio');

View File

@@ -14,31 +14,36 @@ sub new { bless {}, shift };
sub mod{
my $q="select nombre,contenido from casa;";
return \@{_read($q,$vuelo)};
return \@{_read($q)};
}
sub umod{
my $c=shift;
my $q="update casa set contenido = ? where nombre = 'mod' ;";
return _write($q,@_);
}
sub pang{
my ($c,$q)=@_;
return {map { basename($_,".md") => load_md("public/$_")}@{$q->{md}}};
}
sub cal {
my $block=_read (path("public/home/cal/q1Block.q")->slurp,$vuelo);
my $data=_read (path("public/home/cal/q3Event.q")->slurp,$vuelo);
my $block=_read (path("public/home/cal/q1Block.q")->slurp);
my $data=_read (path("public/home/cal/q3Event.q")->slurp);
return ($data,$block);
}
sub event{
my ($self,$id)=@_;
return _read (path("public/home/event/qEvent.q")->slurp,$vuelo,$id);
return _read (path("public/home/event/qEvent.q")->slurp,$id);
}
sub store{
return _read (path("public/home/store/qStore.q")->slurp,$vuelo);
return _read (path("public/home/store/qStore.q")->slurp);
}
sub tv{
my $series = _read (path("public/home/tv/qSeries.q")->slurp,$vuelo); #group,name
my $table = _read (path("public/home/tv/qTable.q")->slurp,$vuelo); #name,order,group
my $series = _read (path("public/home/tv/qSeries.q")->slurp); #group,name
my $table = _read (path("public/home/tv/qTable.q")->slurp); #name,order,group
return ($series,$table);
}
@@ -50,11 +55,11 @@ sub podcast{
sub radio{
my $q="select contenido as rmod from casa where nombre='rmod';";
return _read($q,$vuelo);
return _read($q);
}
sub _read{
my ($q,$d,@bind)=@_;
my ($q,@bind)=@_;
my (@empty,$arr);
my $dbh = DBI->connect("DBI:mysql:".Dojo::Conf::VUELODB.":".Dojo::Conf::VUELODB_H,Dojo::Conf::VUELODB_UR,Dojo::Conf::VUELODB_URP);
return \@empty unless($dbh);
@@ -64,6 +69,15 @@ sub _read{
$dbh->disconnect();
return $h;
}
sub _write{
my $q=shift;
my (@empty);
my $dbh = DBI->connect("DBI:mysql:".Dojo::Conf::VUELODB.":".Dojo::Conf::VUELODB_H,Dojo::Conf::VUELODB_UW,Dojo::Conf::VUELODB_UWP);
return 0 unless($dbh);
my $h=$dbh->do($q,{ Slice => {} },@_);
$dbh->disconnect();
return $h;
}
sub load_md{
return "" unless

View File

@@ -34,10 +34,9 @@ sub merge_hash{
}
sub load_module{
my $c=shift;
my $dir=shift //"$c->{stash}{controller}/$c->{stash}{action}";
my $dir=shift;
my $lpath= Dojo::Conf::MOD."/$dir";
my $h; $h->{js}=[]; $h->{css}=[]; #no me gusta!!!
my $h;
$h->{layout} = "default";
my $q;
my @s= get_names($lpath);