示例#1
0
var sys = require('util')
var exec = require('child_process').exec;
require('joose'); require('joosex-namespace-depended'); require('hash');

var http = require('http'), io = require('socket.io');

var Mysql = require('mysql').Client,
mysql = new Mysql();

mysql.user = '******';
mysql.password = '******';
mysql.query('USE mmorpg');

// Set the server vars below.
var gamename = "Mystalia Online";
var startmap = 1;
var startpos = '10x6';
var workingmsg = "" // "The server will be down for maintenance and integration of Artificial Intelligence!!! (17/02/2011)";
var serverloc = "/var/www/";

var socketOptions = { 
  transportOptions: { 
    'flashsocket': { 
      closeTimeout: 10000, 
      timeout: 10000 
    }, 'websocket': { 
      closeTimeout: 10000, 
      timeout: 10000 
    }, 'htmlfile': { 
      closeTimeout: 10000, 
      timeout: 10000
 session.close = function() {
   conn.end();
   //conn._connection.destroy();
 };
示例#3
0
/**
 +------------------------------------------------------------------------------
 * Author zhpengle
 +------------------------------------------------------------------------------
 * login_model.js
 * 2012-11-02
 +------------------------------------------------------------------------------
 */
var db = require('../config/db.js');
var Client = require('mysql').Client;
var UserInfo = require('../common/userinfo');

var client = new Client();
client.user = db.USERNAME;
client.password = db.PASSWORD;

//client.connect();//自动连接
client.query('USE '+db.DB_NAME);

module.exports = function(){
client.query('SELECT * FROM test',function selectCb(error, results){
		if(error){
			console.log('数据库连接失败...');
		}else{
			if(results.length>0){
				UserInfo = results;
				console.log(UserInfo);
			}
		}
		client.end();
	});
var wb = require('weibov2').WeiboApi;
var config=require("./mods/config.js").get();
var util=require("./mods/util.js");
var Client = require('mysql').Client;
var fs=require("fs")
////////////////////////////////////////////////////////
////以下为本地服务///////////////////
////定时读取数据库,然后队列发布,读取和发布异步////
////////////////////////////////////////////////////////

var clientCommon = new Client(); 
clientCommon.user = config.sql_username;  
clientCommon.password =config.sql_password;  
clientCommon.query('USE '+config.sql_table);  
//要发送的队列
var sendQueue=[]
//发送一条消息
var sendWB=function(data){
    var token=""
    var secret=""
    //取出当前微博设定用户的key和secret
    clientCommon.query(  
        'SELECT * FROM wb_id  where wb_id='+data.wb_id,function(err, results, fields){
            if(err){
                util.log_error("sendWB select sql error")
                return;
            }
            if(!results.length){
                console.log("not found user "+data.wb_id)
                return;
            }
示例#5
0
 function(callback)
 {
   //saves all values that should be written to the database
   var values = {};
   
   //this is a pro pad, let's convert it to a group pad
   if(padId.indexOf("$") != -1)
   {
     var padIdParts = padId.split("$");
     var proID = padIdParts[0];
     var padName = padIdParts[1];
     
     var groupID
     
     //this proID is not converted so far, do it
     if(proID2groupID[proID] == null)
     {
       groupID = "g." + randomString(16);
       
       //create the mappers for this new group
       proID2groupID[proID] = groupID;
       proID2subdomain[proID] = subdomain;
       groups[groupID] = {pads: {}};
     }
     
     //use the generated groupID;
     groupID = proID2groupID[proID];
     
     //rename the pad
     padId = groupID + "$" + padName;
     
     //set the value for this pad in the group
     groups[groupID].pads[padId] = 1;
   }
   
   try
   {
     var newAuthorIDs = {};
     var oldName2newName = {};
     
     //replace the authors with generated authors
     // we need to do that cause etherpad saves pad local authors, etherpad lite uses them global
     for(var i in apool.numToAttrib)
     {
       var key = apool.numToAttrib[i][0];
       var value = apool.numToAttrib[i][1];
       
       //skip non authors and anonymous authors
       if(key != "author" || value == "")
         continue;
         
       //generate new author values
       var authorID = "a." + randomString(16);
       var authorColorID = authors[i].colorId || Math.floor(Math.random()*32);
       var authorName = authors[i].name || null;
       
       //overwrite the authorID of the attribute pool
       apool.numToAttrib[i][1] = authorID;
       
       //write the author to the database
       values["globalAuthor:" + authorID] = {"colorId" : authorColorID, "name": authorName, "timestamp": timestamp};
       
       //save in mappers
       newAuthorIDs[i] = authorID;
       oldName2newName[value] = authorID;
     }
     
     //save all revisions
     for(var i=0;i<changesets.length;i++)
     {
       values["pad:" + padId + ":revs:" + i] = {changeset: changesets[i], 
                                                meta : {
                                                  author: newAuthorIDs[changesetsMeta[i].a],
                                                  timestamp: changesetsMeta[i].t,
                                                  atext: changesetsMeta[i].atext || undefined
                                                }};
     }
     
     //save all chat messages
     for(var i=0;i<chatMessages.length;i++)
     {
       values["pad:" + padId + ":chat:" + i] = {"text": chatMessages[i].lineText, 
                                                "userId": oldName2newName[chatMessages[i].userId], 
                                                "time": chatMessages[i].time}
     }
     
     //generate the latest atext
     var fullAPool = (new AttributePool()).fromJsonable(apool);
     var keyRev = Math.floor(padmeta.head / padmeta.keyRevInterval) * padmeta.keyRevInterval;
     var atext = changesetsMeta[keyRev].atext;
     var curRev = keyRev;
     while (curRev < padmeta.head) 
     {
       curRev++;
       var changeset = changesets[curRev];
       atext = Changeset.applyToAText(changeset, atext, fullAPool);
     }
     
     values["pad:" + padId] = {atext: atext, 
                               pool: apool, 
                               head: padmeta.head, 
                               chatHead: padmeta.numChatMessages }
   
   }
   catch(e)
   {
     console.error("Error while converting pad " + padId + ", pad skiped");
     console.error(e.stack ? e.stack : JSON.stringify(e));
     callback();
     return;
   }
   
   var sql = "";
   for(var key in values)
   {
     sql+="REPLACE INTO store VALUES (" + etherpadDB.escape(key) + ", " + etherpadDB.escape(JSON.stringify(values[key]))+ ");\n";
   }
   
   fs.writeSync(sqlOutput, sql, undefined, "utf-8");
   callback();
 }
示例#6
0
function Client() {
  MySQLClient.call(this);
  this._queryQueue = [];
  this._isTransaction = false;
}
示例#7
0
文件: index.js 项目: DrayChou/nodejs
  `text` varchar(300) default NULL,
  `created_at` datetime default NULL,
  `user_name` varchar(200),
  `json` longtext,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 * 
 */

var tapi = require('weibo').tapi
  , Client = require('mysql').Client;

var db = new Client({
    host: 'localhost',
    port: 3306,
    user: '******',
    password: '******',
    database: 'weibo_search'
});

db.connect();

// change appkey to yours
var appkey = '3434422667', secret = '523f2d0d134bfd5aa138f9e5af828bf9';
tapi.init('tsina', appkey, secret);

var done = false, page = 19;
var user = {oauth_token_key: "95373d3908edfa574e0d70793c80bf68",
    oauth_token_secret: "80ca45e29cf7908fc5109a7ab06ded85",
    authtype: 'oauth'
};
示例#8
0
/**
 * Module dependencies.
 */

var express = require('express');

var app = module.exports = express.createServer();

var dateFormat = require('./lib/dateformat');

// Mysql 
var Client = require('mysql').Client,
    client = new Client();
    client.user = '******'; 
    client.password = '';
	DATABASE = 'simple_blog_nodejs',
 	POST = 'post';
    //client.host=''; //csak akkor ha nem localhost
    //client.port='5673'; //csak akkor ha nem 3306 standard

    client.connect();
	//adatbázis létrahozása
	client.query('CREATE DATABASE '+DATABASE, function(err) {
	  if (err && err.number != Client.ERROR_DB_CREATE_EXISTS) {
	    throw err;
	  }
	});
	
	//adatbázis használatba vétele :)
	client.query('USE '+DATABASE);
示例#9
0
文件: start.js 项目: bsfan/DCX-NewS
// mysqlTest.js
//加载mysql Module
var Client = require('mysql').Client,
    client = new Client(),
    //DB name
    DATABASE = "dcxnews";
    //要创建的表名
    TEST_TABLE = 'raw_url';

//用户名
client.user = '******';
//密码
client.password = '';
//创建连接
//client.connect();

// If no callback is provided, any errors will be emitted as `'error'`
// events by the client
client.query('USE '+DATABASE);
client.query(
  'CREATE TABLE if not exists '+TEST_TABLE+
  '(id INT(11) AUTO_INCREMENT NOT NULL, '+
  'ctg int(4) NOT NULL, '+
  'title VARCHAR(300) default NULL, '+
  'link VARCHAR(300) default NULL, '+
  'post_date datetime default NULL, '+
  'created DATETIME, '+
  'PRIMARY KEY (id))'
);

client.end();
示例#10
0
// Get the settings for connecting to the database
var settings = require('./settings').test;

// Create the DB client
var Client = require('mysql').Client,
        client = new Client();

// This is the DB (e.g. MySQL) user
client.user = settings.user;

// The DB user's password
client.password = settings.password;

// Create a connection
client.connect();

// Specify the Drupal database name
client.query('USE ' + settings.db);

// Import the functions you need from nodepal.js
var rolesByUid = require('./nodepal').rolesByUid;
var permissionsByUid = require('./nodepal').permissionsByUid;
var userByUid = require('./nodepal').userByUid;
var sessionByUid = require('./nodepal').sessionByUid;
var uidBySid = require('./nodepal').uidBySid;
var nodeByNid = require('./nodepal').nodeByNid;
var nodeAccess = require('./nodepal').nodeAccess;
var getField = require('./nodepal').getField;

// Import http
var http = require('http');
示例#11
0
文件: app.js 项目: chaunceyt/congress
app.get('/congress/:controller/:param1?/:param2?', function(req, res) {

    var controller = req.params.controller;
    var param1 = req.params.param1;
    var param2 = req.params.param2;

    client.connect();
    client.query('USE lawmakers;');
    
    var lawmaker_title;
    var where;

    if(controller == 'representatives') {
    
        lawmaker_title = 'Rep';
        where = ' WHERE title = \''+ lawmaker_title + '\'';

        var sql = 'SELECT * FROM lawmakers ' + where; 

        if(param1) {
            sql += ' AND state = \'' + param1 + '\'';
        }
        if(param2) {
            sql += ' AND district = \''+ param2 + '\'';
        }
        sql += ' AND in_office = \'1\'';
    }

    else if(controller == 'senators') {
        lawmaker_title = 'Sen';
        where = ' WHERE title = \''+ lawmaker_title + '\'';

        var sql = 'SELECT * FROM lawmakers ' + where; 

        if(param1) {
            sql += ' AND state = \'' + param1 + '\'';
        }
        if(param2) {
            sql += ' AND district = \''+ param2 + '\'';
        }

        sql += ' AND in_office = \'1\'';
    }

    else if(controller == 'district') {
        if(param1) {
            var state = param1;
        }
        var sql = 'SELECT * FROM lawmakers WHERE title = \'Rep\'';
        sql += ' AND state = \'' + state + '\'';
        sql += ' AND in_office = \'1\'';
        if(param2) {
            sql += ' AND district = \''+ param2 + '\'';
        }
        sql += ' OR title = \'Sen\'';
        sql += ' AND state = \'' + state + '\'';
        sql += ' AND in_office = \'1\'';
        
        sql += ' ORDER BY lastname ASC';

    }
    //console.log(sql);

    client.query(sql, gently.expect(function selectCb(err, results, fields) {

                //catch error
                if(err) {
                    res.send(500, {'Content-Type': 'application/json'}, { error: err.error });
                }
            
                //set up template locals
                var site_locals = {
                    items: results,
                    message: '',
                };

                //render content
                res.render('congress', {
                    locals: { site: site_locals }
                });

            })
        );
    client.end();

});
示例#12
0
function CreateMap(mapid,playerloc,clientid){
	mysql.query("insert into map (id,title,floor,mask,mask2,fringe,fringe2,animated,music,navigate) values ("+mapid+",'New Map "+mapid+"','0x0=0x0','0x0=0x0','0x0=0x0','0x0=0x0','0x0=0x0','0x0=0x0',1,'0-0-0-0')",function(){
		console.log('Created Map '+mapid);
		PlayerChangeMap(playerloc+':'+mapid,clientid);
	});
}
示例#13
0
					mysql.query("select * from classes where id = "+pclass,function(err, results, fields){
						var classx = results[0];
						mysql.query("insert into players (name,sprite,map,position,items,account)values('"+charname+"',"+classx['sprite']+","+startmap+",'"+startpos+"','','"+acc['id']+"')");
						SendData(clientid,'charcreate:Character Created!');
						console.log(charname + ' was born.');
					});
示例#14
0
			mysql.query('select * from accounts = where username = "******" or email = "'+email+'"',function(err,results,fields){
				if(results == null){
					mysql.query("insert into accounts (username,password,email)values('"+username+"','"+password+"','"+email+"')");
					SendData(clientid,"register:Successful Registration!");
				}else{ SendData(clientid,"register:An account with these details already exists."); }
			});
示例#15
0
文件: board.js 项目: devbeom/nodeweb
var DATABASE = 'test';
var TABLE = 'Board';
var Client = require('mysql').Client;
var client = new Client();


client.user = '******';
client.password = '******';
client.useDatabase('test');

var mysqlUtil = module.exports = {
	
	BoardList : function(param, callback) {
		client.query(
			"select * From Board where Board_idx = '" + param.idx + "' and Title like '%" + param.title + "'"
			,callback
		);
	}
};
示例#16
0
文件: dao.js 项目: ezubaric/quizbowl
  this.tossup.search = function(temp, callback) {

    if (temp.params) {
      obj = temp.params;
    } else {
      obj = {};
    } 
    var query = "";
    if (obj['condition']!==undefined && obj['answer']!==undefined){
      if (obj['condition']=="all"){
        query += "(t.answer like '%" + util.escapeSql(obj['answer']).replace(/ /g,'%') +"%' or t.question like '%" + obj['answer'].replace(/ /g,'%')+"%')";	
      } else if (obj['condition']=="question") {
        query +="(t.question like '%"+util.escapeSql(obj['answer']).replace(/ /g,'%') + "%')";
      } else if (obj['condition']=="answer") {
        query += "(t.answer like '%"+util.escapeSql(obj['answer']).replace(/ /g,'%')+"%')";
      }
    } else {
      if (obj['answer']!==undefined){
        query += "(t.answer like '%" + util.escapeSql(obj['answer']).replace(/ /g,'%')+"%')";
      } else {
        query += "(t.answer like '%%')";
      }
      if (obj['question'] !== undefined){
        query += " and (t.question like '%" + util.escapeSql(obj['question']).replace(/ /g,'%') + "%')";
      }
    }
    if (obj['tournament']!==undefined){
      query = util.addQueryTerm(query,'t.tournament',obj['tournament'],'=',true);
    }
    if (obj['round']!==undefined){
      query = util.addQueryTerm(query,'t.round',obj['round'],'=',true);
    }
    if (obj['year']!==undefined){
      query = util.addQueryTerm(query,'t.year',obj['year'],'=',false);
    }
    if (obj['category']!==undefined){
      query = util.addQueryTerm(query,'t.category',obj['category'],'=',true);
    }
    if (obj['questionNum']!==undefined){
      query = util.addQueryTerm(query,'t.question_num',obj['questionNum'],'=',false);
    }
    if (obj['difficulty']!==undefined){
      query = util.addQueryTerm(query,'t.difficulty',obj['difficulty'],'=',true);
    }
    limitstring = "";
    console.log(obj['random']);
    if (obj['random']=='true'){
      countstring = 'select count(id) from tossups t where '+query;
      client.query(countstring, function(err, results, fields){
          if (!err){
          c = results[0]['count(id)'];
          var offset = Math.floor(Math.random()*c);
          var limit = '1';
          if (obj['limit']){
          limit = obj['limit'];
          }
          querystring = 'select t.tournament,t.year,t.question, t.answer, t.round, t.question_num, t.difficulty, t.pKey,t.category, t.accept from tossups t where '+query+' limit '+limit+' offset '+offset;
          client.query(querystring,function selectCb(err,results,fields){
            if (!err) {
            callback({'count':limit,'offset':offset,'results':results});
            } else{ 
            console.log(err);
            callback({offset:0,results:[]});
            }
            });
          } else {
          console.log(err);
          }
          });
    } else {	
      query += " group by t.pKey";
      if (obj['sort'] == undefined || obj['sort'] == 'date') {
        query += " order by year desc, tournament asc, round asc,question_num asc";
      } else if (obj['sort'] == 'rating') {
        query += " order by sum(r.rating) desc";
      }
      if (obj['offset']!==undefined) {
        limitstring += " limit "+pageLength+" offset "+obj['offset'];
      } else {
        limitstring += " limit "+pageLength;
      }
      querystring = 'select t.tournament,t.year,t.question, t.answer, t.round, t.question_num, t.difficulty, t.pKey,t.category, t.accept from tossups t where '+query+limitstring;
      countstring = 'select count(*) from tossups t where '+query;
      client.query(countstring,function(err,results,fields){
          if (!err) {
          count = results.length;
          client.query(querystring,function selectCb(err,results,fields){
            if (!err) {
            if (!obj['offset'])
            obj['offset']=0; 
            callback({'count':count,'offset':obj['offset'],'results':results});
            } else{ 
            console.log(err);
            callback({offset:0,results:[]});
            }
            });
          } else {
          console.log(err);
          callback({offset:0,results:[]});
          }
          });
    }
  }
示例#17
0
文件: board.js 项目: devbeom/nodeweb
	BoardList : function(param, callback) {
		client.query(
			"select * From Board where Board_idx = '" + param.idx + "' and Title like '%" + param.title + "'"
			,callback
		);
	}
示例#18
0
文件: dao.js 项目: ezubaric/quizbowl
var Dao = function(host, user, password, database){
  client.host = host;
  client.user = user;
  client.password = password;
  client.database = database;
  this.tossup = {}; 
  client.query("select count(*) from tossups",function(err,results,fields){
      if (!err){
      totalcount = results[0]['count(*)'];
      } else {
      console.log(err);
      }
      });
  tossup = this.tossup;
  this.user = {};
  this.rating = {};
  this.reader= {};
  this.tossup.get = function(pKey, callback){
    client.query("select * from tossups where pKey='"+util.escapeSql(pKey)+"'", function(err, result, field){
        if (!err) {
        callback(result[0]);
        } else {
        console.log(err);
        }
        });
  }
  this.tossup.search = function(temp, callback) {

    if (temp.params) {
      obj = temp.params;
    } else {
      obj = {};
    } 
    var query = "";
    if (obj['condition']!==undefined && obj['answer']!==undefined){
      if (obj['condition']=="all"){
        query += "(t.answer like '%" + util.escapeSql(obj['answer']).replace(/ /g,'%') +"%' or t.question like '%" + obj['answer'].replace(/ /g,'%')+"%')";	
      } else if (obj['condition']=="question") {
        query +="(t.question like '%"+util.escapeSql(obj['answer']).replace(/ /g,'%') + "%')";
      } else if (obj['condition']=="answer") {
        query += "(t.answer like '%"+util.escapeSql(obj['answer']).replace(/ /g,'%')+"%')";
      }
    } else {
      if (obj['answer']!==undefined){
        query += "(t.answer like '%" + util.escapeSql(obj['answer']).replace(/ /g,'%')+"%')";
      } else {
        query += "(t.answer like '%%')";
      }
      if (obj['question'] !== undefined){
        query += " and (t.question like '%" + util.escapeSql(obj['question']).replace(/ /g,'%') + "%')";
      }
    }
    if (obj['tournament']!==undefined){
      query = util.addQueryTerm(query,'t.tournament',obj['tournament'],'=',true);
    }
    if (obj['round']!==undefined){
      query = util.addQueryTerm(query,'t.round',obj['round'],'=',true);
    }
    if (obj['year']!==undefined){
      query = util.addQueryTerm(query,'t.year',obj['year'],'=',false);
    }
    if (obj['category']!==undefined){
      query = util.addQueryTerm(query,'t.category',obj['category'],'=',true);
    }
    if (obj['questionNum']!==undefined){
      query = util.addQueryTerm(query,'t.question_num',obj['questionNum'],'=',false);
    }
    if (obj['difficulty']!==undefined){
      query = util.addQueryTerm(query,'t.difficulty',obj['difficulty'],'=',true);
    }
    limitstring = "";
    console.log(obj['random']);
    if (obj['random']=='true'){
      countstring = 'select count(id) from tossups t where '+query;
      client.query(countstring, function(err, results, fields){
          if (!err){
          c = results[0]['count(id)'];
          var offset = Math.floor(Math.random()*c);
          var limit = '1';
          if (obj['limit']){
          limit = obj['limit'];
          }
          querystring = 'select t.tournament,t.year,t.question, t.answer, t.round, t.question_num, t.difficulty, t.pKey,t.category, t.accept from tossups t where '+query+' limit '+limit+' offset '+offset;
          client.query(querystring,function selectCb(err,results,fields){
            if (!err) {
            callback({'count':limit,'offset':offset,'results':results});
            } else{ 
            console.log(err);
            callback({offset:0,results:[]});
            }
            });
          } else {
          console.log(err);
          }
          });
    } else {	
      query += " group by t.pKey";
      if (obj['sort'] == undefined || obj['sort'] == 'date') {
        query += " order by year desc, tournament asc, round asc,question_num asc";
      } else if (obj['sort'] == 'rating') {
        query += " order by sum(r.rating) desc";
      }
      if (obj['offset']!==undefined) {
        limitstring += " limit "+pageLength+" offset "+obj['offset'];
      } else {
        limitstring += " limit "+pageLength;
      }
      querystring = 'select t.tournament,t.year,t.question, t.answer, t.round, t.question_num, t.difficulty, t.pKey,t.category, t.accept from tossups t where '+query+limitstring;
      countstring = 'select count(*) from tossups t where '+query;
      client.query(countstring,function(err,results,fields){
          if (!err) {
          count = results.length;
          client.query(querystring,function selectCb(err,results,fields){
            if (!err) {
            if (!obj['offset'])
            obj['offset']=0; 
            callback({'count':count,'offset':obj['offset'],'results':results});
            } else{ 
            console.log(err);
            callback({offset:0,results:[]});
            }
            });
          } else {
          console.log(err);
          callback({offset:0,results:[]});
          }
          });
    }
  }
  this.data = function(callback) {
    client.query('select count(*) from tossups', function selectCb(err,results,fields){
        var num_tossups = results[0]['count(*)'];
        client.query('select count(*) from usernames', function selectCb(err, results, fields){
          var num_users = results[0]['count(*)'];
          client.query('select count(*) from scores', function selectCb(err, results, fields){
            var num_scores = results[0]['count(*)'];
            client.query('select distinct year,tournament from tossups order by year desc, tournament asc', function selectCb(err, results, fields){
              var tournaments = results;
              client.query('select distinct year from tossups', function selectCb(err, results, fields){
                var years = results;
                client.query('select distinct difficulty from tossups', function selectCb(err,results,fields){
                  var difficulties = results;
                  client.query('select distinct category from tossups', function selectCb(err, results, fields){
                    var categories = results
                    data = {}; 
                    data['data'] = {};
                    data['data']['numScores'] = num_scores;
                    data['data']['numQuestions'] = num_tossups;
                    data['data']['numUsers'] = num_users;
                    data['data']['difficulties'] = util.convertMapToList(difficulties,'difficulty');
                    data['data']['years'] = util.convertMapToList(years,'year');
                    data['data']['categories'] = util.convertMapToList(categories,'category');
                    data['data']['tournaments'] = util.convertDoubleMapToList(tournaments,'year','tournament');
                    callback(data);
                    });
                  });
                });
            });
          });
        });
    });
  }
  this.reader.answer = function(user, obj, callback) {
    client.query("insert into single (user,score,correct,answer,pKey) values (?,?,?,?,?)",[user.fbId,obj.score,obj.correct,obj.answer,obj.pKey], function(err, info){
        if (err){
        console.log(err);
        } else {
        tossup.get(obj.pKey, function(question) {
          callback({user:user,action:{'correct':obj.correct,'score':obj.score, 'answer':question.answer}});
          });
        }
        });

  }
  this.user.get = function(id,callback) {
    client.query('select * from user where fb_id="'+id+'"', function(err,result,field){
        if (err){
        console.log(err);
        } else {
        callback(result);
        }
        });
  };
  this.user.login = function(user, callback){
    client.query("select * from user where username = '******' and fb_id = '"+user.fbId+"'", function(err, result, field){
        if (err) {
        console.log(err); 
        } else {
        console.log(result);
        if (result.length==1){
        callback(true);
        } else if (result.length == 0){
        callback(false);
        } else {
        console.log("AAAAH EXPLODEY FATAL ERROR");
        }
        }
        });
  }
  this.user.create = function(user, callback){
    client.query("insert into user(username, email, fb_id) values('"+user.username+"','"+user.email+"','"+user.fbId+"')", function(err, result, info){
        if (!err){
        callback({status:"success",message:null,code:1337});
        }
        else {
        callback({status:"failure",message:err,code:100});
        }
        });
  }
  this.user.stats = function(user, callback){

  }
  this.rating.add = function(obj,callback){
    client.query("select * from ratings where user='******' and question = '"+util.escapeSql(obj.question)+"'",function selectCb(err,result,fields){
        if (result.length!=0){
        client.query("update ratings set rating = "+obj.value+" where user='******' and question = '"+util.escapeSql(obj.question)+"'",function selectCb(err,result,fields){
          if (!err){
          callback(true);
          } else {
          console.log(err);
          }
          });

        } else {
        client.query("insert into ratings(rating,user,question) values ("+value+",'"+username+"','"+question.replace(/'/g,"''")+"')", function selectCb(err,result,fields){
          if (!err){
          callback(true);
          } else {
          console.log(err);
          }
          });
        }
        });
  }
}
示例#19
0
文件: mysqlJS.js 项目: cookiy/darling
var sys = require('sys');
 
var Client = require('mysql').Client;
var client = new Client();
 
client.user = '******';
client.password = '';
 
client.connect(function(error, results) {
  if(error) {
    console.log('Connection Error: ' + error.message);
    return;
  }
  console.log('Connected to MySQL');
});
示例#20
0
文件: test.js 项目: itbeihe/node_blog
var mysql = require('mysql'),
    client = null;  

var db_options = {  
    host: 'localhost',  
    port: 3306,  
    user: '******',  
    password: '******', 
    database: 'blog'  
}; 

if(mysql.createClient) {  
    client = mysql.createClient(db_options);  
} else {  
    client = new mysql.Client(db_options);  
    client.connect(function(err) {  
        if(err) {  
            console.error('connect db ' + client.host + ' error: ' + err);  
            process.exit();  
        }  
    });  
}


client.query('SELECT * FROM blog_article',function(err,results,fields){
    if(err){
        throw err;
    }
    console.log(results);
    console.log('---------------------');
    console.log(fields);
示例#21
0
var Client = require('mysql').Client;
var client = new Client();

client.user = '******';
client.password = '******';

console.log('Connecting to MySQL...');

client.query('USE node');

http = require("http");

var server = http.createServer(function(request, response) {
    response.writeHeader(200, {"Content-Type": "text/html"});

    client.query('SELECT * FROM blog', function selectCb(err, results, fields) {  
        if (err) {  
            throw err;  
        }  

        var data = '';
        for (var i=0; i<results.length; i++) {          
            var firstResult = results[i];
            data += 'id: ' + firstResult['id']+'tag: ' + firstResult['tag']; 
        } 

        response.write(data); 
        response.end();
    });
});
示例#22
0
文件: server.js 项目: Gazer/3DG-Live
var Live3DG = function() {
  var client = new Client();
  var tags = 'quote|b|i|u|url|quote|code|img|color|size|yt|spoiler';
  var bbcode_quote =  new RegExp("\\[/?(?:"+tags+")[^]*].*\\]", "img");
  var query = ' \
    select user.userid, post.pagetext, post.postid, post.threadid, thread.forumid, thread.title as title, \
    forum.title as forum_title, post.dateline as updated_at, post.username as username from post \
      left join thread on thread.threadid = post.threadid \
      left join forum on thread.forumid = forum.forumid \
      left join user on user.userid = post.userid \
      where thread.forumid NOT IN (5,16,106,108,109,96,284,367,141,184,253,252,138) and post.postid = ? \
      limit 1;';

  var router = new Router();
  router.get('(/|/index.html)', function (request, response) {
    _load_static_file('index.html', response);
  });

  router.get('/media/(.*)', function (request, response, file) {
    _load_static_file('media/' + file, response);
  });

  router.get('/widget/', function (request, response, file) {
    _load_static_file('widget.html', response);
  });

  router.get('/stream', function (request, response) {
    follower.query(request, function (post) {
      sys.puts(post.post.postid);
      _respond_with_post(post, response);
	  });
  });

  router.get('/stream/user/(.*)', function (request, response, userid) {
    follower.query(request, function (post) {
      _respond_with_post(post, response);
	  }, function (post) {
      if (post.post.userid == userid) {
        return true;
      }
      return false;
	  });
  });

  router.get('/stream/thread/(.*)', function (request, response, threadid) {
    follower.query(request, function (post) {
      _respond_with_post(post, response);
	  }, function (post) {
      if (post.post.threadid == threadid) {
        return true;
      }
      return false;
	  });
  });

  router.get('/stream/forum/(.*)', function (request, response, forumid) {
    follower.query(request, function (post) {
        _respond_with_post(post, response);
	  }, function (post) {
      if (post.post.forumid == forumid) {
        return true;
      }
      return false;
	  });
  });

  router.get('/push/(.*)', function (request, response, postid) {
    _read_forum(postid);
    response.writeHead(200, { "Content-Type" : "text/html; charset=utf8" });
    response.write("Ok");
    response.end();
  });

  function _respond_with_post(post, response) {
    response.writeHead(200, { "Content-Type" : "application/javascript; charset=utf8" });
    response.write(JSON.stringify(post));
    response.end();
  }

  function _load_static_file(uri, response) {
	  var filename = path.join(process.cwd(), uri);
	  path.exists(filename, function(exists) {
		  if(!exists) {
			  response.writeHead(404, {"Content-Type": "text/plain"});
			  response.write("404 Not Found");
			  response.end();
			  return;
		  }

		  fs.readFile(filename, "binary", function(err, file) {
			  if(err) {
				  response.writeHead(500, {"Content-Type": "text/plain"});
				  response.write(err + "n");
				  response.end();
				  return;
			  }

			  response.writeHead(200);
			  response.write(file, "binary");
			  response.end();
		  });
	  });
  }

  function _remove_bbcode(text)
  {
    return text.toString().replace("\n", '').replace("\r", '').replace(bbcode_quote, '');
  }

  function _read_forum(postid)
  {
    client.query(query, [postid], function selectCb(err, results, fields) {
        if (err) {
          throw err;
        }

        if (results.length > 0) {
          results[0].pagetext = _remove_bbcode(results[0].pagetext);
          follower.appendPost(results[0]);
        } else {
          sys.puts("No results");
        }
      }
    );
  }

  function _start_server() {
    sys.puts('Connected to mysql. Starting posts polling...');

    router.start();
  }

  return {
    init: function (callback) {
      fs.readFile('./server.conf.json', function (err, data) {
        if (err) throw err;
        config = JSON.parse(data.toString().replace('\n', ''));

        client.user = config.user;
        client.password = config.password;
        client.host = config.host;
        client.database = config.database;
        client.charsetNumber = 192;

        client.connect(_start_server);
      });
    }
  }
};
var sendWB=function(data){
    var token=""
    var secret=""
    //取出当前微博设定用户的key和secret
    clientCommon.query(  
        'SELECT * FROM wb_id  where wb_id='+data.wb_id,function(err, results, fields){
            if(err){
                util.log_error("sendWB select sql error")
                return;
            }
            if(!results.length){
                console.log("not found user "+data.wb_id)
                return;
            }
            token=results[0].wb_accesstoken;
            //    secret=results[0].wb_secret;
            var opts = {
                app_key       :  config.weibo_key ,
                app_secret    :  config.weibo_secret 
            };
            var api = new wb(opts);
            //  console.log(data)
            if(data.pic&&data.pic.length>0){
                //上传图片
                api.statuses.upload({
                    access_token:token,
                    status:data.content
                },data.pic,function(_d){
                    try{
                          if(_d.error){
                        util.log_process("update weibo failed:"+JSON.stringify(_d))
                        clientCommon.query('update wb_queue  set wb_failreason=\''+JSON.stringify(_d)+'\' where id='+data.id)
                        return;
                    }
                    }catch(e){
                        util.log_process("updating error:"+JSON.stringify(e))
                    }
                    util.log_process("update weibo success:"+JSON.stringify(_d))
                    clientCommon.query(  
                        'DELETE FROM  '+config.table_queue+  
                        ' WHERE id='+data.id);
                    util.log_process("delete "+data.id)
                    fs.unlink(data.pic, function() {
                        util.log_process("delete pic:"+data.pic)
                    })
                })
            }else{
                api.statuses.update({
                    access_token:token,
                    status:data.content
                },function(_d){
                    try{
                          if(_d.error){
                        util.log_process("update weibo failed:"+JSON.stringify(_d))
                        clientCommon.query('update wb_queue  set wb_failreason=\''+JSON.stringify(_d)+'\' where id='+data.id)
                        return;
                    }
                    }catch(e){
                        util.log_process("updating error:"+JSON.stringify(e))
                    }
                  
                    util.log_process("update weibo success:"+JSON.stringify(_d))
                    clientCommon.query(  
                        'DELETE FROM  '+config.table_queue+  
                        ' WHERE id='+data.id);
                    util.log_process("delete "+data.id)
                })
            }
        })
}
示例#24
0
文件: db2.js 项目: cookiy/darling
var sys = require('sys');
var Client = require('mysql').Client;
var client = new Client();
client.user = '******';
client.password = '';
client.host='localhost';
client.query('USE test');     //如果MySQL中没有库表,赶紧建。
http = require("http");
url = require("url");
console.log('connect');
client.connect(function(error,results){
    if(error){
        console.log('connect error'+error.message);
        return false;
    }
    console.log('connectd to mysql');
    ClientConnectiongReady(client);
})
ClientConnectiongReady = function(client){
    client.query('USE test',function(error,results){
        if(error){
            console.log('connect error'+error.message);
            return;
        }
        ClientReady(client);
    });
};
ClientReady = function(client){
    var value = ['chad','lung','hello'];
    client.query('INSERT INTO passport SET firsename = ?,secondname =?,thirdname=?',value,function(error,results){
        if(error){
示例#25
0
var sys = require('sys'),
    http = require('http');
//    mongo = require('mongodb');

var Client = require('mysql').Client,
    client = new Client(),
    database = 'fdl',
    table = 'Bills';

//var mongodb = new mongo.Db('fdl', new mongo.Server('localhost', 27017, {}, {}));

//mongodb.addListener("error", function(error) { sys.puts("Error connecting to mongodb"); });

client.host = 'localhost';
client.port = '3306';
client.database = 'DATABASE_HERE';
client.user = '******';
client.password = '******';

client.connect();

client.query('select * from fdl.Bill',
             function select_cb(err, results, fields) {
                 if (err) { throw err; }
                 for (i in results)
                 {
                     console.log(results[i]);
                 /*
                     mongodb.open(function(err, mc) {
                                      var collection = new mongo.Collection(mc, 'bills');
                                      collection.insert(results[i], {safe:true}, function(merr, objects) {
示例#26
0
	var selectCallback = function(err, results, fields) {
	  if (err) {
	    throw err;
	  }
	  db.end();
	}
示例#27
0
function pullAppConfigFromDbServer(configString, callback){
    if(!configString){
        if(callback)
            callback("DB_CONFIG_ERROR -- No config String ",null,configString);
        return;
    }
    
    if(configString.indexOf("db_config") == -1){
        if(callback)
            callback("DB_CONFIG_ERROR -- Not a Valid db_config " + configString,null,configString);
        return;
    }
    
    var configSplit = configString.split(":");
    
    if(!configSplit){
        if(callback)
            callback("DB_CONFIG_ERROR -- Not a Valid db_config " + configString,null,configString);
        return;
    }
    
    if(configSplit.length < 2){
        if(callback)
            callback("DB_CONFIG_ERROR -- Only 2 parameters allowed " + configString, null,configString);
        return;
    }
    
    var configStrings = {};
    var host = defaultMysqlHost;
    var port = defaultMysqlPort;
    var database = defaultMysqlDb;
    var user = defaultMysqlUser;
    var password = defaultMySqlPassword;
    var field = defaultMySqlField;
    var whereField = defaultMySqlWhereField;
    var table = defaultMySqlTable;
    var whereValue;
    var query;
    if(configSplit[1] != "All"){
        whereValue = configSplit[1];
        query = "SELECT " + field + " , " + whereField + " FROM " + table + " WHERE " 
                + whereField + " = " + "\""+whereValue+"\"" + " AND " + field + " LIKE \"app-%\"" + " ORDER BY " + field;
    }
    else{
        query = "SELECT " + field + " , " + whereField + " FROM " + table + " WHERE " + field + " LIKE \"app-%\"" + " ORDER BY " + field;
    }
    var client = new Client();
    client.host = host;
    client.port = port;
    client.database = database;
    client.user = user;
    if(password != "")
        client.password = password;
    client.on('error', function(err) {
        client.destroy();
        client._queue = [];
        if(callback){
            callback("DB_CONFIG_ERROR -- " + err, null,configString);
            return;
        }
    });
    client.query(query, function(err, results, fields) {
        if(err){
            if(callback)
                callback("DB_CONFIG_ERROR " + err, null, configString);
        }
        else{
            if(results && results.length != 0){
                for(x in results){
                    if(!configStrings[results[x][whereField]]){
                        configStrings[results[x][whereField]] = [];
                    }
                    configStrings[results[x][whereField]].push(results[x][field]);
                }
                if(callback){
                    callback(null,configStrings,configString);
                }
            }
            else{
                if(callback)
                    callback("DB_CONFIG_ERROR -- Query returns empty set with " + whereField + " = " + whereValue,configString);
            }
        }
        client.end();
    });
}
client.connect(gently.expect(function connectCb2(err, result) {
  assert.ifError(err);

  client.end();
}));
示例#29
0
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

/*********************************/
/* Build up the MySQL Connection */
/*********************************/
var config = require("./MySQL_config");

var Client = require('mysql').Client;
var client = new Client();

client.host = config.host;
client.user = config.user;
client.password = config.password;
client.database = config.database;

client.connect();

/*********************************/
/* Note Manager Functions        */
/*********************************/

/**
 * Saves the cached Informations about all Notes
 * key = guid
示例#30
0
 client.query('SELECT 1', gently.expect(function afterTimeoutSelect(err) {
   clearTimeout(timeout);
   assert.ifError(err);
   client.end();
 }));