154 lines
3.9 KiB
Perl
154 lines
3.9 KiB
Perl
package Dojo::Model::Vuelo;
|
|
use Mojo::File 'path';
|
|
use Mojo::JSON qw(decode_json encode_json);
|
|
use Dojo::Support qw{ dmph merge_hash load_module get_names};
|
|
|
|
use File::Basename;
|
|
use Text::Markdown qw{ markdown };
|
|
use Encode qw{ decode_utf8 };
|
|
use DBI;
|
|
use Dojo::Conf;
|
|
|
|
sub new { bless {}, shift };
|
|
|
|
|
|
sub mod{
|
|
my $q="select nombre,contenido from casa;";
|
|
return \@{_read($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);
|
|
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,$id);
|
|
}
|
|
|
|
sub store{
|
|
return _read (path("public/home/store/qStore.q")->slurp);
|
|
}
|
|
|
|
sub tv{
|
|
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);
|
|
}
|
|
|
|
sub podcast{
|
|
my $txt = path("public/home/podcast/text.txt")->slurp;
|
|
my $hash = decode_json path("public/home/podcast/jsonPod.json")->slurp;
|
|
return ($txt,$hash);
|
|
}
|
|
|
|
sub radio{
|
|
my $q="select contenido as rmod from casa where nombre='rmod';";
|
|
return _read($q);
|
|
}
|
|
|
|
|
|
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 =====================================
|
|
sub _read{
|
|
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);
|
|
#$dbh->do(qq{SET NAMES 'utf8'});
|
|
my $h=$dbh->selectall_arrayref($q,{ Slice => {} },@bind);
|
|
#((col1=>d1,col2=>d1),(col1=>d2,col2=>d2))
|
|
$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
|
|
my $text = path(shift)->slurp;
|
|
return markdown( decode_utf8($text) );
|
|
}
|
|
|
|
sub load_txt{
|
|
return "" unless
|
|
my $text = path(shift)->slurp;
|
|
return decode_utf8($text);
|
|
}
|
|
|
|
1;
|
|
|