Upload
josh-hillier
View
534
Download
0
Embed Size (px)
Citation preview
<CO D E>
<script>jQuery(function($)) { $(document).on(‘click’,’a.toc-goodbye’, function() { $.ajax({ url: ajaxurl, data: { id:’<?php echo get_current_user_id(); ?>’, action: ‘update_toc_meta’, security:$(‘.toc-goodbye’).data(‘nonce’), }, success: function(data) { $(‘.toc-box’).fadeOut(250); } }) })});</script>
<CO D E>
<script>jQuery(function($)) { $(document).on(‘click’,’a.toc-goodbye’, function() { $.ajax({ url: ajaxurl, data: { id:’<?php echo get_current_user_id(); ?>’, action: ‘update_toc_meta’, security:$(‘.toc-goodbye’).data(‘nonce’), }, success: function(data) { $(‘.toc-box’).fadeOut(250); } }) })});</script>
<CO D E>
<script>jQuery(function($)) { $(document).on(‘click’,’a.toc-goodbye’, function() { $.ajax({ url: ajaxurl, data: { id:’<?php echo get_current_user_id(); ?>’, action: ‘joshy_update_toc_meta’, security:$(‘.toc-goodbye’).data(‘nonce’), }, success: function(data) { $(‘.toc-box’).fadeOut(250); } }) })});</script>
<CO D E>
<script>jQuery(function($)) { $(document).on(‘click’,’a.toc-goodbye’, function() { $.ajax({ url: ajaxurl, data: { id:’<?php echo get_current_user_id(); ?>’, action: ‘update_toc_meta’, security:$(‘.toc-goodbye’).data(‘nonce’), }, success: function(data) { $(‘.toc-box’).fadeOut(250); } }) })});</script>
<CO D E>
F U N C T I O NS . PH P
<?php function update_toc_meta() { check_ajax_referer(‘toc-goodbye’, ‘security’); update_user_meta( $_REQUEST[‘id’], ’toc_goodbye’, true);}add_action(‘wp_ajax_update_toc_meta’, ‘update_toc_meta’);?>
<CO D E>
/ H O M E /A PP/ PAC K AGE. JS O N
{ “name”: “RealTimeTalk”, “version”: “0.0.1”, “description”: “WPBrum Realtime talk”, “dependencies”: { “socket.io”: “latest”, “express”: “latest”, “body-parser”:”latest” }, “author”: “joshy”}
E XPRESS . JS // N O D E FR A M E W O R KBODY- PAR SER // M I D D L E WA R E F O R E X PR E S SSOCK ET. IO // R E A LT I M E M O D U L E
NPM
<CO D E>
/ H O M E /A PP/A PP. JS
var express = require(‘express’);var bodyParser = require(‘body-parser’);var app = express();var io = require(‘socket.io’).listen(app.listen(8080));//Logs Into Terminalconsole.log(‘connected’);
app.get(‘/’, function(req, res){ res.send(‘hello world’);});
<CO D E>
F U N C T I O NS . PH P 1/ 2
add_action(‘wp_ajax_place_bid’,’place_bid’);function place_bid() { check_ajax_referer(‘bid-nonce’,’bid_nonce’);
$id = get_current_user_id();
$info = array ( ‘username’ => $userName = get_user_by(‘id’,$id)->user_nicename, ‘price’ => $_REQUEST[‘price’], ‘post_ID’ => $_REQUEST[‘post_id’] ); //Save to DB update_post_meta($_REQUEST[‘post_id’], ‘bid’, $info);
...
<CO D E>
F U N C T I O NS . PH P 2 / 2
...
//Send to Node. $data = json_encode($info); $api_url = ‘http://localhost:8080/emit/bid/’; $headers = array( ‘Content-Type’ => ‘application/json’, ‘Content-Length’ => strlen($data) );
$request = new WP_Http; $result = $request->request( $api_url , array( ‘method’ => ‘POST’, ‘body’ => $data, ‘headers’ => $headers ) );
die;}
<CO D E>
SER V ER . JS
app.use(bodyParser.json())
io.on(‘connection’, function (socket) {app.post(‘/emit/bid/’, function(req,res){ res.send(‘thanks’); io.emit(‘new-post’, req.body);});
<CO D E>
I N D E X . PH P
<script> jQuery(function($){ socket.on(‘bid’, function (data) {
//Do Stuff with Post Object }); });</script>