### New Development
+* Configuration needs to be updated, to use CNF 2.2, for system reset, etc.
+* Fix themes. Themes don't display and set consistently the pages throughout.
* ✔ RTF load of the zero document if present. When RTF attaching to a new log, you can save the rtf,
it is called a zero document (not assigned), as the log hasn't been saved yet. This reload can be useful, as it is always stored...
* ✔ Implement backup/restore on Pg based data. Restore only partially works from older backup.
</tr>
</table><input type="hidden" name="sys" value="1"/></form><br>);
-
-
$tbl = qq(<table id="cnf_fix" class="tbl" border="0" width=").&Settings::pagePrcWidth.qq(%">
<tr class="r0"><td colspan="2"><b>* DATA FIX *</b></td></tr>
);
print $cgi->header(-expires=>"+6s", -charset=>"UTF-8");
print $cgi->start_html(-title => "Personal Log", -BGCOLOR=>&Settings::bgcol,
-onload => "onBodyLoadGeneric();",
- -style => [
- { -type => 'text/css', -src => "wsrc/".&Settings::css },
+ -style => [
{ -type => 'text/css', -src => 'wsrc/jquery-ui.css' },
{ -type => 'text/css', -src => 'wsrc/jquery-ui.theme.css' },
{
-type => 'text/css',
-src => 'wsrc/tip-yellowsimple/tip-yellowsimple.css'
},
+ { -type => 'text/css', -src => "wsrc/".&Settings::css },
],
-script => [
{ -type => 'text/javascript', -src => 'wsrc/main.js' },
my @row;
getHeader() if(&Settings::debug);
- print "<h3>Database Records Fix Result</h3>\n<hr>" if(&Settings::debug);
- print "<body><pre>Started transaction!\n" if(&Settings::debug);
-
+ print "<h3>Database Records Fix Result</h3>\n<hr>" if &Settings::debug;
+ print "<body><pre>Started transaction!\n" if &Settings::debug;
$db->do('BEGIN TRANSACTION;');
# Check for duplicates, which are possible during imports or migration as internal rowid is not primary in log.
# @TODO This should be selecting an cross SQL compatibe view.
my $st_del = $db->prepare($sql);
$st_del->execute();
}
- print "Doing renumerate next...\n" if(&Settings::debug);
+ print "Doing renumerate next...\n" if &Settings::debug;
&renumerate;
- print "done!\n";
- print "Doing removeOldSessions next..." if(&Settings::debug);
+ print "done!\n" if &Settings::debug;
+ print "Doing removeOldSessions next..." if &Settings::debug;
&Settings::removeOldSessions;
- print "done!\n " if(&Settings::debug);
+ print "done!\n " if &Settings::debug;
&resetCategories if $rs_cats;
&resetSystemConfiguration($db) if $rs_syst;
&wipeSystemConfiguration if $wipe_ss;
### RENUMERATE LOG
$db->do("CREATE TABLE life_log_temp_table AS SELECT * FROM LOG;");
- if(Settings::isProgressDB()){
+ if(&Settings::isProgressDB){
$db->do('DROP TABLE LOG CASCADE;');
}
else{
my $old = $notes{$date};
#my $sql_date = DateTime::Format::SQLite->parse_datetime($date);
- if(Settings::isProgressDB()){
+ if(&Settings::isProgressDB){
$sql = "SELECT ID FROM LOG WHERE RTF > 0 AND DATE = '".$date."';";
}else{
$sql = "SELECT rowid FROM LOG WHERE RTF > 0 AND DATE = '".$date."';";
sub resetSystemConfiguration {
- open(my $fh, '<', &Settings::logPath.'main.cnf' ) or die "Can't open main.cnf: $!";
+ open(my $fh, '<', &Settings::logPath.'main.cnf') or die "Can't open ".&Settings::logPath."main.cnf! $!";
my $db = shift;
my ($id,$name, $value, $desc);
my $inData = 0;
my @row = $dbs->fetchrow_array();
if(scalar @row == 0){
#The id in config file has precedence to the one in the db,
- #from a ppossible previous version.
+ #from a possible previous version.
$dbs = Settings::selectRecords($db, "SELECT ID FROM CONFIG WHERE ID = $id;");
@row = $dbs->fetchrow_array();
if(scalar @row == 0){
}
}
}
- #die "Configuration script './main.cnf' [$fh] contains errors." if $err;
+ die "Configuration script './main.cnf' [$fh] contains errors." if $err;
close $fh;
- Settings::getConfiguration($db);
+ Settings::getConfiguration($db);
} catch{
close $fh;
print $cgi->header;
my @dr = split(':', Settings::dbSrc());
my $ball = 'bck_'.$today->strftime('%Y%m%d%H%M%S_').$dr[1]."_$dbname.osz";
- my $file = Settings::logPath().'data_'.$dr[1].'_'."$dbname"."_log.db";
+ my $file = &Settings::logPath.'data_'.$dr[1].'_'."$dbname"."_log.db";
my $dsn= "DBI:SQLite:dbname=$file";
my $weProgress = Settings::isProgressDB();
if($weProgress){
}
print $cgi->header(-charset=>"UTF-8", -type=>"application/octet-stream", -attachment=>$ball);
- my $pipe = "tar czf - ".Settings::logPath().'main.cnf' ." ".$file." | openssl enc -e -des-ede3-cfb -salt -S ".
- Settings->CIPHER_KEY." -pass pass:$pass-$alias -out ".Settings::logPath().$ball." 2>/dev/null";
+ my $pipe = "tar czf - ".&Settings::logPath.'main.cnf' ." ".$file." | openssl enc -e -des-ede3-cfb -salt -S ".
+ Settings->CIPHER_KEY." -pass pass:$pass-$alias -out ".&Settings::logPath.$ball." 2>/dev/null";
my $rez = `$pipe`;
- open (my $TAR, "<", Settings::logPath().$ball) or die "Failed creating backup -> $ball";
+ open (my $TAR, "<", &Settings::logPath.$ball) or die "Failed creating backup -> $ball";
while(<$TAR>){print $_;}
close $TAR;
unlink $file if $weProgress;
print "Restore ended: ".Settings::today(), "\n";
}; print $stdout;
-my $fh; open( $fh, ">>", Settings::logPath()."backup_restore.log");
+my $fh; open( $fh, ">>", &Settings::logPath."backup_restore.log");
print $fh $stdout;
close $fh;
print $cgi->redirect('main.cgi');
}catch{
- print $cgi->p("<font color=red><b>ERROR</b></font> " . $@);
+ print $cgi->p("<font color=red><b>ERROR</b>$!</font> " . $@);
}
}
my $title = shift;
print $cgi->header(-expires=>"+6os");
print $cgi->start_html(-title => $title, -BGCOLOR => &Settings::bgcol,
- -script=> [{-type => 'text/javascript', -src => 'wsrc/main.js'},
- {-type => 'text/javascript', -src => 'wsrc/jquery.js'},
- {-type => 'text/javascript', -src => 'wsrc/jquery-ui.js'}],
+ -script=> [ {-type => 'text/javascript', -src => 'wsrc/jquery.js'},
+ {-type => 'text/javascript', -src => 'wsrc/jquery-ui.js'},
+ {-type => 'text/javascript', -src => 'wsrc/main.js'}
+ ],
-style => [{-type => 'text/css', -src => "wsrc/".&Settings::css}, {-type => 'text/css', -src => "wsrc/print.css"},
{-type => 'text/css', -src => 'wsrc/jquery-ui.css'},
{-type => 'text/css', -src => 'wsrc/jquery-ui.theme.css'},
- {-type => 'text/css', -src => 'wsrc/jquery-ui.theme.css'}],
+ {-type => 'text/css', -src => 'wsrc/jquery-ui.theme.css'},
+ { -type => 'text/css', -src => "wsrc/".&Settings::css }
+ ],
+
-onload => "onBodyLoadGeneric()");
}
$log =~ s/(^\*)(.*)(\*)(\\n)/<b>$2<\/b><br>/oi;
#Decode escaped \\n
$log =~ s/\r\n/<br>/gs;
- $log =~ s/\\n/<br>/gs;
+ $log =~ s/\\n/<br>\n/gs;
$log_orig =~ s/\"/"/g;
$log_orig =~ s/\'/'/g;
$tags .= qq(<input type="hidden" id="g$id" value="$log_orig"/>\n);
+ }elsif(not &Settings::displayAll){
+ my $h;
+ if($log =~ m/(.*\s*.*?)<br>/){$h=$1}
+ elsif($log =~ m/(\s*.*\n)/) {$h=$1}
+ if($h){
+ $log = $h.qq(<input type="hidden" id="h$id" value="$log"/><button id='btnRTF' onclick="return dispFullLog($id);"
+ class="ui-button ui-corner-all ui-widget"><span>⇳<span></button>);
+ }
}
my ( $dty, $dtf ) = $dt->ymd;
<input name="chk" type="checkbox" value="$pid"/>
</td></tr>)};
- if ( $rtf > 0 ) {
+ if ( $rtf > 0 ) {#max-width:1000px;
+ # style="max-height:480px; box-sizing: border-box; padding: 5px; background:#fffafa; overflow-x:scroll;scrollbar-width:none;"
$log_output .= qq(<tr id="q-rtf$id" class="r$tfId" style="display:none;">
<td colspan="6">
- <div id="q-scroll$id"
- style="max-height:480px; max-width:1000px; padding: 5px; background:#fffafa; overflow-x:scroll;scrollbar-width:none;">
- <div id="q-container$id"></div>
+ <div id="q-scroll$id" class="ql-editor ql-snow" style="max-height:480px; overflow-x:scroll;">
+ <div id="q-container$id" class="ql-container ql-snow"></div>
</div>
</td></tr>);
}
-title => "Personal Log",
-BGCOLOR => $BGCOL,
-onload => "onBodyLoad('$toggle','".&Settings::language."','".&Settings::timezone."','$today','".&Settings::sessionExprs."','$rs_cur',".&Settings::dbVLSZ.");",
- -style => [
- { -type => 'text/css', -src => "wsrc/$TH_CSS" },
+ -style => [
{ -type => 'text/css', -src => 'wsrc/jquery-ui.css' },
{ -type => 'text/css', -src => 'wsrc/jquery-ui.theme.css' },
{
{ -type => 'text/css', -src => 'wsrc/quill/monokai-sublime.min.css' },
{ -type => 'text/css', -src => 'wsrc/quill/quill.snow.css' },
{ -type => 'text/css', -src => 'wsrc/jquery.sweet-dropdown.css' },
-
+ { -type => 'text/css', -src => "wsrc/$TH_CSS" },
],
-script => [
{ -type => 'text/javascript', -src => 'wsrc/main.js' },
my $sid = Settings::sid();
my $dbname = Settings::dbFile();
my $alias = Settings::alias();
-my $passw = Settings::pass();
+
if(!$alias||!$dbname){
- # if (Settings::debug()){
- # $alias ="admin";
- # $dbname = "data_admin_log.db";
- # $passw = "admin";
- # }
- # else{
print $cgi->redirect("login_ctr.cgi?CGISESSID=$sid");
exit;
- # }
}
try{
$ENV{'HOME'} = "~/";
-my $CSS=<<CSS;
+my $CSS=<<_____CSS;
.main div {
font-family: Bookman;
- text-align: left;
- vertical-align: left;
+ text-align: left;
+}
+.spacer {
+ border: 10px;
+ border-left-width:0px;
+
+ margin:5 px;
}
-.info span{
+.info span {
border: 1px solid black;
padding: 5px;
- margin-top: 5px;
+ margin-top: 1px;
margin-right: 15px;
float: left;
width:98%
}
-.processes{
- margin-top: 5px; padding: 5px;
- border: 1px solid black;
- float: none;
-}
-CSS
+_____CSS
print $cgi->header(-expires=>"+6os", -charset=>"UTF-8");
print $cgi->start_html(-title => "Log Data Stats", -BGCOLOR=>Settings::bgcol(),
-script=> [{-type => 'text/javascript', -src => 'wsrc/main.js'},
{-type => 'text/javascript', -src => 'wsrc/jquery.js'},
{-type => 'text/javascript', -src => 'wsrc/jquery-ui.js'}],
- -style => [{-type => 'text/css', -src => "wsrc/".&Settings::css},
- {-type => 'text/css', -src => 'wsrc/jquery-ui.css'},
+ -style => [{-type => 'text/css', -src => 'wsrc/jquery-ui.css'},
{-type => 'text/css', -src => 'wsrc/jquery-ui.theme.css'},
{-type => 'text/css', -src => 'wsrc/jquery-ui.theme.css'},
+ {-type => 'text/css', -src => "wsrc/".Settings::css()},
{-script=>$CSS}
],
-head => style({-type => 'text/css'}, $CSS),
my $IPPublic = `curl -s https://www.ifconfig.me`;
my $IPPrivate = `hostname -I`; $IPPrivate =~ s/\s/<br>/g;
-my $tbl = qq(<table class="tbl" border="1px"><tr class="r0"><td colspan="5" style="text-align:centered"><b>* Personal Log Data Statistics *</b></td></tr>
+my $tbl = qq(<table class="tbl" border="0" align="left"><tr class="r0"><td colspan="5" style="text-align:centered"><b>* Personal Log Data Statistics *</b></td></tr>
<tr class="r1"><td>LifeLog App. Version:</td><td>).Settings::release().qq(</td></tr>
<tr class="r0"><td>Number of Records:</td><td>$log_rc</td></tr>
<tr class="r1"><td>No. of Records This Year:</td><td>$log_this_year_rc</td></tr>
</table>);
-print qq(<div id="menu" title="To close this menu click on its heart, and wait." style="border: 1px solid black;padding: 5px;margin-top: 25px;">
-<a class="a_" href="main.cgi">Log</a><hr>
-<a class="a_" href="config.cgi">Config</a><hr>
-<a class="a_" href="login_ctr.cgi?logout=bye">LOGOUT</a>
+print qq(<div id="menu" title="Menu" style="border: 2px solid black; padding: 5px; margin-top: 25px;">
+<div style="border: 1px solid black; margin: 5px; margin-bottom: 10px; padding:5px;"><b>Menu</b></div>
+<div><a class="a_" href="main.cgi">Log</a><hr></div>
+<div><a class="a_" href="config.cgi">Config</a><hr></div>
+<div><a class="a_" href="login_ctr.cgi?logout=bye">LOGOUT</a></div>
</div>);
print qq(
<div class="main">
- <hr><h2>Life Log Server Statistics</h2><hr>
+
<div class="info">
- <span><b>Log Status & Information</b><hr>$tbl</span>
- <span><b>Server Info</b><hr>$hardware_status</span>
- </div><br>
- <div class="processes" style="float:left;">
- <b>Server Side Processes</b><hr>
- <pre>$processes</pre>
+ <span><h3>Life Log Server Statistics</h3></span>
</div>
+ <div class="spacer"> </div>
+
+ <div class="info">
+ <span><b>Log Status & Information</b></span>
+ <span><p>$tbl</p></span>
+ </div>
+ <div class="spacer"> </div>
+ <div class="info">
+ <span><b>Server Info</b></span>
+ <span>$hardware_status</span>
+ </div>
+ <div class="spacer"> </div>
+ <div class="info">
+ <span><b>Server Side Processes</b></span>
+ <span class="ql-container ql-snow" style="max-height:480px; overflow-x:scroll;">
+ <pre class="r1">$processes</pre>
+ </span>
+ </div>
</div>);
print $cgi->end_html;
sub anonsSet {my $a = shift;%anons=%{$a}}
sub release {$RELEASE_VER}
-sub logPath {$S_ = shift;$LOG_PATH = $S_ if $S_;$LOG_PATH}
+sub logPath {$LOG_PATH}#<-something was calling as setter, can't replicate. On reset of categories in config.cgi.
+sub logPathSet {$S_ = shift;$LOG_PATH = $S_ if $S_;return $LOG_PATH}#<-has now setter method nothing actually calls.
sub theme {$THEME}
sub timezone {$TIME_ZONE}
sub language {$LANGUAGE}
$CGI::POST_MAX = 1024 * 1024 * 5; # max 5GB file post size limit.
$cgi = $cgi = CGI->new();
$sss = shift; #shift will only and should, ONLY happen for test scripts.
- $sss= new CGI::Session("driver:File", $cgi, {Directory=>$LOG_PATH}) if !$sss;
+ $sss= new CGI::Session("driver:File", $cgi, {Directory=>$LOG_PATH, SameSite=>'Lax'}) if !$sss;
$sid = $sss->id();
$alias = $sss->param('alias');
$pass = $sss->param('passw');
font-size: 14px;
}
p {
-
+ font-family: Bookman;
margin-left: 70px;
font-weight: bold;
}
-
+pre{
+ color: #d8d8d8;
+ text-align:left;
+}
table,
th,
td {
}
#div_log {
- font-weight: bold;
+ font-weight: bold;
}
#div_srh {
text-align: center;
border-right: 1px solid black;
vertical-align: top;
}
+.r0.hover{
+ background-color: #b7f3f3;
+}
.r1 {
background-color: #ccffff;
border: 1px solid black;
border-right: 1px solid black;
vertical-align: top;
}
+.r1.hover{
+ background-color: #b7f3f3;
+}
.r2 {
background-color: #ccfff0;
border: 1px solid black;
padding: 2%;
margin: 0px auto;
}
-
+div#rz {
+ border: 1px solid black;
+ text-align: left;
+ background-color: #e6ffff;
+ vertical-align: top;
+ align-self: baseline;
+ height: auto;
+ padding: 2px;
+ margin: 0px auto;
+}
.hdr {
font-style: normal;
font-weight: bold;
background-color: rgba(0, 0, 0, .5);
}
-div#rz {
- border: 1px solid black;
- text-align: left;
- background-color: #e6ffff;
- vertical-align: top;
- align-self: baseline;
- height: auto;
- padding: 2px;
- margin: 0px auto;
-}
#tag_FRM {
border: 2px solid #94cde7;
margin: 0;
}
+
+
.ui-button,
.ui-button-text .ui-button {
- font-size: 12px !important;
+ font-size: 12px !important;
}
.ui-menu {
a:hover {
color: #2d7081;
- font-style:normal;
- font-size: x-large;
+ font-style:normal;
+}
+a:active {
+ color: #1eff00;
}
-
#sss_status{
font-size: smaller;
font-style: italic;
if(rgb){
DEF_BACKGROUND = RGBToHex(rgb);
$("#fldBG").val(DEF_BACKGROUND);
- var amf = $( "#amf" );//Amount Field Type dropdown
- var ec = $( "#ec" ); //Category dropdown
-
- $( "#amf2" ).selectmenu({style: "dropdown", width:100});
-
- amf.selectmenu({style: "dropdown", width:100,
- change: function( event, data ) {
- var evv =ec.val();
+ // let bg=RGBToHex('rgb(180, 169, 169)'); //<-is set in css file
+ // $('#toolbar-container').css('background-color',bg);
+ $('#toolbar-container').css('color',DEF_BACKGROUND);
+
+ }
+ var amf = $( "#amf" );//Amount Field Type dropdown
+ var ec = $( "#ec" ); //Category dropdown
+ $( "#amf2" ).selectmenu({style: "dropdown", width:100});
+ amf.selectmenu({style: "dropdown", width:100,
+ change: function( event, data ) {
+ var evv =ec.val();
if(ec.val()<2||evv==32||evv==35||data.item.value == 0){
var sel = null;
if(data.item.label == "Income"){ sel = 35; }
ec.val(sel);
}
}
- }});
- }
+ }});
+
jQuery.fn.dispPos = function () {
this.css("position","absolute");
$("#frm_entry").submit();
}
+function dispFullLog(id){
+ let $log = $("#h"+id).val();
+ $("#v"+id).html('<div class="log">'+$log+'</div>');
+ return false;
+}
+
function loadRTF(under, id){
}
function loadRTFResult(content, result, prms, quill) {
-
+ console.log(content);
var json = JSON.parse(content);
if(!quill)quill=QUILL;
editorBackground(false);
}
else{
- var id = json.content.lid;
+ var id = json.log_id;
+ var cls = $("#q-scroll"+id).parent().parent().attr("class");
+ // alert(css);
+ $("#q-scroll"+id).attr('class',cls);
var css = $("#q-scroll"+id).prop('style');
- if(css){css.backgroundColor = json.content.bg;}
+ $("#q-scroll"+id).attr('class',cls);
+ if(css){
+ css.backgroundColor = DEF_BACKGROUND; //Removing colours makes it inherit from parent these properties.
+ css.foregroundColor = "";//json.content.fg;
+ }
}
let msg = json.response;
function editorBackground(reset){
var css = $("#editor-container").prop('style');
if(reset){
+ css.foregroundColor = black;
css.backgroundColor = DEF_BACKGROUND;
$("#fldBG").val(DEF_BACKGROUND);
}
- else{css.backgroundColor = $("#fldBG").val();}
+ else{
+ css.foregroundColor = black;
+ css.backgroundColor = $("#fldBG").val();
+ }
}
+body{
+ font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Bookman,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;
+ font-size: 14px;
+}
p {
font-family: Bookman;
margin-left: 70px;
float: right;
}
+#btnRTF {
+ float: right;
+}
.midnight{
color:#adeccc;
}
+body{
+ font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Bookman,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;
+ font-size: 14px;
+}
p {
font-family: Bookman;
margin-left: 70px;
text-align: left;
}
+#cat_desc {
+ position: absolute;
+ border: 2px solid #9bb6c3;
+ padding: 5px;
+ text-align: center;
+ background: #0f0f0f;
+ color: #d8d8d8;
+ margin-top: 20px;
+ margin-left: 200px;
+ width: 280px;
+ text-decoration-style: wavy;
+
+}
+.span_cat {
+ border:1px solid #9bb6c3;
+ border-style: outset;
+ padding: 2px;
+ padding-right: 5px;
+ width: 180px;
+}
+
+#cat_lst {
+ visibility: hidden;
+}
+
.r0 {
background-color: #535353;
border: 1px solid white;
border-right: 1px solid white;
vertical-align: top;
+ color:black;
+}
+.remember{ background-color:#553232;}
+.r0.hover{
+ background-color: #724242;
}
.r1 {
background-color: #272626;
border: 1px solid white;
border-right: 1px solid white;
vertical-align: top;
+ width: fit-content;
+}
+.r1.hover td div{
+ background-color: #b4a9a9;
+ color:#323232;
}
.r2 {
background-color: #636969;
padding: 0 10px
}
-#cat_desc {
- position: absolute;
- border: 2px solid #9bb6c3;
- padding: 5px;
- text-align: center;
- background: #0f0f0f;
- color: #d8d8d8;
- margin-top: 20px;
- margin-left: 200px;
- width: 280px;
- text-decoration-style: wavy;
-
-}
-.span_cat {
- border:1px solid #9bb6c3;
- border-style: outset;
- padding: 2px;
- padding-right: 5px;
- width: 180px;
-}
#menu {
position: fixed;
.ui-button,
.ui-button-text .ui-button {
- font-size: 12px !important;
+ font-size: 12px !important;
}
.ui-menu {
#toolbar-container {
border: 1px solid white;
- background-color: #363531;
+ background-color: rgb(180, 169, 169);
margin-bottom: 3px;
}
float: right;
}
+#btnRTF {
+ float: right;
+}
+
.midnight{
color:#f8f868;
}
}
a:hover {
color: #04c7f8;
+ font-style:normal;
}
a:active {
color: #ff7b00;
color:khaki;
}
.hover{
- background-color: #8d8d83;
-}
\ No newline at end of file
+ background-color: #8d8d83;
+}
+#lcat{ margin: 0; padding: 5px;}
\ No newline at end of file
+body{
+ font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Bookman,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;
+ font-size: 14px;
+}
p {
font-family: Bookman;
margin-left: 70px;
font-weight: bold;
}
-
+pre{
+ color: black;
+ text-align:left;
+}
table,
th,
td {
- font-family: Bookman;
border-collapse: collapse;
padding: 5px;
margin: auto;
padding-left: 5px;
text-align: left;
}
+#cat_desc {
+ position: absolute;
+ border: 2px solid black;
+ padding: 5px;
+ text-align: center;
+ background: #D4AF37;
+ margin-top: 20px;
+ margin-left: 200px;
+ width: 280px;
+ text-decoration-style: wavy;
+}
+.span_cat {
+ border:1px solid #b2f8ef;
+ border-style: outset;
+ padding: 2px;
+ padding-right: 5px;
+ width: 180px;
+}
+#cat_lst {
+ visibility: hidden;
+}
.r0 {
background-color: #FFDF00;
border: 1px solid black;
border-right: 1px solid black;
vertical-align: top;
}
+.r0.hover{
+ background-color: #ffdd00c4;
+}
.r1 {
background-color: #FFEA00;
border: 1px solid black;
border-right: 1px solid black;
vertical-align: top;
}
+.r1.hover{
+ background-color: #ffea00c5;
+}
.r2 {
- background-color: #ffdd44;
+ background-color: #FFEA00;
border: 1px solid black;
border-right: 1px solid black;
vertical-align: top;
padding: 2%;
margin: 0px auto;
}
-
+div#rz {
+ border: 1px solid black;
+ text-align: left;
+ background-color: #e6ffff;
+ vertical-align: top;
+ align-self: baseline;
+ height: auto;
+ padding: 2px;
+ margin: 0px auto;
+}
.hdr {
font-style: normal;
font-weight: bold;
.edit {
margin: 2px;
- padding: 2px;
+ padding: 5px;
font-size: 9pt;
color: midnightblue
}
background-color: rgba(0, 0, 0, .5);
}
-
-div#rz {
- border: 1px solid black;
- text-align: left;
- background-color: #e6ffff;
- vertical-align: top;
- align-self: baseline;
- height: auto;
- padding: 2px;
- margin: 0px auto;
-}
-
#tag_FRM {
border: 2px solid rgb(148, 205, 231);
padding: 5px;
}
-#cat_desc {
- position: absolute;
- border: 2px solid black;
- padding: 5px;
- text-align: center;
- background: #D4AF37;
- margin-top: 20px;
- margin-left: 200px;
- width: 280px;
- text-decoration-style: wavy;
-}
-.span_cat {
- border:1px solid #b2f8ef;
- border-style: outset;
- padding: 2px;
- padding-right: 5px;
- width: 180px;
-}
#menu {
margin: 0;
}
-.ui-button,
-.ui-button-text .ui-button {
- font-size: 12px !important;
- background-color: #93d314;
+.ui-button {
+ font-size: 12px !important;
+ color: #b87a1d #e4f1fb
}
+.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default, .ui-button, html .ui-button.ui-state-disabled:hover, html .ui-button.ui-state-disabled:active {
+ border: 1px solid #ead5ae;
+ background-color: #d4af37;
+ background: #ffdf00;
+ font-weight: bold;
+ color: #b87a1d #e4f1fb
+}
+.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default, .ui-button, html .ui-button.ui-state-disabled:hover, html .ui-button.ui-state-disabled:active {
+ border: 1px solid #ead5ae;
+ background-color: #d4af37;
+ background: #fbff00;
+ font-weight: bold;
+ color: #b87a1d #e4f1fb
+}
+.dropdown-menu table td{
+ color:rgb(226, 34, 34);
+ background: #fbff00;
+ border-radius: 2pt;
+ padding:0px;
+ margin:2px;
+ text-align: left;
+ vertical-align: text-top;
+}
+.dropdown-menu tr td ul {
+ min-width:140px;
+ list-style:none;
+ background: #fbff00;
+ box-shadow:0 3px 5px rgba(0,0,0,0.1);
+ padding:0;
+ margin:1px;
+}
+.ui-widget-header {
+ border: 1px solid #40413e;
+ background: #fbff00;
+ color: #222222;
+ font-weight: bold;
+}
+
+.ui-widget-content{
+ border: 1px solid #dddddd;
+ background: #e9ff27;
+ color: #362b36;
+}
+
+.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default, .ui-button, html .ui-button.ui-state-disabled:hover,
+ html .ui-button.ui-state-disabled:active {
+ border: 1px solid #ead5ae;
+ background-color: #d4af37;
+ background: #e9ff27;
+ font-weight: bold;
+ color: #e4f1fb;
+}
+
+.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default, .ui-button, html .ui-button.ui-state-disabled:hover,
+html .ui-button.ui-state-disabled:active {
+ border: 1px solid #978567;
+ background: #f6f200;
+ font-weight: bold;
+ color: #0c0c0c;
+}
+.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active, a.ui-button:active, .ui-button:active,
+.ui-button.ui-state-active:hover {
+ border: 1px solid #fa0404;
+ background:#ffdf00;
+ font-weight: bold;
+ color: #ff2b06;
+}
+.ui-widget.ui-widget-content {
+ border: 1px solid #131311;
+ color: #362b36;
+ font-weight: bold;
+}
+.ui-widget-content {
+ background: #fbff00;
+ color: #362b36;
+}
.ui-menu {
list-style: none;
padding: 10px;
float: right;
}
+#btnRTF {
+ float: right;
+}
.midnight{
color:midnightblue;
}
-
+a:link {
+ color:#5b06fa;
+ }
+ a:visited {
+ color: #0c0c0c;
+ }
+
+ a:hover {
+ color: #2d7081;
+ font-style:normal;
+ }
+ a:active {
+ color: #1eff00;
+ }
#sss_status{
font-size: smaller;
font-style: italic;