concat inferno

This commit is contained in:
mynah
2018-07-20 05:16:47 -05:00
parent e25fc46010
commit ef16d6f7b5
19 changed files with 518 additions and 423 deletions

View File

@@ -6,42 +6,55 @@ use Dojo::Model::Users;
use Dojo::Model::Data; use Dojo::Model::Data;
# This method will run once at server start # This method will run once at server start
sub startup { sub startup {
my $self = shift; my $self = shift;
my $config = $self->plugin('Config'); #Config hash dojo.conf my $config = $self->plugin('Config'); #Config hash dojo.conf
$self->plugin('PODRenderer') if $config->{perldoc}; #doc $self->plugin('PODRenderer') if $config->{perldoc}; #doc
$self->secrets(['Mojojojo jojo']); #cookies $self->secrets(['Mojojojo jojo']); #cookies
$self->helper(dbv => sub { state $dbv = Dojo::Model::Vuelo->new }); $self->helper(dbv => sub { state $dbv = Dojo::Model::Vuelo->new });
$self->helper(dbg => sub { state $dbg = Dojo::Model::Users->new }); $self->helper(dbg => sub { state $dbg = Dojo::Model::Users->new });
$self->helper(ddtt => sub { state $ddtt = Dojo::Model::Data->new }); $self->helper(ddtt => sub { state $ddtt = Dojo::Model::Data->new });
$self->defaults({%Dojo::Conf::def}); $self->defaults({%Dojo::Conf::def});
my $r = $self->routes; #router
my $r = $self->routes; #router # user ========================================================================
$r->any('/home')->to('home#home');
$r->any('/cal')->to('home#cal');
$r->any('/event/:id'=> [id => qr/\d+/])->to('home#event');
$r->any('/pod')->to('home#podcast');
$r->any('/store')->to('home#store');
$r->any('/tv')->to('home#tv');
$r->any('/contact')->to('home#contact');
$r->any('/contact2')->to('home#contact2');
$r->any('/pang')->to('home#pang');
$r->any('/tst')->to('home#tst');
# =============================================================================
$r->any('/home')->to('home#home'); # json ========================================================================
$r->any('/cal')->to('home#cal'); $r->any('/json/:dreq')->to('data#simple');
$r->any('/event/:id'=> [id => qr/\d+/])->to('home#event'); # =============================================================================
#$r->any('/radio')->to('home#radio');
$r->any('/pod')->to('home#podcast');
$r->any('/store')->to('home#store');
$r->any('/tv')->to('home#tv');
$r->any('/contact')->to('home#contact');
$r->any('/contact2')->to('home#contact2');
$r->any('/pang')->to('home#pang');
$r->any('/tst')->to('home#tst');
$r->any('/json/:dreq')->to('data#simple'); # candy =======================================================================
$r->any('/json/candy/:command')->to('data#candy'); $r->any('/json/candy/:command')->to('data#candy');
# =============================================================================
$r->any('/admin/:section'=> {section =>'home'})->to('home#admin'); # admin =======================================================================
$r->any('/admin/json/:dreq/:id/')->to('data#admin'); $r->any('/admin/home')->to('home#admin_home');
$r->any('/admin/radio')->to('home#admin_radio');
$r->any('/admin/eventos')->to('home#admin_eventos');
$r->any('/admin/eventos/:type'=> [type=>['e','p','c']])->to('home#admin_eventos');
$r->any('/admin/mensajes')->to('home#admin_mensajes');
$r->any('/admin/json/:dreq/:id')->to('home#admin_json');
# =============================================================================
$r->any('/login')->to('users#login'); # login =======================================================================
$r->any('/logout')->to('users#logout'); $r->any('/login')->to('users#login');
$r->any('/logout')->to('users#logout');
my $logged_in = $r->under('/')->to('users#is_logged'); my $logged_in = $r->under('/')->to('users#is_logged');
$logged_in->get('/radio')->to('home#radio'); $logged_in->get('/radio')->to('home#radio');
# =============================================================================
} }

View File

@@ -16,146 +16,202 @@ sub tst{
my $x = [get_names("public/home/cal/img/")]; my $x = [get_names("public/home/cal/img/")];
log("@$x"); log("@$x");
$c->stash( ilist => $x); $c->stash( ilist => $x);
$c->dbv->tst;
} }
sub home { # User ========================================================================
my $c = shift; sub home {
$c->stash((load_module("home/home"))[0]); my $c = shift;
$c->stash( map{ $_->{nombre} => $_->{contenido}} @{$c->dbv->mod}); $c->stash((load_module("home/home"))[0]);
} $c->stash( $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{ sub pang {
my $c = shift; my $c = shift;
$c->redirect_to("home") unless $c->flash('mname'); my ($v,$w)=load_module("home/pang");
$c->stash( mname=>$c->flash('mname')); $c->stash($v);
$c->stash((load_module("home/contact2"))[0]); $c->stash( $c->dbv->md_to_hash(@{$w->{'md'}}) );
}
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{ sub cal {
elsif(($c->param("eup") // " " )=~/Aceptar/){ $c->dbv->ech($c); } my $c = shift;
elsif(($c->param("cup") // " " )=~/Aceptar/){ $c->dbv->cch($c); } $c->stash((load_module("home/cal"))[0]);
elsif(($c->param("pup") // " " )=~/Aceptar/){ $c->dbv->pch($c); } my $data=$c->dbv->calendar_events;
elsif(($c->param("edel") // " " )=~/Eliminar/){ $c->dbv->edel($c); } my $block=$c->dbv->calendar_monthblock;
elsif(($c->param("cdel") // " " )=~/Eliminar/){ $c->dbv->cdel($c); } my %hdata;
elsif(($c->param("pdel") // " " )=~/Eliminar/){ $c->dbv->pdel($c); }; map{ push @{ $hdata{$_->{bid}} },$_; }(@$data);
$c->stash( r=>\%hdata, b=>$block);
} }
if ($c->param("section")=~/home/){
my $v=(load_module("home/admin"))[0]; sub event{
my ($x,$w)= load_module("home/admin/home"); my $c = shift;
$c->stash( merge_hash($x,$v) ); $c->stash((load_module("home/event"))[0]);
$c->stash(apend => ["home/admin/home"]); $c->stash(layout=> "defaultContact");
$c->stash( map{ $_->{nombre} => $_->{contenido}} @{$c->dbv->mod}); $c->stash($c->dbv->event($c->param("id")));
} }
elsif ( $c->param("section")=~/radio/ ){
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]
));
$c->stash( videos=>$c->dbv->tv_videos, table=>$c->dbv->tv_series);
$c->stash(layout=> "defaultContact");
}
sub podcast{
my $c = shift;
$c->stash((load_module("home/podcast"))[0]);
$c->stash(layout=> "defaultContact");
$c->stash( t=>$c->dbv->podcast_txt, pod=>$c->dbv->podcast_infoHash);
}
sub radio{
my $c=shift;
$c->stash((load_module("home/radio"))[0]);
$c->stash(layout=> "defaultContact");
$c->stash($c->dbv->mod);
$c->stash($c->dbv->conf_radio);
$c->stash(nick=>$c->session("nick"));
}
#==============================================================================
# Admin =======================================================================
sub admin_home{
my $c=shift;
$c->dbv->umod($c->param('link'),$c->param('update'))
if (($c->param("hup") // " " )=~/Cambiar/);
$c->stash((load_module("home/admin/home"))[0]);
$c->stash(template=>"home/admin/home");
$c->stash(layout=>"admin");
$c->stash( $c->dbv->mod);
}
sub admin_radio{
my $c=shift;
$c->dbv->umod($c->param('link'),'rmod')
if (($c->param("hup") // " " )=~/Cambiar/);
$c->stash($c->dbv->mod);
$c->stash($c->dbv->conf_radio);
$c->stash( merge_hash( $c->stash( merge_hash(
(load_module("home/admin"))[0],
(load_module("home/admin/radio"))[0], (load_module("home/admin/radio"))[0],
(load_module("home/admin/candySwitch"))[0], (load_module("home/admin/candySwitch"))[0],
)); ));
$c->stash(apend => ["home/admin/radio","home/admin/candySwitch"]); $c->stash(apend => ["home/admin/candySwitch"]);
$c->stash(%{($c->dbv->radio)->[0]}); $c->stash(template=>"home/admin/radio");
$c->stash($Dojo::Conf::radio); $c->stash(layout=>"admin");
}
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 );
} }
} sub admin_mensajes{
my $c=shift;
$c->stash((load_module("home/admin/mensajes"))[0]);
$c->stash( h=>$c->dbv->msg_heads);
$c->stash(template=>"home/admin/mensajes");
$c->stash(layout=>"admin");
}
sub admin_eventos{
my $c=shift;
if ( (my $t=$c->param('type') // "") =~/[ecp]/){
my $id=$c->param('id');
my $req=$c->param('req');
if ( $req eq "Eliminar"){
$c->dbv->event_del($id) if ($t eq 'e');
$c->dbv->course_del($id) if ($t eq 'c');
$c->dbv->place_del($id) if ($t eq 'p');
}
elsif( $req eq "Aceptar"){
if($t eq 'e'){
my @list=map{$c->param($_)}qw/eplace yini mini dini yend mend dend cost promo pen ecourse eimg een id/;
$c->dbv->event_up(@list) if ($id ==0);
$c->dbv->event_ch(@list) if ($id >0);
}
if($t eq 'c'){
my @list=map{$c->param($_)}qw/cname csubjects cservices cen id/;
$c->dbv->course_up(@list) if ($id ==0);
$c->dbv->course_ch(@list) if ($id >0);
}
if($t eq 'p'){
my @list=map{$c->param($_)}qw/pname paddr pobs pto pst pco plat plng pen id/;
$c->dbv->place_up(@list) if ($id ==0);
$c->dbv->place_ch(@list) if ($id >0);
}
}
$c->redirect_to("/admin/eventos");
}
$c->stash(
courses=>$c->dbv->courses,
places=>$c->dbv->places,
months=>$c->dbv->months,
events=>$c->dbv->events,
img=>$c->dbv->eimgList,
);
$c->stash((load_module("home/admin/event"))[0]);
$c->stash(template=>"home/admin/event");
$c->stash(layout=>"admin");
}
sub admin_json{
my $c=shift;
my $id = $c->param('id');
my $req = $c->param('dreq');
my $json = "304";
$json = $c->dbv->msg($id) if $req=~/mensaje/;
$json = $c->dbv->course($id) if $req=~/course/;
$json = $c->dbv->place($id) if $req=~/place/;
$json = $c->dbv->eventa($id) if $req=~/event/;
$c->render(json=>$json);
}
# if (($c->param("id") // " " ) eq "0") {
# $c->dbv->eup if (($c->param("eup") // " " ) =~/Aceptar/);
# $c->dbv->cup if (($c->param("cup") // " " ) =~/Aceptar/);
# $c->dbv->pup if (($c->param("pup") // " " ) =~/Aceptar/);
# }
# else{
# if (($c->param("cup") // " " )=~/Aceptar/){ $c->dbv->cch; }
# elsif (($c->param("eup") // " " )=~/Aceptar/){ $c->dbv->ech; }
# elsif (($c->param("pup") // " " )=~/Aceptar/){ $c->dbv->pch; }
# elsif (($c->param("edel") // " " )=~/Eliminar/){ $c->dbv->edel; }
# elsif (($c->param("cdel") // " " )=~/Eliminar/){ $c->dbv->cdel; }
# elsif (($c->param("pdel") // " " )=~/Eliminar/){ $c->dbv->pdel; }
#}};
#}
#}
#==============================================================================
1; 1;

View File

@@ -1,7 +1,9 @@
package Dojo::Model::Vuelo; package Dojo::Model::Vuelo;
use Mojo::File 'path'; use Mojo::File 'path';
use Mojo::JSON qw(decode_json encode_json); use Mojo::JSON qw(decode_json encode_json);
use Dojo::Support qw{ dmph merge_hash load_module get_names}; use Dojo::Support qw{ log dmph merge_hash load_module get_names};
use Mojo::Base 'Mojolicious::Controller';
use File::Basename; use File::Basename;
use Text::Markdown qw{ markdown }; use Text::Markdown qw{ markdown };
@@ -12,128 +14,150 @@ use Dojo::Conf;
sub new { bless {}, shift }; sub new { bless {}, shift };
sub mod{ # Read vdg user ===============================================================
my $q="select nombre,contenido from casa;"; sub mod{
return \@{_read($q)}; my $q="select nombre,contenido from casa;";
} my %h=map{ $_->{nombre} => $_->{contenido}}@{_read($q)};
return %h;
}
sub pang{ sub md_to_hash{
my ($c,$q)=@_; my ($self,@filelist)=@_;
return {map { basename($_,".md") => load_md("public/$_")}@{$q->{md}}}; return {map { basename($_,".md") => load_md("public/$_")}@filelist};
} }
sub cal {
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{ sub calendar_monthblock {
my ($self,$id)=@_; return _read (path("public/home/cal/q1Block.q")->slurp);
return _read (path("public/home/event/qEvent.q")->slurp,$id); }
} sub calendar_events {
return _read (path("public/home/cal/q3Event.q")->slurp);
}
sub store{ sub event{
return _read (path("public/home/store/qStore.q")->slurp); my ($self,$id)=@_;
} return shift @{ _read (path("public/home/event/qEvent.q")->slurp,$id)};
}
sub store{
return _read (path("public/home/store/qStore.q")->slurp);
}
sub tv_videos{
return _read (path("public/home/tv/qSeries.q")->slurp); #group,name
}
sub tv_series{
return _read (path("public/home/tv/qTable.q")->slurp); #name,order,group
}
sub podcast_txt{
return path("public/home/podcast/text.txt")->slurp;
}
sub podcast_infoHash{
return decode_json path("public/home/podcast/jsonPod.json")->slurp;
}
sub conf_radio{
return $Dojo::Conf::radio;
}
#==============================================================================
sub tv{ # Read vdg admin ==============================================================
my $series = _read (path("public/home/tv/qSeries.q")->slurp); #group,name sub msg_heads{
my $table = _read (path("public/home/tv/qTable.q")->slurp); #name,order,group my ($self,@bind)=@_;
return ($series,$table); my @empty;
} my $q= path("public/home/admin/mensajes/qEntries.q")->slurp;
my $dbh = DBI->connect("DBI:mysql:".Dojo::Conf::MSGDB.":".Dojo::Conf::MSGDB_H,Dojo::Conf::MSGDB_UR,Dojo::Conf::MSGDB_URP);
return \@empty unless($dbh);
my $h=$dbh->selectall_arrayref($q,{ Slice => {} },@bind);
#((col1=>d1,col2=>d1),(col1=>d2,col2=>d2))
$dbh->disconnect();
return $h;
}
sub podcast{ sub msg{
my $txt = path("public/home/podcast/text.txt")->slurp; my ($c,@bind)=@_;
my $hash = decode_json path("public/home/podcast/jsonPod.json")->slurp; my @empty;
return ($txt,$hash); my $q= path("public/home/admin/mensajes/json/qGetInfo.q")->slurp;
} my $dbh = DBI->connect("DBI:mysql:".Dojo::Conf::MSGDB.":".Dojo::Conf::MSGDB_H,Dojo::Conf::MSGDB_UR,Dojo::Conf::MSGDB_URP);
return \@empty unless($dbh);
my $h=$dbh->selectall_arrayref($q,{ Slice => {} },@bind);
#((col1=>d1,col2=>d1),(col1=>d2,col2=>d2))
$dbh->disconnect();
return shift @$h;
}
sub courses{ return _read("select nombre as name, id from curso;")}
sub course { return shift @{_read(path("public/home/admin/event/json/qCourse.q")->slurp,pop)}}
sub places { return _read("select nombre as name, id from lugar;")}
sub place { return shift @{_read(path("public/home/admin/event/json/qPlace.q")->slurp,pop)}}
sub months { return _read("select nombre as name, id from mes;")};
sub events { return _read(path("public/home/admin/event/qEprev.q")->slurp)}
sub eventa { return shift @{_read(path("public/home/admin/event/json/qEvent.q")->slurp,pop)}}
sub eimgList{ return [get_names("public/home/cal/img/")] }
#==============================================================================
# Write vdg admin ==============================================================
sub umod{
my $c=shift;
my $q="update casa set contenido = ? where nombre = ? ;";
return _write($q,@_);
}
sub radio{ sub event_del { return _write("delete from evento where id = ?;",pop);}
my $q="select contenido as rmod from casa where nombre='rmod';"; sub course_del{ return _write("delete from curso where id = ?;",pop); }
return _read($q); sub place_del { return _write("delete from lugar where id = ?;",pop); }
}
sub event_up{
my ($self,@bind)=@_;
return _write(path("public/home/admin/event/add/qEup.q")->slurp,@bind);
}
sub course_up{
my ($self,@bind)=@_;
return _write(path("public/home/admin/event/add/qCup.q")->slurp,@bind);
}
sub place_up{
my ($self,@bind)=@_;
return _write(path("public/home/admin/event/add/qPup.q")->slurp,@bind);
}
sub event_ch{
my ($self,@bind)=@_;
return _write(path("public/home/admin/event/change/qEup.q")->slurp,@bind);
}
sub course_ch{
my ($self,@bind)=@_;
return _write(path("public/home/admin/event/change/qCup.q")->slurp,@bind);
}
sub place_ch{
my ($self,@bind)=@_;
return _write(path("public/home/admin/event/change/qPup.q")->slurp,@bind);
}
sub umod{ #==============================================================================
my $c=shift;
my $q="update casa set contenido = ? where nombre = ? ;";
return _write($q,@_);
}
# admin =================================0
sub urmod{
my $c=shift;
my $q="update casa set contenido = ? where nombre = ? ;";
return _write($q,@_);
}
sub rmsg{
my @empty;
my $q= path("public/home/admin/mensajes/qEntries.q")->slurp;
my $dbh = DBI->connect("DBI:mysql:".Dojo::Conf::MSGDB.":".Dojo::Conf::MSGDB_H,Dojo::Conf::MSGDB_UR,Dojo::Conf::MSGDB_URP);
return \@empty unless($dbh);
my $h=$dbh->selectall_arrayref($q,{ Slice => {} },@bind);
#((col1=>d1,col2=>d1),(col1=>d2,col2=>d2))
$dbh->disconnect();
return $h;
}
sub rmsgid{
my ($c,@bind)=@_;
my @empty;
my $q= path("public/home/admin/mensajes/json/qGetInfo.q")->slurp;
my $dbh = DBI->connect("DBI:mysql:".Dojo::Conf::MSGDB.":".Dojo::Conf::MSGDB_H,Dojo::Conf::MSGDB_UR,Dojo::Conf::MSGDB_URP);
return \@empty unless($dbh);
my $h=$dbh->selectall_arrayref($q,{ Slice => {} },@bind);
#((col1=>d1,col2=>d1),(col1=>d2,col2=>d2))
$dbh->disconnect();
return $h;
}
sub admevent{
my $h = {
ecourse=>_read("select nombre as name, id from curso;"),
eplace =>_read("select nombre as name, id from lugar;"),
emini =>_read("select nombre as name, id from mes;"),
ilist => [get_names("public/home/cal/img/")],
eprev =>_read(path("public/home/admin/event/qEprev.q")->slurp),
};
return $h
}
# json ======
sub ecourse{
my ($c,@id)=@_;
return _read(path("public/home/admin/event/json/qEvent.q")->slurp,@id);
}
sub qcourse{
my ($c,@id)=@_;
return _read(path("public/home/admin/event/json/qCourse.q")->slurp,@id);
}
sub qplace{
my ($c,@id)=@_;
return _read(path("public/home/admin/event/json/qPlace.q")->slurp,@id);
}
#============
#Change =====
#============
#ayudas ===================================== #ayudas =====================================
sub tst{
my $c=shift;
my $d=$c->param('n');
log("------log-------");
log("$d");
log("------log-------");
return 0;
}
sub _read{ sub _read{
my ($q,@bind)=@_; my ($q,@bind)=@_;
my (@empty,$arr); my @empty;
my $dbh = DBI->connect("DBI:mysql:".Dojo::Conf::VUELODB.":".Dojo::Conf::VUELODB_H,Dojo::Conf::VUELODB_UR,Dojo::Conf::VUELODB_URP); 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); return \@empty unless($dbh);
#$dbh->do(qq{SET NAMES 'utf8'});
my $h=$dbh->selectall_arrayref($q,{ Slice => {} },@bind); my $h=$dbh->selectall_arrayref($q,{ Slice => {} },@bind);
#((col1=>d1,col2=>d1),(col1=>d2,col2=>d2))
$dbh->disconnect(); $dbh->disconnect();
#((col1=>d1,col2=>d1),(col1=>d2,col2=>d2))
return $h; return $h;
} }
sub _write{ sub _write{
my $q=shift; my ($q,@bind)=@_;
my (@empty); my (@empty);
my $dbh = DBI->connect("DBI:mysql:".Dojo::Conf::VUELODB.":".Dojo::Conf::VUELODB_H,Dojo::Conf::VUELODB_UW,Dojo::Conf::VUELODB_UWP); 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); return 0 unless($dbh);
my $h=$dbh->do($q,{ Slice => {} },@_); my $h=$dbh->do($q,{ Slice => {} },@bind);
$dbh->disconnect(); $dbh->disconnect();
log("db write: $h");
return $h; return $h;
} }

View File

@@ -15,7 +15,7 @@ use Mojo::Log;
sub log{ sub log{
my $log = Mojo::Log->new; my $log = Mojo::Log->new;
$log->debug(shift); $log->debug("============ ".shift." ===========");
} }
sub get_names{ sub get_names{
my $dir = shift; my $dir = shift;

View File

@@ -1,14 +1,14 @@
insert into evento insert into evento
(lugar_id, fecha_inicio, fecha_fin,precio,curso_id,imagen_chica,estado,promocion,promo_estado) (lugar_id, fecha_inicio, fecha_fin, precio, promocion, promo_estado, curso_id, imagen_chica, estado)
values( values(
?, # eplace ?, # eplace
" ?-?-? ", # yini - mini - dini concat(?,"-",?,"-",?), # yini - mini - dini
" ?-?-? ", # yend - mend - dend concat(?,"-",?,"-",?), # yend - mend - dend
?, # cost , ?, # cost ,
?, # promo ,
case ? when "on" then 1 else 0 end, # pen
?, # ecourse , ?, # ecourse ,
?, # eimg , ?, # eimg ,
case ? when "on" then 1 else 0 end, # een case ? when "on" then 1 else 0 end # een
?, # promo ,
case ? when "on" then 1 else 0 end # pen
); );

View File

@@ -7,8 +7,8 @@
?, # pto ?, # pto
?, # pst ?, # pst
?, # pco ?, # pco
?, # lat ?, # plat
?, # lng ?, # plng
case ? when "on" then 1 else 0 end #pen case ? when "on" then 1 else 0 end #pen
); );

View File

@@ -1,12 +1,12 @@
update evento set update evento set
lugar_id = ?, # eplace , lugar_id = ?, # eplace
fecha_inicio='?-?-?', # yini - mini - dini ', fecha_inicio = concat(?,"-",?,"-",?), # yini - mini - dini
fecha_fin='?-?-?', # yend - mend - dend ', fecha_fin = concat(?,"-",?,"-",?), # yend - mend - dend
precio= ?, # cost , precio = ?, # cost
promocion= ?, # promo , promocion = ?, # promo
promo_estado = case ? when "on" then 1 else 0 end, #pen promo_estado = case ? when "on" then 1 else 0 end, #pen
curso_id= ?, # ecourse , curso_id = ?, # ecourse
imagen_chica= ?, # eimg , imagen_chica = ?, # eimg
estado = case ? when "on" then 1 else 0 end # een estado = case ? when "on" then 1 else 0 end # een
where id = ?; # eprev ; where id = ?; # eprev

View File

@@ -22,48 +22,48 @@ d3.select("select#eimg").on("change",updateImage);
/*preload form contents for event*/ /*preload form contents for event*/
d3.select("select#eprev").on("change",function(){ d3.select("select#eprev").on("change",function(){
var eprev_id=d3.select("select#eprev").node().value; var eprev_id=d3.select("select#eprev").node().value;
d3.json( json_path+"ecourse/"+eprev_id ,function(d){ d3.json( json_path+"event/"+eprev_id ,function(d){
if(d[0] !=undefined) {if(d[0].cid != 0){ if(d !=undefined) {if(d.cid != 0){
dropdownUpdate("ecourse",d[0].cid); dropdownUpdate("ecourse",d.cid);
dropdownUpdate("eplace",d[0].pid); dropdownUpdate("eplace",d.pid);
d3.select("input#dini").attr("value",d[0].dini); d3.select("input#dini").attr("value",d.dini);
dropdownUpdate("mini",d[0].mini); dropdownUpdate("mini",d.mini);
dropdownUpdate("yini",d[0].yini); dropdownUpdate("yini",d.yini);
d3.select("input#dend").attr("value",d[0].dend); d3.select("input#dend").attr("value",d.dend);
dropdownUpdate("mend",d[0].mend); dropdownUpdate("mend",d.mend);
dropdownUpdate("yend",d[0].yend); dropdownUpdate("yend",d.yend);
d3.select("input#cost").attr("value",d[0].cost); d3.select("input#cost").attr("value",d.cost);
d3.select("input#promo").attr("value",d[0].promo); d3.select("input#promo").attr("value",d.promo);
d3.select("input#pen").attr("checked",d[0].pen); d3.select("input#pen").attr("checked",d.pen);
d3.select("input#een").attr("checked",d[0].een); d3.select("input#een").attr("checked",d.een);
dropdownUpdate("eimg",d[0].eimg); dropdownUpdate("eimg",d.eimg);
updateImage(); updateImage();
}} }); }); }} }); });
/*preload form content for course*/ /*preload form content for course*/
d3.select("select#cprev").on("change",function(){ d3.select("select#cprev").on("change",function(){
var cprev_id=d3.select("select#cprev").node().value; var cprev_id=d3.select("select#cprev").node().value;
d3.json(json_path+"qcourse/"+cprev_id ,function(d){ d3.json(json_path+"course/"+cprev_id ,function(d){
if(d[0]!=undefined){if(d[0].cid != 0){ if(d!=undefined){if(d.cid != 0){
d3.select("input#cname").attr("value",d[0].cname); d3.select("input#cname").attr("value",d.cname);
d3.select("textarea#csubjects").text(d[0].csubjects); d3.select("textarea#csubjects").text(d.csubjects);
d3.select("textarea#cservices").text(d[0].cservices); d3.select("textarea#cservices").text(d.cservices);
}} }); }); }} }); });
/*preload form content for place*/ /*preload form content for place*/
d3.select("select#pprev").on("change",function(){ d3.select("select#pprev").on("change",function(){
var pprev_id=d3.select("select#pprev").node().value; var pprev_id=d3.select("select#pprev").node().value;
d3.json(json_path+"qplace/"+pprev_id ,function(d){ d3.json(json_path+"place/"+pprev_id ,function(d){
if(d[0]!=undefined){if(d[0].pid != 0){ if(d!=undefined){if(d.pid != 0){
d3.select("input#pname").attr("value",d[0].pname); d3.select("input#pname").attr("value",d.pname);
d3.select("input#paddr").attr("value",d[0].paddr); d3.select("input#paddr").attr("value",d.paddr);
d3.select("input#pobs").attr("value",d[0].pobs); d3.select("input#pobs").attr("value",d.pobs);
d3.select("input#pto").attr("value",d[0].pto); d3.select("input#pto").attr("value",d.pto);
d3.select("input#pst").attr("value",d[0].pst); d3.select("input#pst").attr("value",d.pst);
d3.select("input#pco").attr("value",d[0].pco); d3.select("input#pco").attr("value",d.pco);
d3.select("input#plat").attr("value",d[0].plat); d3.select("input#plat").attr("value",d.plat);
d3.select("input#plng").attr("value",d[0].plng); d3.select("input#plng").attr("value",d.plng);
d3.select("input#pen").attr("checked",d[0].pen); d3.select("input#pen").attr("checked",d.pen);
}} }); }); }} }); });
/*support "selected" option on other drop down*/ /*support "selected" option on other drop down*/

View File

@@ -1,11 +0,0 @@
/* c#host localhost*/
/* c#database #dbdata */
/* c#user #dbdata_user */
/* c#password #dbdata_pass */
select
nombre as "tag",
contenido as "admContent"
from casa where 1=1;

View File

@@ -1,11 +1,11 @@
d3.select("select#sentry").on("change",function(){ d3.select("select#sentry").on("change",function(){
var msg_id=d3.select("select#sentry").node().value; var msg_id=d3.select("select#sentry").node().value;
d3.json("/admin/json/mensajes/"+msg_id ,function(d){ d3.json("/admin/json/mensaje/"+msg_id ,function(d){
if(d[0] !=undefined) {if(d[0] != 0){ if(d !=undefined) {if(d != 0){
d3.select("p#fecha").text(d[0].imdate); d3.select("p#fecha").text(d.imdate);
d3.select("p#correo").text(d[0].imail); d3.select("p#correo").text(d.imail);
d3.select("p#nombre").text(d[0].imname); d3.select("p#nombre").text(d.imname);
d3.select("p#mensaje").text(d[0].immsg); d3.select("p#mensaje").text(d.immsg);
}}}); }}});
}); });

View File

@@ -1,4 +1,3 @@
select distinct select distinct
replace(grupo,' ','_' ) as "group", replace(grupo,' ','_' ) as "group",
grupo as "name" grupo as "name"

View File

@@ -1,13 +1,4 @@
/* c#host localhost*/
/* c#database #dbdata */
/* c#user #dbdata_user */
/* c#password #dbdata_pass */
select select
"table" as "tag",
nombre as "name", nombre as "name",
vinculo as "link", vinculo as "link",
orden as "order", orden as "order",

View File

@@ -1,9 +0,0 @@
<section class="header flex">
<article class="header"> <p>Administracion</p> </article>
<article class="anav">
<a href="admin/casa"><p>Casa</p></a>
<a href="admin/radio"><p>Radio</p></a>
<a href="admin/evn"><p>Eventos</p></a>
<a href="admin/msg"><p>Mensajes</p></a>
</article>
</section>

View File

@@ -12,139 +12,134 @@
</article> </article>
<article class="edit"> <article class="edit">
<!-- Evento ======================================================= --> <!-- Evento ============================================================== -->
<div class="ehide" id="event"> <form action=" #nav admine" method="POST"> <div class="ehide" id="event"> <form action="/admin/eventos/e" method="POST">
<div class="flex field"> <div class="flex field">
<label>Curso</label> <label>Curso</label>
<select id="ecourse" name="ecourse"> <select id="ecourse" name="ecourse">
<% map{ %> <% map{ %>
<option value="<%= $_->{'id'} %>"><%= $_->{'name'} %></option> <option value="<%= $_->{'id'} %>"><%= $_->{'name'} %></option>
<% } %><% (@{stash('ecourse')}) %><% if defined(stash('ecourse')); %> <% } %><% (@{stash('courses')}) %><% if defined(stash('courses')); %>
</select> </select>
</div> </div>
<div class="flex field"> <div class="flex field">
<label>Lugar</label> <!-- dropdown --> <label>Lugar</label>
<select id="eplace" name="eplace"> <!-- a#dropvar --> <select id="eplace" name="eplace">
<% map{ %> <% map{ %>
<option value="<%= $_->{'id'} %>"><%= $_->{'name'} %></option> <option value="<%= $_->{'id'} %>"><%= $_->{'name'} %></option>
<% } %><% (@{stash('eplace')}) %><% if defined(stash('eplace')); %> <% } %><% (@{stash('places')}) %><% if defined(stash('places')); %>
</select> </select>
</div> </div>
<div class="flex field"> <div class="flex field">
<label>Fecha inicio</label> <!-- dropdown --> <label>Fecha inicio</label> <!-- dropdown -->
<input id="dini" type="number" min="1" max="31" name="dini" value="1"/> <!-- a#dropvar --> <input id="dini" type="number" min="1" max="31" name="dini" value="1"/>
<select id="mini" name="mini"> <!-- a#dropvar --> <select id="mini" name="mini">
<% map{ %> <% map{ %>
<option value="<%= $_->{'id'} %>"><%= $_->{'name'} %></option> <option value="<%= $_->{'id'} %>"><%= $_->{'name'} %></option>
<% } %><% (@{stash('emini')}) %><% if defined(stash('emini')); %> <% } %><% (@{stash('months')}) %><% if defined(stash('months')); %>
</select> </select>
<input id="yini" type="number" min="2017" max="2050" name="yini" value="2017"/> <!-- a#dropvar --> <input id="yini" type="number" min="2017" max="2050" name="yini" value="2017"/>
</div> </div>
<div class="flex field"> <div class="flex field">
<label>Fecha fin</label> <!-- dropdown --> <label>Fecha fin</label>
<input id="dend" type="number" min="1" max="31" name="dend" value="1"/> <!-- a#dropvar --> <input id="dend" type="number" min="1" max="31" name="dend" value="1"/>
<select id="mend" name="mend"> <!-- a#dropvar --> <select id="mend" name="mend">
<% map{ %> <% map{ %>
<option value="<%= $_->{'id'} %>"><%= $_->{'name'} %></option> <option value="<%= $_->{'id'} %>"><%= $_->{'name'} %></option>
<% } %><% (@{stash('emini')}) %><% if defined(stash('emini')); %> <% } %><% (@{stash('months')}) %><% if defined(stash('months')); %>
<!-- ##emini -->
</select> </select>
<input id="yend" type="number" min="2017" max="2050" name="yend" value="2017"/> <!-- a#dropvar --> <input id="yend" type="number" min="2017" max="2050" name="yend" value="2017"/>
</div> </div>
<div class="flex field"> <div class="flex field">
<label>Costo</label> <input id="cost" type="text" name="cost"/> <!-- a#dropvar --> <label>Costo</label> <input id="cost" type="text" name="cost"/>
</div> </div>
<div class="flex field"> <div class="flex field">
<label>Promoción</label><input id="promo" type="text" name="promo"/> <!-- a#dropvar --> <label>Promoción</label><input id="promo" type="text" name="promo"/>
<label>Habilitar</label><input type="checkbox" checked="checked" id="pen" name="pen"/> <!-- a#dropvar --> <label>Habilitar</label><input type="checkbox" checked="checked" id="pen" name="pen"/>
</div> </div>
<div class="flex field"> <div class="flex field">
<label>Imagen</label> <!-- dropdown --> <label>Imagen</label>
<select id="eimg" name="eimg"> <!-- a#dropvar --> <select id="eimg" name="eimg">
<option value="0" selected> -- Elegir imagen -- </option> <option value="0" selected> -- Elegir imagen -- </option>
<% map{ %> <% map{ %>
<option value="<%= $_ %>"><%= $_ %></option> <option value="<%= $_ %>"><%= $_ %></option>
<% } %><% (@{stash('ilist')}) %><% if defined(stash('ilist')); %> <% } %><% (@{stash('img')}) %><% if defined(stash('img')); %>
</select> </select>
<div id=esimg></div> <div id=esimg></div>
</div> </div>
<div class="flex field"> <div class="flex field">
<label>Existente</label> <label>Existente</label>
<select id="eprev" name="eprev"> <!-- a#dropvar --> <select id="eprev" name="id">
<option value="0">-- Nuevo --</option> <option value="0">-- Nuevo --</option>
<% map{ %> <% map{ %>
<option value="<%= $_->{'id'} %>"><%= $_->{'name'} %></option> <option value="<%= $_->{'id'} %>"><%= $_->{'name'} %></option>
<% } %><% (@{stash('eprev')}) %><% if defined(stash('eprev')); %> <% } %><% (@{stash('events')}) %><% if defined(stash('events')); %>
</select> </select>
</div> </div>
<div class="flex field update"> <div class="flex field update">
<input type="hidden" name="update" value="1"> <!-- a#dropvar --> <input type="submit" name="req" value="Aceptar">
<input type="submit" name="eup" value="Aceptar"> <!-- a#dropvar --> <input type="submit" name="req" value="Eliminar">
<input type="submit" name="edel" value="Eliminar"> <!-- a#dropvar -->
<label>Habilitar</label> <label>Habilitar</label>
<input id="een" type="checkbox" checked="checked" name="een" > <!-- a#dropvar --> <input id="een" type="checkbox" checked="checked" name="een" >
</div> </div>
</form> </div> </form> </div>
<!-- Curso ====================================================== --> <!-- Curso ================================================================ -->
<div class="ehide" id="course"><form id="fcourse" action="/admin/event" <div class="ehide" id="course"> <form id="fcourse" action="/admin/eventos/c" method="POST">
method="POST">
<div class="flex field"> <div class="flex field">
<label>Nombre</label> <label>Nombre</label>
<input id="cname" type="text" name="cname"/> <!-- a#dropvar --> <input id="cname" type="text" name="cname"/>
</div> <div class="flex field"> </div> <div class="flex field">
<label>Temario</label> <label>Temario</label>
<textarea form="fcourse" id="csubjects" name="csubjects"></textarea> <!-- a#dropvar --> <textarea form="fcourse" id="csubjects" name="csubjects"></textarea>
</div> <div class="flex field"> </div> <div class="flex field">
<label>Servicios</label> <label>Servicios</label>
<textarea form="fcourse" id="cservices" name="cservices"></textarea> <!-- a#dropvar --> <textarea form="fcourse" id="cservices" name="cservices"></textarea>
</div> <div class="flex field"> </div> <div class="flex field">
<label>Existente</label> <label>Existente</label>
<select id="cprev" name="cprev"> <!-- a#dropvar --> <select id="cprev" name="id">
<option value="0">-- Nuevo --</option> <option value="0">-- Nuevo --</option>
<% map{ %> <% map{ %>
<option value="<%= $_->{'id'} %>"><%= $_->{'name'} %></option> <option value="<%= $_->{'id'} %>"><%= $_->{'name'} %></option>
<% } %><% (@{stash('ecourse')}) %><% if defined(stash('ecourse')); %> <% } %><% (@{stash('courses')}) %><% if defined(stash('courses')); %>
</select> </select>
</div> <div class="flex field update"> </div> <div class="flex field update">
<input type="hidden" name="update" value="1"> <!-- a#dropvar --> <input type="submit" name="req" value="Aceptar">
<input type="submit" name="cup" value="Aceptar"> <!-- a#dropvar --> <input type="submit" name="req" value="Eliminar">
<input type="submit" name="cdel" value="Eliminar"> <!-- a#dropvar -->
<label>Habilitar</label> <label>Habilitar</label>
<input type="checkbox" checked="checked" id="cen" name="cen" > <!-- a#dropvar --> <input type="checkbox" checked="checked" id="cen" name="cen" >
</div> </div>
</form> </div> </form> </div>
<!-- Lugar ====================================================== --> <!-- Lugar ================================================================ -->
<div class="ehide" id="place"><form action="/admin/event" method="POST"> <div class="ehide" id="place"><form action="/admin/eventos/p" method="POST">
<div class="flex field"> <div class="flex field">
<label>Nombre</label><input type="text" id= "pname" name="pname"> <!-- a#dropvar --> <label>Nombre</label><input type="text" id= "pname" name="pname">
</div> <div class="flex field"> </div> <div class="flex field">
<label>Direccion</label> <input type="text" id="paddr" name="paddr"> <!-- a#dropvar --> <label>Direccion</label> <input type="text" id="paddr" name="paddr">
</div> <div class="flex field"> </div> <div class="flex field">
<label>Observación</label> <input type="text" id="pobs" name="pobs"> <!-- a#dropvar --> <label>Observación</label> <input type="text" id="pobs" name="pobs">
</div> <div class="flex field"> </div> <div class="flex field">
<label>Municipio</label> <input type="text" id="pto" name="pto"> <!-- a#dropvar --> <label>Municipio</label> <input type="text" id="pto" name="pto">
</div> <div class="flex field"> </div> <div class="flex field">
<label>Entidad</label> <input type="text" id="pst" name="pst"> <!-- a#dropvar --> <label>Entidad</label> <input type="text" id="pst" name="pst">
</div> <div class="flex field"> </div> <div class="flex field">
<label>País</label> <input type="text" id="pco" name="pco"> <!-- a#dropvar --> <label>País</label> <input type="text" id="pco" name="pco">
</div> <div class="flex field"> </div> <div class="flex field">
<label>Latitud</label> <input type="text"id="plat" name="plat"> <!-- a#dropvar --> <label>Latitud</label> <input type="text"id="plat" name="plat">
</div> <div class="flex field"> </div> <div class="flex field">
<label>Longitud</label> <input type="text" id="plng" name="plng"> <!-- a#dropvar --> <label>Longitud</label> <input type="text" id="plng" name="plng">
</div> <div class="flex field"> </div> <div class="flex field">
<label>Existente</label> <label>Existente</label>
<select id="pprev" name="pprev"> <!-- a#dropvar --> <select id="pprev" name="id">
<option value="0">-- Nuevo --</option> <option value="0">-- Nuevo --</option>
<% map{ %> <% map{ %>
<option value="<%= $_->{'id'} %>"><%= $_->{'name'} %></option> <option value="<%= $_->{'id'} %>"><%= $_->{'name'} %></option>
<% } %><% (@{stash('eplace')}) %><% if defined(stash('eplace')); %> <% } %><% (@{stash('places')}) %><% if defined(stash('places')); %>
</select> </select>
</div> <div class="flex field update"> </div> <div class="flex field update">
<input type="hidden" name="update" value="1"> <!-- a#dropvar --> <input type="submit" name="req" value="Aceptar">
<input type="submit" name="pup" value="Aceptar"> <!-- a#dropvar --> <input type="submit" name="req" value="Eliminar">
<input type="submit" name="pdel" value="Eliminar"> <!-- a#dropvar -->
<label>Habilitar</label> <label>Habilitar</label>
<input id="pen" type="checkbox" checked="checked" name="pen" > <!-- a#dropvar --> <input id="pen" type="checkbox" checked="checked" name="pen" >
</div> </div>
</form> <div class="mapa"></div> </form> <div class="mapa"></div>
</article> </article>

View File

@@ -11,7 +11,6 @@
<div class="spacer"></div> <div class="spacer"></div>
</section> </section>
% foreach my $d( @{ $r->{$_->{id}} } ) { % foreach my $d( @{ $r->{$_->{id}} } ) {
<!-- blocktext -->
<a class="cal" href="event/<%= $d->{eeid} %> "> <a class="cal" href="event/<%= $d->{eeid} %> ">
<section class="event flex"> <section class="event flex">
<article class="data"> <article class="data">
@@ -29,7 +28,6 @@
</section> </section>
</a> </a>
%} %}
<!-- blocktext -->
%} %}
</section> </section>

View File

@@ -0,0 +1,9 @@
<section class="header flex">
<article class="header"> <p>Administracion</p> </article>
<article class="anav">
<a href="/admin/home"><p>Casa</p></a>
<a href="/admin/radio"><p>Radio</p></a>
<a href="/admin/eventos"><p>Eventos</p></a>
<a href="/admin/mensajes"><p>Mensajes</p></a>
</article>
</section>

View File

@@ -1,14 +1,14 @@
<section class="shop"> <section class="shop">
<article class="heading"> <p class="heading">TIENDA VIRTUAL</p> </article> <article class="heading"> <p class="heading">TIENDA VIRTUAL</p> </article>
% for my $d (@$r){ % for (@$r){
<article class="shop flex"> <article class="shop flex">
<div class="simage" > <img src=<%= "$controller/$action/img/$d->{imagen} "%> ></div> <div class="simage" > <img src=<%= "$controller/$action/img/$_->{imagen} "%> ></div>
<div class="description"> <div class="description">
<p class="title"> <%= $d->{titulo} %> </p> <p class="title"> <%= $_->{titulo} %> </p>
<p class="description"> <%= $d->{descripcion} %> </p> <p class="description"> <%= $_->{descripcion} %> </p>
<p class="price"> $<%= $d->{precio} %> pesos </p> <p class="price"> $<%= $_->{precio} %> pesos </p>
<p class="options"> <%= $d->{opciones} %> </p> <p class="options"> <%= $_->{opciones} %> </p>
<p class="promo"> <%= $d->{promocion} %> </p> <p class="promo"> <%= $_->{promocion} %> </p>
</div> </div>
</article> </article>
<article class="separator"></article> <article class="separator"></article>

View File

@@ -27,9 +27,9 @@
<article class="series"><ul> <article class="series"><ul>
<!-- ##series --> <!-- ##series -->
% for my $s(@$series){ % for (@$videos){
<li class="series" value="<%= $s->{group} %>"> <li class="series" value="<%= $_->{group} %>">
<%= $s->{name} %> <%= $_->{name} %>
</li> </li>
% } % }
<!-- c#series --> <!-- c#series -->
@@ -39,9 +39,9 @@
<article class="chap"> <ul> <article class="chap"> <ul>
<!-- ##table --> <!-- ##table -->
% for my $t(@$table){ % for (@$table){
<li class="chap <%= $t->{group} %> " value="<%= $t->{link} %> "> <li class="chap <%= $_->{group} %> " value="<%= $_->{link} %> ">
<%= $t->{order} %> <%= $t->{name} %> <%= $_->{order} %> <%= $_->{name} %>
</li> </li>
% } % }
<!-- c#table --> <!-- c#table -->

View File

@@ -0,0 +1,30 @@
<!DOCTYPE html>
<html>
<head>
<title><%= title %></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- <script src="https://d3js.org/d3.v4.min.js" charset="utf-8"></script> -->
<%= javascript "/ext/d3.v4.min.js"; %>
<%= stylesheet "/global/layout.css" %>
<%= stylesheet "/global/nav/cssSide.css" %>
<%= stylesheet "/global/nav/cssNav.css" %>
<%= stylesheet "/global/chaos/c.css" %>
<%= stylesheet "/home/admin/cssAdmin.css" %>
<% map{%><%= stylesheet "$_"%><%}(@{stash('css')}) if defined(stash('css'));%>
</head>
<body>
%= include 'home/htmlNav'
%= include 'home/htmlSide'
%= include 'home/htmlAdmin'
<% map{%><%= include "$_"%><%}(@{stash('prepend')})
if defined(stash('prepend'));%>
<%= content %>
<% map{%><%= include "$_"%><%}(@{stash('apend')})
if defined(stash('apend'));%>
%= include 'home/htmlChaos'
<%= javascript "/global/nav/d3Side.js"; %>
<% map{%><%= javascript "$_"%><%}(@{stash('js')}) if defined(stash('js'));%>
</body>
</html>