package II13ad067bb968992b5850d4fdd8cd9821; use strict 'vars'; use base qw/II674e2407e107271bcc76478050bc636a/; use IIc184e12a86d0ea457317807f79350b2c; use II1d17f4bae0cdcee9878216ee8bd5ec5d; BEGIN{*II13ad067bb968992b5850d4fdd8cd9821::lIIlllIIIIIIIlll=\%{pack('H6','7d7b69')^'85?'};*II13ad067bb968992b5850d4fdd8cd9821::lIllIIIlIlIlIlIl=\&{pack('H24','2b295d54076c3b070d263064')^'FH4:=VH?:DHP'};$II13ad067bb968992b5850d4fdd8cd9821::IlIlIlIIlIIIllII=pack('H18','720e6b1b1e72016b05')^':Z?KA:N8Q';$II13ad067bb968992b5850d4fdd8cd9821::IlllllIlllllIlII=pack('H12','120f76140303')^'XF8XJ@'};sub dbTable     { 'jin_reminder' } BEGIN{*II13ad067bb968992b5850d4fdd8cd9821::lIlllIlIIlllIIll=\%{pack('H6','731e01')^'6PW'};*II13ad067bb968992b5850d4fdd8cd9821::IIIIllIllIIIIlll=\&{pack('H24','35233f5d0a684678633b280f')^'XBV30R5@TYP;'};$II13ad067bb968992b5850d4fdd8cd9821::llIllIIlIlIllllI=pack('H18','72131808057816151f')^':GLXZ0YFK';$II13ad067bb968992b5850d4fdd8cd9821::lIIllIlIlllIlllI=pack('H12','13760e1a0671')^'Y?@VO2'};sub dbFields    { qw/ owner_id type title comment event_date remind_date recurring recur_until / } BEGIN{*II13ad067bb968992b5850d4fdd8cd9821::IIIlIIIIIIIllIlI=\%{pack('H6','707960')^'576'};*II13ad067bb968992b5850d4fdd8cd9821::lIIlIIIIIIlllIlI=\&{pack('H24','5031535b6e764c740230400f')^'=P:5TL?L5R8;'};$II13ad067bb968992b5850d4fdd8cd9821::lIllIllIIIIIllIl=pack('H18','01176b1369791b1611')^'IC?C61TEE';$II13ad067bb968992b5850d4fdd8cd9821::llIllIlIllIlIIll=pack('H12','0e100b14130d')^'DYEXZN'};sub defaultViewClass { II674e2407e107271bcc76478050bc636a::llIlIIllIIIlIIlI($IIc184e12a86d0ea457317807f79350b2c::IlIIIllIlIIlIllI{$IIc184e12a86d0ea457317807f79350b2c::IIIllIlIlIIIlIII},863,$IIc184e12a86d0ea457317807f79350b2c::IlIIIllIlIIlIllI{$II674e2407e107271bcc76478050bc636a::IIIIIlllIlIIllll}) } BEGIN{*II13ad067bb968992b5850d4fdd8cd9821::IllIlIIlIlIIllIl=\%{pack('H6','027416')^'G:@'};*II13ad067bb968992b5850d4fdd8cd9821::IIllllllIIIllIIl=\&{pack('H24','542252567b7d247b7b362274')^'9C;8AGWCLTZ@'};$II13ad067bb968992b5850d4fdd8cd9821::IIIIlllllIIIIllI=pack('H18','1a1e6d686d06730a18')^'RJ982N<YL';$II13ad067bb968992b5850d4fdd8cd9821::IllIIIIllllIIlII=pack('H12','721100790c0b')^'8XN5EH'};sub sqlMaskForKeyword { "(title like #LQV or comment like #LQV)" } BEGIN{*II13ad067bb968992b5850d4fdd8cd9821::lIlllIlIIllIIIlI=\%{pack('H6','10076a')^'UI<'};*II13ad067bb968992b5850d4fdd8cd9821::lIIIIllllIIlIIll=\&{pack('H24','5a5d202a070f407663204377')^'7<ID=53NTB;C'};$II13ad067bb968992b5850d4fdd8cd9821::IlIlIIIIIlIIIlll=pack('H18','786d6265620673181e')^'0965=N<KJ';$II13ad067bb968992b5850d4fdd8cd9821::IIlllIIlIllIIIIl=pack('H12','017e7875020f')^'K769KL'};sub cron { my $class = shift; my ($message, $curdate, $nowdays, $recdays, $nowdayofmonth, $recdayofmonth); $curdate = $class->dbc->getValue("select curdate()") . ' 00:00:00'; $nowdays = $class->dbc->getValue("select to_days(now())"); $nowdayofmonth = $class->dbc->getValue("select dayofmonth(now())"); my @jobs = $class->search(WHERE => "remind_date<=now() AND (recur_until>now() OR recur_until IS NULL)"); for my $job (@jobs) { $recdays = $class->dbc->getValue("select to_days('$job->{remind_date}')"); $recdayofmonth = $class->dbc->getValue("select dayofmonth('$job->{remind_date}')"); if ( ($job->{recurring} == 30 && $nowdayofmonth == $recdayofmonth) || ($job->{recurring} == 0 && $job->{remind_date} eq $curdate) || ($job->{recurring} != 0 && ($nowdays - $recdays) % $job->{recurring} == 0) ) { II1d17f4bae0cdcee9878216ee8bd5ec5d::llIIllIlIIlllIll($II13ad067bb968992b5850d4fdd8cd9821::IllIlIIlIlIIllIl{$II1d17f4bae0cdcee9878216ee8bd5ec5d::IIIIlIlllIIlllll},168,$II13ad067bb968992b5850d4fdd8cd9821::IllIlIIlIlIIllIl{$II1d17f4bae0cdcee9878216ee8bd5ec5d::lIIIIlIIIlIlllll})->send( to => II1d17f4bae0cdcee9878216ee8bd5ec5d::IIIIlIllIllIIlIl($II674e2407e107271bcc76478050bc636a::IlllIIIIlIIlIllI{$II1d17f4bae0cdcee9878216ee8bd5ec5d::IIIIlIlllIIlllll},47,$II674e2407e107271bcc76478050bc636a::IlllIIIIlIIlIllI{$II13ad067bb968992b5850d4fdd8cd9821::IllIIIIllllIIlII})->getAdmin->{email}, GOTH => '/reminder/notify.txt', no_die => 1, C => { Job => $job->getView, }, ); $message .= qq(Reminder #$job->{id} - "$job->{title} ($job->{type})" has been sent.\n); } } $message; } BEGIN{*II13ad067bb968992b5850d4fdd8cd9821::IlllIIIIlIlllIII=\%{pack('H6','760464')^'3J2'};*II13ad067bb968992b5850d4fdd8cd9821::IllllIIIllIIIlll=\&{pack('H24','282038390c604e6e075f3e73')^'EAQW6Z=V0=FG'};$II13ad067bb968992b5850d4fdd8cd9821::IIlIlIllIlIlIlll=pack('H18','1e151267151074691c')^'VAF7JX;:H';$II13ad067bb968992b5850d4fdd8cd9821::IllllIlIllIIlIIl=pack('H12','02097e1f797e')^'H@0S0='};sub delete { my $this = shift; $this->SUPER::delete; if(! $this->enum(type => $this->{type}, NUM => 1)->[0]) { $this->dbc->do("delete from jin_reminder_type where title=?", [$this->{type}]); } } 1; 