Sponsored Content
Top Forums Web Development Notes with Ravinder on Badging System Development Part II Post 303028303 by Neo on Friday 4th of January 2019 12:04:37 AM
Old 01-04-2019
Note, I'm jumping on a plane in a few hours, so I don't have time to check this properly, but I'm thinking:

Code:
<?php
$day = 60 * 60 * 24;
$dayago = time() - $day;
$incrementseq = "UPDATE user SET lastdayactive = (UNIX_TIMESTAMP()/(60*60*24)), daysinsequence =  daysinsequence +1 WHERE userid =" . $uid;
$selectday = "SELECT lastdayactive AS lastactive FROM user WHERE userid =" . $uid;
$resetday = "UPDATE user SET lastdayactive = (UNIX_TIMESTAMP()/(60*60*24)), daysinsequence =  1 WHERE userid =" . $uid;

$day = $vbulletin->db->query_first($selectday);

if ($day['lastactive'] > $dayago && $day['lastactive'] <= $dayago * 2) {
    $status = $vbulletin->db->query_write($incrementseq);
} elseif ($day['lastactive'] > $dayago * 2) {
    $status = $vbulletin->db->query_write($resetday);
}

$getseq = "SELECT daysinsequence AS daysactive FROM user WHERE userid =" . $uid;
$days = $vbulletin->db->query_first($getseq);
if ($days['daysactive'] > 14) {
    $color['fahistory'] == 'black';
} elseif ($days['daysactive'] > 7) {
    $color['fahistory'] == 'indigo';
} elseif ($days['daysactive'] > 3) {
    $color['fahistory'] == 'blue';
} elseif ($days['daysactive'] > 1) {
    $color['fahistory'] == 'limegreen';
} else {
    $color['fahistory'] == 'lightgray';
}
$badgejs .= 'badge["fahistory"] = "' . $color['fahistory'] . '";';
$badgejs .= 'badge["fahistoryval"] = "' . number_format($days['daysactive']) . '";';

Please take a look and let me know what you think Ravinder!

Thanks

PS: I have not debugged that code above yet and realize that we need to add logic to not query the DB after we reset; because we already have the value (1) so no reason to do the extra query, etc.
This User Gave Thanks to Neo For This Post:
 

3 More Discussions You Might Find Interesting

1. What is on Your Mind?

New Badging System - Badges Prototype Beta 1 (Badges Only)

Today I mapped out the new badging system using FA icons, Beta 1 in no particular order except a 6 x 8 grid: https://www.unix.com/members/1-albums215-picture991.png The prototype HTML code for this layout: <style> .fa-badge-grid { font-size: 1.5em; } .row { ... (38 Replies)
Discussion started by: Neo
38 Replies

2. What is on Your Mind?

Status of Badging System - Beta 1

Dear All, Here is the current status of the badging system: The Beta 1 phase of the new badging system is close to completion. 42 prototype badges have been "allocated" 6 prototype badge slots are held in reserve The "alert you have new badges" prototype is running and is currently... (4 Replies)
Discussion started by: Neo
4 Replies

3. What is on Your Mind?

Badging System: UNIX.COM Bug Hunter Badge (New)

I have moved the bug badge out of reserve and into the main stream. Basically, I will assign a color level like the others, based on who has made a good actionable bug report for UNIX.COM. "Good" means screenshots, links, and even details from web dev tools our the HTML source code. So far,... (0 Replies)
Discussion started by: Neo
0 Replies
ALEVT-DATE(1)							   Teletext time						     ALEVT-DATE(1)

NAME
alevt-date - display/set time received via Teletext SYNOPSIS
alevt-date [options] DESCRIPTION
alevt-date displays the time received from a Teletext source. It can be used to set the system time. The date is not interpreted (not even transmitted on most channels). So it allows only adjustment of +/-12 hours. The default allowed adjustment is limited to +/-2 hours (use -delta to change). Without the -set option it just displays the date in the format of the date(1) command. OPTIONS
A summary of options is included below. -set Set system time from time received via Teletext. -delta seconds Maximum allowed adjustment made to the system time. The default is 7200 seconds (2 hours) and the maximum that may be given is 12 hours. -format string Format string to used to print the time. Look at strftime(3) for possible control sequences. -vbi device Use the given device name (default: /dev/vbi0). -timeout seconds If the time can't be detected in seconds, the program is terminated with a SIGALRM. --help Show summary of options. --version Show version of program. Before starting this program, you have to set the TV channel with another program like xawtv of set-tv. Note: This program does not set the battery backed up clock of your computer. clock -w will do this. FILES
/dev/vbi* SEE ALSO
alevt(1x), alevt-cap(1), strftime(3), date(1), clock(8). BUGS
This program is just a toy. The time transmitted by the TV stations is more than inaccurate. Some are within a few seconds of your local time reference but others are more then 15 minutes off. You've been warned. (And don't assume the pkt8/30 time is better. It's even worse.) No bug reports to <froese@gmx.de> *g*. LINUX
1.6.2 ALEVT-DATE(1)
All times are GMT -4. The time now is 09:38 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy