Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?
- /*************************************************************************\
- //--------------Schedule page -------------------------------------------//
- This page is run every 15 minutes, by cron.
- \*************************************************************************/
- function next_biweek() {
- $Date = gmdate('d');
- if($Date < 22 && $Date >=8) {
- $Return = 22;
- } else {
- $Return = 8;
- }
- return $Return;
- }
- function next_day() {
- $Tomorrow = gmmktime(0,0,0,gmdate('m'),gmdate('d')+1,gmdate('Y'));
- return gmdate('d', $Tomorrow);
- }
- function next_hour() {
- $Hour = gmmktime(gmdate('H')+1,0,0,gmdate('m'),gmdate('d'),gmdate('Y'));
- return gmdate('H', $Hour);
- }
- if ($argv[1]!=SCHEDULE_KEY && !check_perms('admin_schedule')) { // authorization, Fix to allow people with perms hit this page.
- error(403);
- }
- header('Content-type: text/plain');
- $DB->query("SELECT NextHour, NextDay, NextBiWeekly FROM schedule");
- list($Hour, $Day, $BiWeek) = $DB->next_record();
- echo format_time(gmmktime())."\n";
- /*************************************************************************\
- //--------------Run every time ------------------------------------------//
- These functions are run every time the script is executed (every 15
- minutes).
- \*************************************************************************/
- echo "Ran every-time functions\n";
- //------------- Delete unpopular tags -----------------------------------//
- $DB->query("DELETE FROM torrents_tags WHERE NegativeVotes>PositiveVotes");
- //------------- Put users on ratio watch --------------------------------//
- // $RatioRequirements is defined in config.php
- $DownloadBarrier = 1024*1024*1024*1024*1024; // one petabyte
- while(list($Download, $Ratio, $JoinDate) = array_shift($RatioRequirements)){
- // Take user off ratio watch if he meets the standards
- $DB->query("UPDATE users_info AS i JOIN users_main AS m ON m.ID=i.UserID
- SET i.RatioWatchEnds='0000-00-00 00:00:00',
- i.RatioWatchDownload='0'
- WHERE m.Downloaded >= '$Download'
- AND m.Downloaded <= '$DownloadBarrier'
- AND m.Uploaded/m.Downloaded >= '$Ratio'
- AND i.RatioWatchEnds!='0000-00-00 00:00:00'");
- // Put user on ratio watch if he doesn't meet the standards
- $DB->query("UPDATE users_info AS i JOIN users_main AS m ON m.ID=i.UserID
- SET i.RatioWatchEnds='".time_plus(60*60*24*14)."',
- i.RatioWatchTimes = i.RatioWatchTimes+1,
- i.RatioWatchDownload = m.Downloaded
- WHERE m.Downloaded >= '$Download'
- AND m.Uploaded/m.Downloaded <= '$Ratio'
- AND i.RatioWatchEnds='0000-00-00 00:00:00'
- AND i.JoinDate<'$JoinDate'");
- $DownloadBarrier = $Download;
- }
- //------------- Disable users on ratio watch ----------------------------//
- // If a user hasn't been taken off ratio watch in the two weeks since he was put on, banhammer
- $DB->query("UPDATE users_info AS i JOIN users_main AS m ON m.ID=i.UserID
- SET m.Enabled='2',
- i.BanDate='".sqltime()."',
- i.BanReason='2',
- i.RatioWatchDownload='0',
- i.RatioWatchEnds='0000-00-00 00:00:00',
- m.can_leech='0',
- i.AdminComment=CONCAT('".sqltime()." - Disabled by ratio watch system
- ', i.AdminComment)
- WHERE i.RatioWatchEnds!='0000-00-00 00:00:00'
- AND i.RatioWatchEnds<'".sqltime()."'
- And m.Enabled='1'");
- // If a user has downloaded more than 10 gigs while on ratio watch, banhammer
- $DB->query("UPDATE users_info AS i JOIN users_main AS m ON m.ID=i.UserID
- SET m.Enabled='2',
- i.BanDate='".sqltime()."',
- i.BanReason='3',
- i.RatioWatchDownload='0',
- i.RatioWatchEnds='0000-00-00 00:00:00',
- m.can_leech='0',
- i.AdminComment=CONCAT('".sqltime()." - Disabled by ratio watch system for downloading more than 10 gigs on ratio watch
- ', i.AdminComment)
- WHERE i.RatioWatchEnds!='0000-00-00 00:00:00'
- AND i.RatioWatchDownload+10*1024*1024*1024<m.Downloaded
- And m.Enabled='1'");
- //------------- Build Torrent Hash Table --------------------------------//
- if(!$_GET['nohash']) {
- $HashTime=gmmktime();
- $DB->query("DELETE g FROM torrents_group AS g LEFT JOIN torrents AS t ON t.GroupID = g.ID WHERE t.ID IS NULL");
- $DB->query("UPDATE torrents_group SET TagList=(
- SELECT CONCAT('|',GROUP_CONCAT(tags.Name SEPARATOR '|'),'|')
- FROM torrents_tags AS t
- INNER JOIN tags ON tags.ID=t.TagID
- WHERE t.GroupID=torrents_group.ID
- GROUP BY t.GroupID)");
- $DB->query("SELECT
- g.ID,
- g.Name,
- g.Year,
- g.CategoryID,
- g.Time,
- MAX(t.Size),
- SUM(t.Snatched),
- SUM(t.Seeders),
- SUM(t.Leechers),
- a.ID,
- a.Name,
- a.CatIcon,
- GROUP_CONCAT(t.ID ORDER BY t.Format DESC, t.Encoding, t.ID SEPARATOR '|'),
- g.TagList,
- CONCAT('|',GROUP_CONCAT(t.Media ORDER BY t.Format DESC, t.Encoding, t.ID SEPARATOR '|'),'|'),
- CONCAT('|',GROUP_CONCAT(t.Format ORDER BY t.Format DESC, t.Encoding, t.ID SEPARATOR '|'),'|'),
- CONCAT('|',GROUP_CONCAT(t.Encoding ORDER BY t.Format DESC, t.Encoding, t.ID SEPARATOR '|'),'|'),
- GROUP_CONCAT(t.Year ORDER BY t.Format DESC, t.Encoding, t.ID SEPARATOR '|'),
- GROUP_CONCAT(t.Remastered ORDER BY t.Format DESC, t.Encoding, t.ID SEPARATOR '|'),
- CONCAT('|',GROUP_CONCAT(t.RemasterTitle ORDER BY t.Format DESC, t.Encoding, t.ID SEPARATOR '|'),'|'),
- GROUP_CONCAT(t.Scene ORDER BY t.Format DESC, t.Encoding, t.ID SEPARATOR '|'),
- CONCAT('|',GROUP_CONCAT(t.HasLog ORDER BY t.Format DESC, t.Encoding, t.ID SEPARATOR '|'),'|'),
- CONCAT('|',GROUP_CONCAT(t.HasCue ORDER BY t.Format DESC, t.Encoding, t.ID SEPARATOR '|'),'|'),
- GROUP_CONCAT(t.FileCount ORDER BY t.Format DESC, t.Encoding, t.ID SEPARATOR '|'),
- GROUP_CONCAT(t.Size ORDER BY t.Format DESC, t.Encoding, t.ID SEPARATOR '|'),
- GROUP_CONCAT(t.Leechers ORDER BY t.Format DESC, t.Encoding, t.ID SEPARATOR '|'),
- GROUP_CONCAT(t.Seeders ORDER BY t.Format DESC, t.Encoding, t.ID SEPARATOR '|'),
- GROUP_CONCAT(t.Snatched ORDER BY t.Format DESC, t.Encoding, t.ID SEPARATOR '|'),
- CONCAT('|',GROUP_CONCAT(t.FreeTorrent ORDER BY t.Format DESC, t.Encoding, t.ID SEPARATOR '|'),'|'),
- GROUP_CONCAT(t.Time ORDER BY t.Format DESC, t.Encoding, t.ID SEPARATOR '|'),
- CONCAT_WS(' ',a.Name,g.Name,g.Year),
- GROUP_CONCAT(t.exclusive ORDER BY t.Format DESC, t.Encoding, t.ID SEPARATOR '|'),
- CONCAT('|',GROUP_CONCAT(t.Checked ORDER BY t.Format DESC, t.Encoding, t.ID SEPARATOR '|'),'|')
- FROM torrents AS t
- LEFT JOIN torrents_group AS g ON g.ID=t.GroupID
- LEFT JOIN artists AS a ON a.ID=g.ArtistID
- GROUP BY t.GroupID
- INTO OUTFILE '".TMP_DIR."/th_".$HashTime.".txt'");
- $DB->query("LOAD DATA INFILE '".TMP_DIR."/th_".$HashTime.".txt' REPLACE INTO TABLE torrent_hash");
- @unlink(TMP_DIR.'/th_'.$HashTime.'.txt');
- $DB->query("DELETE h FROM torrent_hash AS h LEFT JOIN torrents_group AS g ON g.ID=h.GroupID WHERE g.ID IS NULL");
- // Special characters don't survive the outfile/infile transition
- $DB->query("
- INSERT INTO torrent_hash (GroupID, GroupName, ArtistName)
- SELECT g.ID, g.Name, a.Name
- FROM torrents_group AS g
- LEFT JOIN artists AS a ON a.ID=g.ArtistID
- ON DUPLICATE KEY UPDATE
- GroupName=VALUES(GroupName),
- ArtistName=VALUES(ArtistName)");
- $DB->query("UPDATE torrent_hash SET SearchText=CONCAT_WS(' ',ArtistName, GroupName, GroupYear)");
- // Replace special characters with latin equilavents
- $Query = 'SearchText';
- while(list($K, list($Search, $Replace)) = each($SpecialChars)){
- $Query = 'REPLACE('.$Query.", '$Search', '$Replace')";
- }
- $Query = "UPDATE torrent_hash SET SearchText=".$Query;
- $DB->query($Query);
- $DB->query("UPDATE torrents_group AS g, torrent_hash AS h SET g.SearchText=h.SearchText WHERE g.ID=h.GroupID");
- //-----------------------------------------------------------------*/
- echo "Hash built in ".(gmmktime()-$HashTime)." seconds\n";
- $Cache->clear_browse_cache();
- //---------------------------------------------------------//
- //---------------- Donation meter values ------------------//
- $Cache->delete_value(donation_meter_total);
- $Cache->delete_value(donation_meter_percent);
- $dmonth = date('m');
- $dyear = date('y');
- $DB->query("SELECT SUM(Amount) FROM donations WHERE Month = $dmonth AND Year = $dyear");
- $total = (array_sum(list($Amount) = $DB->next_record())/2);
- // Site cost = $200, divide donations by 200 to get decimal percent
- $percent = round((($total/200)*100), 0);
- $Cache->cache_value(donation_meter_total, $total, 3600);
- $Cache->cache_value(donation_meter_percent, $percent, 3600);
- // value of donation meter
- // percent of donations
- $wutvalue = $Cache->get_value(donation_meter_total);
- $wutpercent = $Cache->get_value(donation_meter_percent);
- echo "Donations for this month: $" . $wutvalue . " ( " . $wutpercent . "% ) \n";
- echo 'Set donation SQL cache' . "\n";
- //---------------------------------------------------------//
- //---------------- Remove expired donation status----------//
- $RunTime = time();
- $DB->query("UPDATE users_info SET Donor = 0 WHERE DonorEnd < '".$RunTime."'");
- echo $RunTime . "\n";
- // Get user count for signup page
- $DB->query("SELECT COUNT(ID) FROM users_main WHERE Enabled='1'");
- list($UserCount) = $DB->next_record();
- $Cache->cache_value(signup_count, $UserCount, 3600);
- echo $Cache->get_value(signup_count) . ' users enabled, openreg closed' . "\n";
- $DB->query("DELETE FROM xbt_files_users WHERE mtime< UNIX_TIMESTAMP(NOW()-INTERVAL .5 HOUR)");
- $DB->query('SELECT uid FROM xbt_files_users WHERE remaining=0 AND active=1');
- $count=$DB->record_count();
- echo $count / 4 . " credits will be awarded" . "\n";
- //------------------- Give bonus points -------------------------------//
- $DB->query('INSERT INTO users_info (UserID) SELECT uid FROM xbt_files_users WHERE remaining=0 AND active=1 ON DUPLICATE KEY UPDATE BonusPoints=BonusPoints+.25');
- }
- /*************************************************************************\
- //--------------Run every hour ------------------------------------------//
- These functions are run every hour.
- \*************************************************************************/
- if($Hour != next_hour() || $_GET['runhour']){
- echo "Ran hourly functions\n";
- //------------- Delete dead torrents ------------------------------------//
- //------------- Promote users -------------------------------------------//
- $Criteria = array();
- $Criteria[]=array('From'=>USER, 'To'=>MEMBER, 'MinUpload'=>20*1024*1024*1024, 'MinRatio'=>1.0, 'MinUploads'=>1, 'MaxTime'=>time_minus(3600*24*7*2));
- $Criteria[]=array('From'=>MEMBER, 'To'=>POWER, 'MinUpload'=>35*1024*1024*1024, 'MinRatio'=>1.7, 'MinUploads'=>5, 'MaxTime'=>time_minus(3600*24*7*6));
- $Criteria[]=array('From'=>POWER, 'To'=>LEGEND, 'MinUpload'=>100*1024*1024*1024, 'MinRatio'=>2.5, 'MinUploads'=>15, 'MaxTime'=>time_minus(3600*24*7*12));
- foreach($Criteria as $L){ // $L = Level
- $DB->query("UPDATE users_main JOIN users_info ON users_main.ID = users_info.UserID SET
- PermissionID='$L[To]'
- WHERE PermissionID='$L[From]'
- AND Warned= '0000-00-00 00:00:00'
- AND Uploaded>='$L[MinUpload]'
- AND Uploaded/Downloaded >='$L[MinRatio]'
- AND JoinDate<'$L[MaxTime]'
- AND (SELECT COUNT(ID) FROM torrents WHERE UserID=users_main.ID)>='$L[MinUploads]'
- AND Enabled='1'");
- }
- //------------- Expire invites ------------------------------------------//
- $DB->query('SELECT InviterID FROM invites WHERE Expires<\''.sqltime().'\'');
- $Users = $DB->to_array();
- while(list($UserID) = array_shift($Users)) {
- $DB->query("UPDATE users_main SET Invites=Invites+1 WHERE ID=$UserID");
- }
- $DB->query('DELETE FROM invites WHERE Expires<\''.sqltime().'\'');
- //------------- Hide old requests ---------------------------------------//
- $DB->query('UPDATE requests SET Visible=\'0\' WHERE TimeFilled<\''.time_minus(3600*24*3).'\' AND TimeFilled<>\'0000-00-00 00:00:00\'');
- //------------- Remove dead peers ---------------------------------------//
- $DB->query("DELETE FROM xbt_files_users WHERE mtime< UNIX_TIMESTAMP(NOW()-INTERVAL 1 HOUR)");
- //------------- Lower Login Attempts ------------------------------------//
- $DB->query("UPDATE login_attempts SET Attempts=Attempts-1 WHERE Attempts>0");
- $Hour = next_hour();
- }
- /*************************************************************************\
- //--------------Run every day -------------------------------------------//
- These functions are run in the first 15 minutes of every day.
- \*************************************************************************/
- if($Day != next_day() || $_GET['runday']){
- echo "Ran daily functions\n";
- if($Day%2 == 0){ // If we should generate the drive database (at the end)
- $GenerateDriveDB = true;
- }
- //------------- Remove expired warnings ---------------------------------//
- $DB->query("UPDATE users_info SET Warned='0000-00-00 00:00:00' WHERE Warned<'".sqltime()."'");
- //------------- Disable inactive user accounts --------------------------//
- $DB->query("UPDATE users_info AS ui JOIN users_main AS um ON um.ID=ui.UserID
- SET um.Enabled='2',
- ui.BanDate='".sqltime()."',
- ui.BanReason='3',
- ui.AdminComment=CONCAT('".sqltime()." - Disabled for inactivity
- ', ui.AdminComment)
- WHERE um.PermissionID IN ('".USER."', '".MEMBER ."')
- AND um.LastAccess<'".time_minus(60*60*24*7*10)."'
- AND um.LastAccess!='0000-00-00 00:00:00'
- AND ui.Donor='0'
- AND um.Enabled!='2'");
- //------------- Disable unconfirmed users ------------------------------//
- $DB->query("UPDATE users_info AS ui JOIN users_main AS um ON um.ID=ui.UserID
- SET um.Enabled='2',
- ui.BanDate='".sqltime()."',
- ui.BanReason='3',
- ui.AdminComment=CONCAT('".sqltime()." - Disabled for inactivity (never logged in)
- ', ui.AdminComment)
- WHERE um.LastAccess='0000-00-00 00:00:00'
- AND ui.JoinDate<'".time_minus(60*60*24*7)."'
- AND um.Enabled!='2'
- ");
- //------------- Demote users --------------------------------------------//
- $DB->query('UPDATE users_main SET PermissionID='.USER.' WHERE PermissionID IN('.MEMBER.', '.POWER.', '.ELITE.', '.TORRENT_MASTER.') AND Uploaded/Downloaded < 1.0 OR PermissionID IN('.MEMBER.', '.POWER.', '.ELITE.', '.TORRENT_MASTER.') AND Uploaded < 20*1024*1024*1024) OR PermissionID IN('.MEMBER.', '.POWER.', '.ELITE.', '.TORRENT_MASTER.') AND MinUploads > 1');
- $DB->query('UPDATE users_main SET PermissionID='.USER.' WHERE PermissionID IN('.MEMBER.', '.POWER.', '.ELITE.', '.TORRENT_MASTER.') AND Uploaded/Downloaded < 0.8');
- //------------- Lock old threads ----------------------------------------//
- $DB->query("UPDATE forums_topics
- SET IsLocked='1'
- WHERE IsSticky='0'
- AND LastPostTime<NOW()-INTERVAL 4 WEEK
- AND IsLocked='0'
- ");
- //------------- Take a ratio history dump -------------------------------//
- $DB->query("SELECT MAX(Sequence) FROM users_history_ratio");
- list($Sequence) = $DB->next_record();
- $LastSequence = $Sequence;
- $Sequence++;
- if(!$Sequence){
- $Sequence = 1;
- }
- $DB->query("INSERT INTO users_history_ratio(Sequence, UserID, Uploaded, Downloaded, UpChange, DownChange, Time)
- SELECT '$Sequence', m.ID, m.Uploaded, m.Downloaded, (m.Uploaded - r.Uploaded), (m.Downloaded - r.Downloaded), '".sqltime()."'
- FROM users_main AS m
- LEFT JOIN users_history_ratio AS r ON r.UserID=m.ID AND r.Sequence='$LastSequence'");
- if(($Sequence-48)>0) {
- $DB->query("DELETE FROM users_history_ratio_hourly WHERE Sequence<=".($Sequence-48));
- }
- //------------- Delete dead torrents ------------------------------------//
- $i = 0;
- $DB->query("SELECT
- t.ID,
- t.GroupID,
- tg.Name,
- a.Name,
- t.last_action
- FROM torrents AS t
- JOIN torrents_group AS tg ON tg.ID=t.GroupID
- LEFT JOIN artists AS a ON a.ID=tg.ArtistID
- WHERE t.last_action<'".time_minus(3600*24*14)."'
- AND t.last_action!='0000-00-00 00:00:00'");
- $TorrentIDs = $DB->to_array();
- while(list($ID, $GroupID, $Name, $ArtistName, $LastAction) = array_shift($TorrentIDs)) {
- if($ArtistName) {
- $Name = $ArtistName.' - '.$Name;
- }
- delete_torrent($ID, $GroupID);
- write_log('Torrent '.$ID.' ('.$Name.') was deleted for inactivity (not seeded in 2 weeks)');
- ++$i;
- }
- echo "\nDeleted $i torrents for inactivity\n";
- $DB->query("SELECT SimilarID FROM artists_similar_scores WHERE Score<=0");
- $SimilarIDs = implode(',',$DB->collect('SimilarID'));
- if(count($SimilarIDs)>0) {
- $DB->query("DELETE FROM artists_similar WHERE SimilarID IN($SimilarIDs)");
- $DB->query("DELETE FROM artists_similar_scores WHERE SimilarID IN($SimilarIDs)");
- $DB->query("DELETE FROM artists_similar_votes WHERE SimilarID IN($SimilarIDs)");
- }
- $Day = next_day();
- }
- /*************************************************************************\
- //--------------Run twice per month -------------------------------------//
- These functions are twice per month, on the 8th and the 22nd.
- \*************************************************************************/
- if($BiWeek != next_biweek()) {
- echo "Ran bi-weekly functions\n";
- //------------- Cycle auth keys -----------------------------------------//
- $DB->query("UPDATE users_info
- SET AuthKey =
- MD5(
- CONCAT(
- AuthKey, RAND(), '".db_string(make_secret())."',
- SHA1(
- CONCAT(
- RAND(), RAND(), '".db_string(make_secret())."'
- )
- )
- )
- );"
- );
- //------------- Give out invites! ---------------------------------------//
- /*
- Every month, on the 8th, each Power User gets one invite (max of 4).
- Every month, on the 8th and the 22nd, each Elite User gets one invite (max of 4).
- Every month, on the 8th and the 22nd, each TorrentMaster gets two invites (max of 8).
- Then, every month, on the 8th and the 22nd, we give out bonus invites like this:
- Every Power User, Elite User or TorrentMaster whose total invitee ratio is above 0.75 and total invitee upload is over 2 gigs gets one invite.
- Every Power User, Elite User or TorrentMaster whose total invitee ratio is above 2.0 and total invitee upload is over 10 gigs gets one invite.
- Every Power User, Elite User or TorrentMaster whose total invitee ratio is above 3.0 and total invitee upload is over 20 gigs gets one invite.
- This cascades, so if you qualify for the last bonus group, you also qualify for the first two and will receive three bonus invites.
- So a TorrentMaster who fits in the last bonus category gets 5 invites every month on the 8th and the 22nd, whereas a power user who fits in the first category gets two invites on the 8th and one on the 22nd. A power user whose invitees suck only gets one invite per month.
- There is a hard maximum of 10 invites for all classes, that cannot be exceeded by bonus invites.
- */
- // Power users
- /*
- if($BiWeek == 8){
- $DB->query("UPDATE
- users_main AS um
- JOIN users_info AS ui ON ui.UserID=um.ID
- SET um.Invites=um.Invites+1
- WHERE PermissionID=".POWER."
- AND um.Enabled='1'
- AND ui.DisableInvites='0'
- AND um.Invites<4");
- }
- // Elite users
- $DB->query("UPDATE
- users_main AS um
- JOIN users_info AS ui ON ui.UserID=um.ID
- SET um.Invites=um.Invites+1
- WHERE PermissionID=".ELITE."
- AND um.Enabled='1'
- AND ui.DisableInvites='0'
- AND um.Invites<4");
- //TorrentMasters
- $DB->query("UPDATE
- users_main AS um
- JOIN users_info AS ui ON ui.UserID=um.ID
- SET um.Invites=um.Invites+1
- WHERE PermissionID=".TORRENT_MASTER."
- AND um.Enabled='1'
- AND ui.DisableInvites='0'
- AND um.Invites=7");
- $DB->query("UPDATE
- users_main AS um
- JOIN users_info AS ui ON ui.UserID=um.ID
- SET um.Invites=um.Invites+2
- WHERE PermissionID=".TORRENT_MASTER."
- AND um.Enabled='1'
- AND ui.DisableInvites='0'
- AND um.Invites<7");
- // Handle bonus invites
- $BonusReqs = array(
- array(0.75, 2*1024*1024*1024),
- array(2.0, 10*1024*1024*1024),
- array(3.0, 20*1024*1024*1024));
- // In case you didn't know, MySQL sucks shit through a straw.
- // Since MySQL doesn't like subselecting from the target table during an update, we must create a temporary table.
- // \o/
- $DB->query("CREATE TEMPORARY TABLE u
- SELECT SUM(Uploaded) AS Upload,SUM(Downloaded) AS Download,Inviter
- FROM users_main AS um JOIN users_info AS ui ON ui.UserID=um.ID
- GROUP BY Inviter");
- while(list($Ratio, $Upload) = array_shift($BonusReqs)) {
- $DB->query("
- UPDATE users_main AS um
- JOIN users_info AS ui ON ui.UserID=um.ID
- JOIN u ON u.Inviter=um.ID
- SET um.Invites=um.Invites+1
- WHERE
- u.Upload/u.Download>$Ratio
- AND u.Upload>$Upload
- AND um.PermissionID IN(".POWER.", ".ELITE.", ".TORRENT_MASTER.")
- AND um.Enabled='1'
- AND ui.DisableInvites='0'
- AND um.Invites<10
- ");
- } */
- $BiWeek = next_biweek();
- }
- $DB->query("UPDATE schedule SET NextHour = $Hour, NextDay = $Day, NextBiWeekly = $BiWeek");
- echo "-------------------------\n\n";
- ?>
Add Comment
Please, Sign In to add comment