paip.discuz x2.5 用户及积分账户的接口attilax总结

今天新建立了一个/unaapi.php,准备利用它作接口API,供我的彩票系统调用。。查了不少网络

,DISCUZ的文档做的真烂,有些方法实在不好找,也不想去一点点跟踪调试。。就自己重写了。

1. 系统方法引用


define ( 'APPTYPEID', 5 ); // 必须的,你懂的
define ( 'CURSCRIPT', 'userapp' ); // 必须的,你懂的
require_once './source/class/class_core.php'; // 必须的,你懂的
$discuz = & discuz_core::instance (); // 必须的,你懂的
$discuz->cachelist = $cachelist; // 必须的,你懂的
$discuz->init (); // 必须的,你懂的


引用这几行代码是为了获取当前登录用户   username:".$_G['username']

2. getUidByUname ,找遍DISCUZ,没发现通过用户名找UID这个方法,只好自己写了...因为是

通过远程API调用取UID,所以无法用$_G['uid']这个捷径。。

function getUidByUname($uname) {
 inidb();
      $sql="Select * FROM pre_common_member where username='".

$uname."'" ;
          $result=mysql_query($sql);
         mysql_num_rows($result);
            $rowx=mysql_fetch_array($result);
            $uid=   $rowx['uid'];
            return $uid;
}

3. 连接数据库..

require './config/config_global.php';
 
 
 function inidb()
 {
  global  $_config;
  mysql_connect($_config['db']['1']['dbhost'],$_config['db']['1']['dbuser'],

$_config['db']['1']['dbpw'] = '');
  mysql_select_db( $_config['db']['1']['dbname']);
  mysql_query("set names 'GBK'") ;
  
  
  
 }

 

4. 取金钱余额(积分系统中的金钱)。。。

    

       
          //$sql="Select * FROM pre_common_member_count where

uid= ".$uid ;
           $row2 = C::t('common_member_count')->fetch($uid); 

 
           $money = $row2['extcredits2'];

 

 

 

5.减少金钱

 

if($_REQUEST["method"]=="AccMinus")
 {   $uname=$_REQUEST["uname"];
   $minus=$_REQUEST["money"];
   $uid=getUidByUname ( $uname );
  
   $row2 = C::t('common_member_count')->fetch($uid);
   $moneyOri = $row2['extcredits2'];
   $newMoney=$moneyOri-$minus;
   C::t('common_member_count')->update($uid, array

('extcredits2' =>$newMoney ));
  
   global $money;
   $money=$newMoney;
 }



     


6.增加金钱.