Sponsored Content
Top Forums Web Development Notes with Ravinder on Badging System Development Part II Post 303028306 by Neo on Friday 4th of January 2019 04:35:12 AM
Old 01-04-2019
This should be a good start:

Code:
<?php
$badges_serialized = json_encode ($color);
$hash = hash('ripemd160',$badges_serialized);
$gethash  = "SELECT badgeshash AS hash FROM user where userid =". $uid;
$userhash = $vbulletin->db->query_first($gethash);
if( $hash != $userhash['hash']){
	$updatehash = "UPDATE user SET badgeshash =". $hash . "WHERE userid =" . $uid;
	$status = $vbulletin->db->query_write($updatehash);
	setcookie("badgestatechange", true);
}
else{
	setcookie("badgestatechange", false);
}

Or maybe modify to write a javascript and use js to write to localstorage.

Either way, this is the start of the alerting system when the state changes a users badges.

Later can write a function to parse the JSON and provide the exact info on what badge has changed; but will need to store the serialized badges and not just stash the hash.

Like this:

Code:
<?php
$badges_serialized = json_encode($color);
$hash = hash('ripemd160', $badges_serialized);
$gethash = "SELECT badgeshash AS hash FROM user where userid =" . $uid;
$userhash = $vbulletin->db->query_first($gethash);
if ($hash != $userhash['hash']) {
    $updatehash = "UPDATE user SET badgeshash =" . $hash . "WHERE userid =" . $uid;
    $status = $vbulletin->db->query_write($updatehash);
    $badgejs .= " localStorage.setItem('badgestatechange','true')"; 
} else {
    $badgejs .= " localStorage.setItem('badgestatechange','false')";
}

This first step is easy....
 

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
IRSEND(1)							   User Commands							 IRSEND(1)

NAME
irsend - basic LIRC program to send infra-red commands SYNOPSIS
irsend [options] DIRECTIVE REMOTE CODE [CODE...] DESCRIPTION
Asks the lircd daemon to send one or more CIR (Consumer Infra-Red) commands. This is intended for remote control of electronic devices such as TV boxes, HiFi sets, etc. DIRECTIVE can be: SEND_ONCE - send CODE [CODE ...] once SEND_START - start repeating CODE SEND_STOP - stop repeating CODE LIST - list configured remote items SET_TRANSMITTERS - set transmitters NUM [NUM ...] SIMULATE - simulate IR event REMOTE is the name of a remote, as described in the lircd configuration file. CODE is the name of a remote control key of REMOTE, as it appears in the lircd configuration file. NUM is the transmitter number of the hardware device. For the LIST DIRECTIVE, REMOTE and/or CODE can be empty: LIST "" "" - list all configured remote names LIST REMOTE "" - list all codes of REMOTE LIST REMOTE CODE - list only CODE of REMOTE The SIMULATE command only works if it has been explicitly enabled in lircd. -h --help display usage summary -v --version display version -d --device use given lircd socket [/var/run/lirc/lircd] -a --address=host[:port] connect to lircd at this address -# --count=n send command n times EXAMPLES
irsend LIST DenonTuner "" irsend SEND_ONCE DenonTuner PROG-SCAN irsend SEND_ONCE OnkyoAmpli VOL-UP VOL-UP VOL-UP VOL-UP irsend SEND_START OnkyoAmpli VOL-DOWN ; sleep 3 irsend SEND_STOP OnkyoAmpli VOL-DOWN irsend SET_TRANSMITTERS 1 irsend SET_TRANSMITTERS 1 3 4 irsend SIMULATE "0000000000000476 00 OK TECHNISAT_ST3004S" FILES
/etc/lirc/lircd.conf Default lircd configuration file. It should contain all the remotes, their infra-red codes and the corresponding timing and wave- form details. DIAGNOSTICS
If lircd is not running (or /var/run/lirc/lircd lacks write permissions) irsend aborts with the following diagnostics: "irsend: could not connect to socket" "irsend: Connection refused" (or "Permission denied"). SEE ALSO
The documentation for lirc is maintained as html pages. They are located under html/ in the documentation directory. lircd(8), mode2(1), smode2(1), xmode2(1), irrecord(1), irw(1), http://www.lirc.org. irsend 0.9.0-pre1 October 2010 IRSEND(1)
All times are GMT -4. The time now is 01:09 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy