Develop and Download Open Source Software

Browse CVS Repository

Diff of /xoonips/AL/xnpal.cc

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.20 by aga, Wed Jan 12 04:37:43 2005 UTC revision 1.21 by youi, Wed Jan 12 11:39:52 2005 UTC
# Line 1  Line 1 
1  /*  /*
2          $Revision$          $Revision$
3          VPAL: Visiome Platform Abstract Layer          XNPAL: XooNiPs Platform Abstract Layer
4                    
5          zend_parse_parametersはphp4.1.0が必要          zend_parse_parametersはphp4.1.0が必要
6          .soファイルは外から見えない場所に置くべき。          .soファイルは外から見えない場所に置くべき。
# Line 15  Line 15 
15  #include "session.h"  #include "session.h"
16  #include "group.h"  #include "group.h"
17  #include "account.h"  #include "account.h"
18  #include "vpal.h"  #include "xnpal.h"
19    
20  // for inet_aton  // for inet_aton
21  #include <sys/socket.h>  #include <sys/socket.h>
# Line 24  Line 24 
24    
25  // global variables  // global variables
26    
27  PHP_MSHUTDOWN_FUNCTION(vpalmod)  PHP_MSHUTDOWN_FUNCTION(xnpalmod)
28  {  {
29          uninitializeDB();          uninitializeDB();
30          return SUCCESS;          return SUCCESS;
# Line 33  PHP_MSHUTDOWN_FUNCTION(vpalmod) Line 33  PHP_MSHUTDOWN_FUNCTION(vpalmod)
33  /* declaration of functions to be exported */  /* declaration of functions to be exported */
34  extern "C" {  extern "C" {
35  ZEND_FUNCTION(first_module         );  ZEND_FUNCTION(first_module         );
36  ZEND_FUNCTION(vp_initialize_db     );  ZEND_FUNCTION(xnp_initialize_db     );
37  ZEND_FUNCTION(vp_login_user        );  ZEND_FUNCTION(xnp_login_user        );
38  ZEND_FUNCTION(vp_logout_user       );  ZEND_FUNCTION(xnp_logout_user       );
39  ZEND_FUNCTION(vp_create_session    );  ZEND_FUNCTION(xnp_create_session    );
40  ZEND_FUNCTION(vp_get_session       );  ZEND_FUNCTION(xnp_get_session       );
41  ZEND_FUNCTION(vp_is_activated      );  ZEND_FUNCTION(xnp_is_activated      );
42  ZEND_FUNCTION(vp_activate          );  ZEND_FUNCTION(xnp_activate          );
43  ZEND_FUNCTION(vp_get_account_count );  ZEND_FUNCTION(xnp_get_account_count );
44  ZEND_FUNCTION(vp_delete_account    );  ZEND_FUNCTION(xnp_delete_account    );
45  ZEND_FUNCTION(vp_get_account       );  ZEND_FUNCTION(xnp_get_account       );
46  ZEND_FUNCTION(vp_get_accounts      );  ZEND_FUNCTION(xnp_get_accounts      );
47  ZEND_FUNCTION(vp_insert_account    );  ZEND_FUNCTION(xnp_insert_account    );
48  ZEND_FUNCTION(vp_update_account    );  ZEND_FUNCTION(xnp_update_account    );
49  ZEND_FUNCTION(vp_dump_uids         );  ZEND_FUNCTION(xnp_dump_uids         );
50  ZEND_FUNCTION(vp_get_group_count   );  ZEND_FUNCTION(xnp_get_group_count   );
51  ZEND_FUNCTION(vp_get_groups_by_uid );  ZEND_FUNCTION(xnp_get_groups_by_uid );
52  ZEND_FUNCTION(vp_is_group_admin    );  ZEND_FUNCTION(xnp_is_group_admin    );
53  ZEND_FUNCTION(vp_dump_gids         );  ZEND_FUNCTION(xnp_dump_gids         );
54  ZEND_FUNCTION(vp_dump_group_admins );  ZEND_FUNCTION(xnp_dump_group_admins );
55  ZEND_FUNCTION(vp_delete_member     );  ZEND_FUNCTION(xnp_delete_member     );
56  ZEND_FUNCTION(vp_insert_member     );  ZEND_FUNCTION(xnp_insert_member     );
57  ZEND_FUNCTION(vp_get_members       );  ZEND_FUNCTION(xnp_get_members       );
58  ZEND_FUNCTION(vp_delete_group      );  ZEND_FUNCTION(xnp_delete_group      );
59  ZEND_FUNCTION(vp_insert_group      );  ZEND_FUNCTION(xnp_insert_group      );
60  ZEND_FUNCTION(vp_update_group      );  ZEND_FUNCTION(xnp_update_group      );
61  ZEND_FUNCTION(vp_get_group         );  ZEND_FUNCTION(xnp_get_group         );
62  ZEND_FUNCTION(vp_get_groups        );  ZEND_FUNCTION(xnp_get_groups        );
63  ZEND_FUNCTION(vp_is_moderator      );  ZEND_FUNCTION(xnp_is_moderator      );
64  ZEND_FUNCTION(vp_get_uid           );  ZEND_FUNCTION(xnp_get_uid           );
65    
66  ZEND_FUNCTION(vp_is_valid_session_id );  ZEND_FUNCTION(xnp_is_valid_session_id );
67  ZEND_FUNCTION(vp_get_last_error_string );  ZEND_FUNCTION(xnp_get_last_error_string );
68    
69  ZEND_FUNCTION(vp_test_criteria     );  ZEND_FUNCTION(xnp_test_criteria     );
70  ZEND_FUNCTION(vp_test_uids         );  ZEND_FUNCTION(xnp_test_uids         );
71  };  };
72  /* compiled function list so Zend knows what's in this module */  /* compiled function list so Zend knows what's in this module */
73  zend_function_entry vpalmod_functions[] =  zend_function_entry xnpalmod_functions[] =
74  {  {
75      ZEND_FE(first_module         ,NULL)      ZEND_FE(first_module         ,NULL)
76      ZEND_FE(vp_initialize_db     ,NULL)      ZEND_FE(xnp_initialize_db     ,NULL)
77      ZEND_FE(vp_login_user        ,NULL)      ZEND_FE(xnp_login_user        ,NULL)
78      ZEND_FE(vp_logout_user       ,NULL)      ZEND_FE(xnp_logout_user       ,NULL)
79      ZEND_FE(vp_create_session    ,NULL)      ZEND_FE(xnp_create_session    ,NULL)
80      ZEND_FE(vp_get_session       ,NULL)      ZEND_FE(xnp_get_session       ,NULL)
81      ZEND_FE(vp_is_activated      ,NULL)      ZEND_FE(xnp_is_activated      ,NULL)
82      ZEND_FE(vp_activate          ,NULL)      ZEND_FE(xnp_activate          ,NULL)
83      ZEND_FE(vp_get_account_count ,NULL)      ZEND_FE(xnp_get_account_count ,NULL)
84      ZEND_FE(vp_delete_account    ,NULL)      ZEND_FE(xnp_delete_account    ,NULL)
85      ZEND_FE(vp_get_account       ,NULL)      ZEND_FE(xnp_get_account       ,NULL)
86      ZEND_FE(vp_get_accounts      ,NULL)      ZEND_FE(xnp_get_accounts      ,NULL)
87      ZEND_FE(vp_insert_account    ,NULL)      ZEND_FE(xnp_insert_account    ,NULL)
88      ZEND_FE(vp_update_account    ,NULL)      ZEND_FE(xnp_update_account    ,NULL)
89      ZEND_FE(vp_dump_uids         ,NULL)      ZEND_FE(xnp_dump_uids         ,NULL)
90      ZEND_FE(vp_get_group_count   ,NULL)      ZEND_FE(xnp_get_group_count   ,NULL)
91      ZEND_FE(vp_get_groups_by_uid ,NULL)      ZEND_FE(xnp_get_groups_by_uid ,NULL)
92      ZEND_FE(vp_is_group_admin    ,NULL)      ZEND_FE(xnp_is_group_admin    ,NULL)
93      ZEND_FE(vp_dump_gids         ,NULL)      ZEND_FE(xnp_dump_gids         ,NULL)
94      ZEND_FE(vp_dump_group_admins ,NULL)      ZEND_FE(xnp_dump_group_admins ,NULL)
95      ZEND_FE(vp_delete_member     ,NULL)      ZEND_FE(xnp_delete_member     ,NULL)
96      ZEND_FE(vp_insert_member     ,NULL)      ZEND_FE(xnp_insert_member     ,NULL)
97      ZEND_FE(vp_get_members       ,NULL)      ZEND_FE(xnp_get_members       ,NULL)
98      ZEND_FE(vp_delete_group      ,NULL)      ZEND_FE(xnp_delete_group      ,NULL)
99      ZEND_FE(vp_insert_group      ,NULL)      ZEND_FE(xnp_insert_group      ,NULL)
100      ZEND_FE(vp_update_group      ,NULL)      ZEND_FE(xnp_update_group      ,NULL)
101      ZEND_FE(vp_get_group         ,NULL)      ZEND_FE(xnp_get_group         ,NULL)
102      ZEND_FE(vp_get_groups        ,NULL)      ZEND_FE(xnp_get_groups        ,NULL)
103      ZEND_FE(vp_is_moderator      ,NULL)      ZEND_FE(xnp_is_moderator      ,NULL)
104      ZEND_FE(vp_get_uid           ,NULL)      ZEND_FE(xnp_get_uid           ,NULL)
105      ZEND_FE(vp_is_valid_session_id ,NULL)      ZEND_FE(xnp_is_valid_session_id ,NULL)
106      ZEND_FE(vp_get_last_error_string ,NULL)      ZEND_FE(xnp_get_last_error_string ,NULL)
107      ZEND_FE(vp_test_criteria     ,NULL)      ZEND_FE(xnp_test_criteria     ,NULL)
108      ZEND_FE(vp_test_uids         ,NULL)      ZEND_FE(xnp_test_uids         ,NULL)
109      {NULL, NULL, NULL}      {NULL, NULL, NULL}
110  };  };
111    
112  /* compiled module information */  /* compiled module information */
113  zend_module_entry vpalmod_module_entry =  zend_module_entry xnpalmod_module_entry =
114  {  {
115      STANDARD_MODULE_HEADER,      STANDARD_MODULE_HEADER,
116      "Visiome Platform Abstract Layer",      "Visiome Platform Abstract Layer",
117      vpalmod_functions,      xnpalmod_functions,
118      NULL,      NULL,
119          PHP_MSHUTDOWN(vpalmod),          PHP_MSHUTDOWN(xnpalmod),
120      NULL,      NULL,
121      NULL,      NULL,
122      NULL,      NULL,
# Line 127  zend_module_entry vpalmod_module_entry = Line 127  zend_module_entry vpalmod_module_entry =
127  /* implement standard "stub" routine to introduce ourselves to Zend */  /* implement standard "stub" routine to introduce ourselves to Zend */
128  #if COMPILE_DL_FIRST_MODULE  #if COMPILE_DL_FIRST_MODULE
129  BEGIN_EXTERN_C()  BEGIN_EXTERN_C()
130  ZEND_GET_MODULE(vpalmod)  ZEND_GET_MODULE(xnpalmod)
131  END_EXTERN_C()  END_EXTERN_C()
132  #endif  #endif
133    
# Line 733  result_t sessionToZval( const session_t Line 733  result_t sessionToZval( const session_t
733    
734    
735  /** 指定したグループの情報を得る<br>  /** 指定したグループの情報を得る<br>
736      int vp_get_group( int sid, int gid, array group );      int xnp_get_group( int sid, int gid, array group );
737      @param sid    VPのセッションID      @param sid    XNPのセッションID
738      @param gid    VP の group_id      @param gid    XNP の group_id
739      @param group  結果を受け取る配列      @param group  結果を受け取る配列
740      @return 0 success <br>      @return 0 success <br>
741    */    */
742  ZEND_FUNCTION(vp_get_group)  ZEND_FUNCTION(xnp_get_group)
743  {  {
744          long sid, gid;          long sid, gid;
745          zval *zgroup;          zval *zgroup;
# Line 761  ZEND_FUNCTION(vp_get_group) Line 761  ZEND_FUNCTION(vp_get_group)
761    
762    
763  /** 指定したグループ(複数)の情報を得る<br>  /** 指定したグループ(複数)の情報を得る<br>
764      vp_get_groups( int sid, array gids, array criteria, array groups );      xnp_get_groups( int sid, array gids, array criteria, array groups );
765      @param sid      VPのセッションID      @param sid      XNPのセッションID
766      @param gids     VP の group_id の配列      @param gids     XNP の group_id の配列
767      @param criteria 条件      @param criteria 条件
768      @param groups   結果を受け取る配列の配列      @param groups   結果を受け取る配列の配列
769      @return 0 success <br>      @return 0 success <br>
770    */    */
771  ZEND_FUNCTION(vp_get_groups)  ZEND_FUNCTION(xnp_get_groups)
772  {  {
773          result_t result;          result_t result;
774          long sid, uid;          long sid, uid;
# Line 815  ZEND_FUNCTION(vp_get_groups) Line 815  ZEND_FUNCTION(vp_get_groups)
815    
816    
817  /** 指定したユーザがモデレータかどうかを調べる<br>  /** 指定したユーザがモデレータかどうかを調べる<br>
818      int vp_is_moderator(int sid, int uid)      int xnp_is_moderator(int sid, int uid)
819      @param sid      VPのセッションID      @param sid      XNPのセッションID
820      @param uid      xoops の uid (xoops_users.uid)      @param uid      xoops の uid (xoops_users.uid)
821      @return true  モデレータである <br>      @return true  モデレータである <br>
822    */    */
823  ZEND_FUNCTION(vp_is_moderator)  ZEND_FUNCTION(xnp_is_moderator)
824  {  {
825          long vpSessionID;          long xnpSessionID;
826          userid_t uid;          userid_t uid;
827                    
828          if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ll",          if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ll",
829                                &vpSessionID, &uid) == FAILURE) {                                &xnpSessionID, &uid) == FAILURE) {
830                  return;                  return;
831          }          }
832                    
833          bool result = isModerator( (sessionid_t)vpSessionID, uid );          bool result = isModerator( (sessionid_t)xnpSessionID, uid );
834      RETURN_BOOL(result)      RETURN_BOOL(result)
835  }  }
836    
837  /** ユーザ名からuidを調べる<br>  /** ユーザ名からuidを調べる<br>
838      int vp_get_uid(string uname,int &uid)      int xnp_get_uid(string uname,int &uid)
839      @param sid      VPのセッションID      @param sid      XNPのセッションID
840      @param uname    xoops の uname (xoops_users.uname)      @param uname    xoops の uname (xoops_users.uname)
841      @param uid      xoops の uid (xoops_users.uid) を受け取る変数      @param uid      xoops の uid (xoops_users.uid) を受け取る変数
842      @return 0 success      @return 0 success
843    */    */
844  ZEND_FUNCTION(vp_get_uid)  ZEND_FUNCTION(xnp_get_uid)
845  {  {
846          char *uname;          char *uname;
847          int unameLen;          int unameLen;
# Line 864  ZEND_FUNCTION(vp_get_uid) Line 864  ZEND_FUNCTION(vp_get_uid)
864          RETURN_LONG((long)result);          RETURN_LONG((long)result);
865  }  }
866    
867  ZEND_FUNCTION(vp_test_criteria)  ZEND_FUNCTION(xnp_test_criteria)
868  {  {
869          zval *z;          zval *z;
870                    
# Line 878  ZEND_FUNCTION(vp_test_criteria) Line 878  ZEND_FUNCTION(vp_test_criteria)
878          RETURN_FALSE          RETURN_FALSE
879  }  }
880    
881  ZEND_FUNCTION(vp_test_uids)  ZEND_FUNCTION(xnp_test_uids)
882  {  {
883          zval *z;          zval *z;
884                    
# Line 903  ZEND_FUNCTION(vp_test_uids) Line 903  ZEND_FUNCTION(vp_test_uids)
903      @param prefix    XOOPS DB のprefix。      @param prefix    XOOPS DB のprefix。
904      @return 0 success <br>      @return 0 success <br>
905    */    */
906  ZEND_FUNCTION(vp_initialize_db)  ZEND_FUNCTION(xnp_initialize_db)
907  {  {
908          zval **parameters[5];          zval **parameters[5];
909          char *host;          char *host;
# Line 942  ZEND_FUNCTION(vp_initialize_db) Line 942  ZEND_FUNCTION(vp_initialize_db)
942  }  }
943    
944  /** ログインする。<br>  /** ログインする。<br>
945      int vp_login_user(string uname, string password, int &session_id)      int xnp_login_user(string uname, string password, int &session_id)
946      @param uname      ユーザ名(xoops_users.uname)      @param uname      ユーザ名(xoops_users.uname)
947      @param password   パスワード(md5(password)=xoops_users.pass)      @param password   パスワード(md5(password)=xoops_users.pass)
948      @return 0 success      @return 0 success
949    */    */
950  ZEND_FUNCTION(vp_login_user)  ZEND_FUNCTION(xnp_login_user)
951  {  {
952          char *uname;          char *uname;
953          int unameLen;          int unameLen;
954          char *passwd;          char *passwd;
955          int passwdLen;          int passwdLen;
956          zval *zVPSessionID;          zval *zXNPSessionID;
957                    
958          if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ssz",          if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ssz",
959            &uname, &unameLen, &passwd, &passwdLen, &zVPSessionID) == FAILURE) {            &uname, &unameLen, &passwd, &passwdLen, &zXNPSessionID) == FAILURE) {
960                  return;                  return;
961          }          }
962                    
963          if (!PZVAL_IS_REF(zVPSessionID)) {          if (!PZVAL_IS_REF(zXNPSessionID)) {
964                  zend_error(E_WARNING, "3rd parameter wasn't passed by reference");                  zend_error(E_WARNING, "3rd parameter wasn't passed by reference");
965                  RETURN_LONG(RES_PHP_NONREF);                  RETURN_LONG(RES_PHP_NONREF);
966          }          }
967                    
968          sessionid_t vpSessionID;          sessionid_t xnpSessionID;
969          result_t result = loginUser( uname, passwd, &vpSessionID );          result_t result = loginUser( uname, passwd, &xnpSessionID );
970          if ( result == RES_OK )          if ( result == RES_OK )
971                  ZVAL_LONG(zVPSessionID, (long)vpSessionID);                  ZVAL_LONG(zXNPSessionID, (long)xnpSessionID);
972          RETURN_LONG((long)result);          RETURN_LONG((long)result);
973  }  }
974    
975  /** ログアウトする。<br>  /** ログアウトする。<br>
976      void vp_logout_user(int vp_session_id)      void xnp_logout_user(int xnp_session_id)
977      @param vp_session_id  VPのセッションID      @param xnp_session_id  XNPのセッションID
978      @return なし      @return なし
979    */    */
980  ZEND_FUNCTION(vp_logout_user)  ZEND_FUNCTION(xnp_logout_user)
981  {  {
982          long vpSessionID;          long xnpSessionID;
983                    
984          if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &vpSessionID) == FAILURE) {          if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &xnpSessionID) == FAILURE) {
985                  return;                  return;
986          }          }
987          logoutUser( (sessionid_t)vpSessionID );          logoutUser( (sessionid_t)xnpSessionID );
988                    
989      RETURN_NULL();      RETURN_NULL();
990  }  }
991    
992  /** VPのセッションID 作成<br>  /** XNPのセッションID 作成<br>
993      int vp_create_session( string xoops_sess_id, int uid, int &session )      int xnp_create_session( string xoops_sess_id, int uid, int &session )
994      @param xoops_sess_id  xoopsのセッションID      @param xoops_sess_id  xoopsのセッションID
995      @param uid  xoops の uid (xoops_users.uid)      @param uid  xoops の uid (xoops_users.uid)
996      @param session  作成したVPのsessionを受け取る変数      @param session  作成したXNPのsessionを受け取る変数
997      @return 0 成功      @return 0 成功
998    */    */
999  ZEND_FUNCTION(vp_create_session)  ZEND_FUNCTION(xnp_create_session)
1000  {  {
1001          char *xoopsSessionID;          char *xoopsSessionID;
1002          int xoopsSessionIDLen;          int xoopsSessionIDLen;
1003          long uid;          long uid;
1004          zval *zVPSessionID;          zval *zXNPSessionID;
1005                    
1006          if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "slz",          if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "slz",
1007            &xoopsSessionID, &xoopsSessionIDLen, &uid, &zVPSessionID) == FAILURE) {            &xoopsSessionID, &xoopsSessionIDLen, &uid, &zXNPSessionID) == FAILURE) {
1008                  return;                  return;
1009          }          }
1010                    
1011          if (!PZVAL_IS_REF(zVPSessionID)) {          if (!PZVAL_IS_REF(zXNPSessionID)) {
1012                  zend_error(E_WARNING, "3rd parameter wasn't passed by reference");                  zend_error(E_WARNING, "3rd parameter wasn't passed by reference");
1013                  RETURN_LONG(RES_PHP_NONREF);                  RETURN_LONG(RES_PHP_NONREF);
1014          }          }
1015                    
1016          sessionid_t vpSessionID = 0;          sessionid_t xnpSessionID = 0;
1017          result_t result = createSession( xoopsSessionID, (userid_t)uid, &vpSessionID );          result_t result = createSession( xoopsSessionID, (userid_t)uid, &xnpSessionID );
1018          if ( result == RES_OK )          if ( result == RES_OK )
1019                  ZVAL_LONG(zVPSessionID, (long)vpSessionID);                  ZVAL_LONG(zXNPSessionID, (long)xnpSessionID);
1020          RETURN_LONG((long)result);          RETURN_LONG((long)result);
1021  }  }
1022    
1023  /** VP の session の詳細情報を得る<br>  /** XNP の session の詳細情報を得る<br>
1024      int vp_get_session( int vp_session_id, array session_info )      int xnp_get_session( int xnp_session_id, array session_info )
1025      @param vp_session_id   VPのセッションID      @param xnp_session_id   XNPのセッションID
1026      @param session_info  結果を受け取る配列      @param session_info  結果を受け取る配列
1027      @return 0 success      @return 0 success
1028    */    */
1029  ZEND_FUNCTION(vp_get_session)  ZEND_FUNCTION(xnp_get_session)
1030  {  {
1031          long vpSessionID;          long xnpSessionID;
1032          zval *sessionInfo;          zval *sessionInfo;
1033          if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "la",          if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "la",
1034            &vpSessionID, &sessionInfo) == FAILURE) {            &xnpSessionID, &sessionInfo) == FAILURE) {
1035                  return;                  return;
1036          }          }
1037          const session_t *session = 0;          const session_t *session = 0;
1038          result_t result = getSession( (sessionid_t)vpSessionID, &session );          result_t result = getSession( (sessionid_t)xnpSessionID, &session );
1039          if ( result == RES_OK ){          if ( result == RES_OK ){
1040                  sessionToZval( session, sessionInfo );                  sessionToZval( session, sessionInfo );
1041                  freeSession( session );                  freeSession( session );
# Line 1045  ZEND_FUNCTION(vp_get_session) Line 1045  ZEND_FUNCTION(vp_get_session)
1045  }  }
1046    
1047  /** ユーザのactivate状態を取得する<br>  /** ユーザのactivate状態を取得する<br>
1048      bool vp_is_activated( int vp_session_id, int user_id )      bool xnp_is_activated( int xnp_session_id, int user_id )
1049      @param vp_session_id   VPのセッションID      @param xnp_session_id   XNPのセッションID
1050      @param user_id  xoops_users.uid      @param user_id  xoops_users.uid
1051      @return 0 success      @return 0 success
1052    */    */
1053  ZEND_FUNCTION(vp_is_activated)  ZEND_FUNCTION(xnp_is_activated)
1054  {  {
1055          long sid, uid;          long sid, uid;
1056                    
# Line 1064  ZEND_FUNCTION(vp_is_activated) Line 1064  ZEND_FUNCTION(vp_is_activated)
1064  }  }
1065    
1066  /** activateする。<br>  /** activateする。<br>
1067      bool vp_activate( int vp_session_id, int user_id, bool activated )      bool xnp_activate( int xnp_session_id, int user_id, bool activated )
1068      @param vp_session_id   vp の session id      @param xnp_session_id   xnp の session id
1069      @param user_id   xoops_users.uid      @param user_id   xoops_users.uid
1070      @param activated  true:activate, false:inactivate      @param activated  true:activate, false:inactivate
1071      @return 0 success      @return 0 success
1072    */    */
1073  ZEND_FUNCTION(vp_activate)  ZEND_FUNCTION(xnp_activate)
1074  {  {
1075          long sid, uid;          long sid, uid;
1076          bool activated;          bool activated;
# Line 1085  ZEND_FUNCTION(vp_activate) Line 1085  ZEND_FUNCTION(vp_activate)
1085      RETURN_LONG(result);      RETURN_LONG(result);
1086  }  }
1087    
1088  /** VPのアカウント数を得る。<br>  /** XNPのアカウント数を得る。<br>
1089      int vp_get_account_count( int vp_session_id )      int xnp_get_account_count( int xnp_session_id )
1090      @param vp_session_id   VPのセッションID      @param xnp_session_id   XNPのセッションID
1091      @return 0 success      @return 0 success
1092    */    */
1093  ZEND_FUNCTION(vp_get_account_count)  ZEND_FUNCTION(xnp_get_account_count)
1094  {  {
1095          long sid;          long sid;
1096                    
# Line 1104  ZEND_FUNCTION(vp_get_account_count) Line 1104  ZEND_FUNCTION(vp_get_account_count)
1104  }  }
1105    
1106  /** アカウントを削除する。<br>  /** アカウントを削除する。<br>
1107      bool vp_delete_account( int vp_session_id, int user_id )      bool xnp_delete_account( int xnp_session_id, int user_id )
1108      @param vp_session_id   VPのセッションID      @param xnp_session_id   XNPのセッションID
1109      @param user_id   xoops_users.uid      @param user_id   xoops_users.uid
1110      @return 0 success      @return 0 success
1111    */    */
1112  ZEND_FUNCTION(vp_delete_account)  ZEND_FUNCTION(xnp_delete_account)
1113  {  {
1114          long sid, uid;          long sid, uid;
1115                    
# Line 1124  ZEND_FUNCTION(vp_delete_account) Line 1124  ZEND_FUNCTION(vp_delete_account)
1124  }  }
1125    
1126  /** アカウント情報を得る。<br>  /** アカウント情報を得る。<br>
1127      int vp_get_account( int vp_session_id, int user_id, array account_info )      int xnp_get_account( int xnp_session_id, int user_id, array account_info )
1128      @param vp_session_id   VPのセッションID      @param xnp_session_id   XNPのセッションID
1129      @param user_id   xoops_users.uid      @param user_id   xoops_users.uid
1130      @param account_info アカウント情報を受け取る連想配列      @param account_info アカウント情報を受け取る連想配列
1131      @return 0 success      @return 0 success
1132    */    */
1133  ZEND_FUNCTION(vp_get_account)  ZEND_FUNCTION(xnp_get_account)
1134  {  {
1135          long sid, uid;          long sid, uid;
1136          zval *zaccount;          zval *zaccount;
# Line 1152  ZEND_FUNCTION(vp_get_account) Line 1152  ZEND_FUNCTION(vp_get_account)
1152  }  }
1153    
1154  /** 条件に一致するアカウントの情報を得る。<br>  /** 条件に一致するアカウントの情報を得る。<br>
1155      int vp_get_accoutns( int sid, array uids, array criteria, array accounts );      int xnp_get_accoutns( int sid, array uids, array criteria, array accounts );
1156      @param vp_session_id   VPのセッションID      @param xnp_session_id   XNPのセッションID
1157      @param user_id   xoops_users.uid      @param user_id   xoops_users.uid
1158      @param criteria  取得範囲・ソート順を表す配列      @param criteria  取得範囲・ソート順を表す配列
1159      @param account_info アカウント情報を受け取る連想配列      @param account_info アカウント情報を受け取る連想配列
1160      @return 0 success      @return 0 success
1161    */    */
1162  ZEND_FUNCTION(vp_get_accounts)  ZEND_FUNCTION(xnp_get_accounts)
1163  {  {
1164          result_t result;          result_t result;
1165          long sid;          long sid;
# Line 1194  ZEND_FUNCTION(vp_get_accounts) Line 1194  ZEND_FUNCTION(vp_get_accounts)
1194  }  }
1195    
1196  /** アカウント情報を記録する。<br>  /** アカウント情報を記録する。<br>
1197      int vp_insert_account( int sid, array account_info, int &user_id );      int xnp_insert_account( int sid, array account_info, int &user_id );
1198      @param vp_session_id   vp の session id      @param xnp_session_id   xnp の session id
1199      @param account_info 記録したいアカウントの情報      @param account_info 記録したいアカウントの情報
1200      @param user_id ユーザID(xoops_users.uid)を書き込むリファレンス      @param user_id ユーザID(xoops_users.uid)を書き込むリファレンス
1201      @return 0 success      @return 0 success
1202    */    */
1203  ZEND_FUNCTION(vp_insert_account)  ZEND_FUNCTION(xnp_insert_account)
1204  {  {
1205          result_t result;          result_t result;
1206          long sid;          long sid;
# Line 1224  ZEND_FUNCTION(vp_insert_account) Line 1224  ZEND_FUNCTION(vp_insert_account)
1224  }  }
1225    
1226  /** アカウント情報を更新する。<br>  /** アカウント情報を更新する。<br>
1227      int vp_update_account( int sid, array account );      int xnp_update_account( int sid, array account );
1228      @param vp_session_id   VPのセッションID      @param xnp_session_id   XNPのセッションID
1229      @param account_info 書き込むべきアカウント情報を表す連想配列      @param account_info 書き込むべきアカウント情報を表す連想配列
1230      @return 0 success      @return 0 success
1231    */    */
1232  ZEND_FUNCTION(vp_update_account)  ZEND_FUNCTION(xnp_update_account)
1233  {  {
1234          result_t result;          result_t result;
1235          long sid;          long sid;
# Line 1250  ZEND_FUNCTION(vp_update_account) Line 1250  ZEND_FUNCTION(vp_update_account)
1250  }  }
1251    
1252  /** 条件に合うアカウントのuidの一覧を得る。<br>  /** 条件に合うアカウントのuidの一覧を得る。<br>
1253      int vp_dump_uids( int vp_session_id, array criteria, array uids );      int xnp_dump_uids( int xnp_session_id, array criteria, array uids );
1254      @param vp_session_id   VPのセッションID      @param xnp_session_id   XNPのセッションID
1255      @param criteria  取得範囲・ソート順を表す配列      @param criteria  取得範囲・ソート順を表す配列
1256      @param uids uidを受け取る配列      @param uids uidを受け取る配列
1257      @return 0 success      @return 0 success
1258    */    */
1259  ZEND_FUNCTION(vp_dump_uids)  ZEND_FUNCTION(xnp_dump_uids)
1260  {  {
1261          result_t result;          result_t result;
1262          long sid;          long sid;
# Line 1283  ZEND_FUNCTION(vp_dump_uids) Line 1283  ZEND_FUNCTION(vp_dump_uids)
1283      RETURN_LONG(result);      RETURN_LONG(result);
1284  }  }
1285    
1286  /** VPのグループの数を得る<br>  /** XNPのグループの数を得る<br>
1287      int vp_get_group_count( int vp_session_id );      int xnp_get_group_count( int xnp_session_id );
1288      @param vp_session_id   VPのセッションID      @param xnp_session_id   XNPのセッションID
1289      @return グループ数      @return グループ数
1290    */    */
1291  ZEND_FUNCTION(vp_get_group_count)  ZEND_FUNCTION(xnp_get_group_count)
1292  {  {
1293          result_t result;          result_t result;
1294          long sid;          long sid;
# Line 1304  ZEND_FUNCTION(vp_get_group_count) Line 1304  ZEND_FUNCTION(vp_get_group_count)
1304  }  }
1305    
1306  /** uidで指定したユーザが属すグループで、かつ条件に一致するグループのgidを得る<br>  /** uidで指定したユーザが属すグループで、かつ条件に一致するグループのgidを得る<br>
1307      int vp_get_group_by_uid( int vp_session_id, int uid, array criteria, array gids );      int xnp_get_group_by_uid( int xnp_session_id, int uid, array criteria, array gids );
1308      @param vp_session_id   VPのセッションID      @param xnp_session_id   XNPのセッションID
1309      @param user_id   xoops_users.uid      @param user_id   xoops_users.uid
1310      @param criteria  取得範囲・ソート順を表す配列      @param criteria  取得範囲・ソート順を表す配列
1311      @param gids gidを受け取る配列      @param gids gidを受け取る配列
1312      @return 0 success      @return 0 success
1313    */    */
1314  ZEND_FUNCTION(vp_get_groups_by_uid)  ZEND_FUNCTION(xnp_get_groups_by_uid)
1315  {  {
1316          result_t result;          result_t result;
1317          long sid, uid;          long sid, uid;
# Line 1341  ZEND_FUNCTION(vp_get_groups_by_uid) Line 1341  ZEND_FUNCTION(vp_get_groups_by_uid)
1341    
1342    
1343  /** uidで指定したユーザがgidで指定したグループのグループ管理者かどうかを得る<br>  /** uidで指定したユーザがgidで指定したグループのグループ管理者かどうかを得る<br>
1344      int vp_is_group_admin( int sid, int gid, int uid );      int xnp_is_group_admin( int sid, int gid, int uid );
1345      @param vp_session_id   VPのセッションID      @param xnp_session_id   XNPのセッションID
1346      @param group_id  VPのグループID      @param group_id  XNPのグループID
1347      @param user_id   xoops_users.uid      @param user_id   xoops_users.uid
1348      @return true: グループ管理者である。      @return true: グループ管理者である。
1349      @return false: グループ管理者でない。あるいはエラーである。      @return false: グループ管理者でない。あるいはエラーである。
1350    */    */
1351  ZEND_FUNCTION(vp_is_group_admin)  ZEND_FUNCTION(xnp_is_group_admin)
1352  {  {
1353          result_t result;          result_t result;
1354          long sid, gid, uid;          long sid, gid, uid;
# Line 1364  ZEND_FUNCTION(vp_is_group_admin) Line 1364  ZEND_FUNCTION(vp_is_group_admin)
1364  }  }
1365    
1366  /** 条件に一致するグループのgidの一覧を得る。<br>  /** 条件に一致するグループのgidの一覧を得る。<br>
1367      int vp_dump_gids( int sid, array criteria, array gids );      int xnp_dump_gids( int sid, array criteria, array gids );
1368      @param vp_session_id   VPのセッションID      @param xnp_session_id   XNPのセッションID
1369      @param criteria  取得範囲・ソート順を表す配列      @param criteria  取得範囲・ソート順を表す配列
1370      @param gids gidを受け取る配列      @param gids gidを受け取る配列
1371      @return 0 success      @return 0 success
1372    */    */
1373  ZEND_FUNCTION(vp_dump_gids)  ZEND_FUNCTION(xnp_dump_gids)
1374  {  {
1375          result_t result;          result_t result;
1376          long sid;          long sid;
# Line 1398  ZEND_FUNCTION(vp_dump_gids) Line 1398  ZEND_FUNCTION(vp_dump_gids)
1398  }  }
1399    
1400  /** gidで指定したグループの管理者で、かつ条件に一致するグループ管理者のuidの一覧を得る。<br>  /** gidで指定したグループの管理者で、かつ条件に一致するグループ管理者のuidの一覧を得る。<br>
1401      int vp_dump_group_admins(int sid, int group_id, array criteria, array uids )      int xnp_dump_group_admins(int sid, int group_id, array criteria, array uids )
1402      @param sid      VPのセッションID      @param sid      XNPのセッションID
1403      @param group_id VPのグループID      @param group_id XNPのグループID
1404      @param criteria 条件      @param criteria 条件
1405      @param uids     uidの一覧を受け取る配列      @param uids     uidの一覧を受け取る配列
1406      @return 0 success      @return 0 success
1407    */    */
1408    
1409  ZEND_FUNCTION(vp_dump_group_admins)  ZEND_FUNCTION(xnp_dump_group_admins)
1410  {  {
1411          long sid, gid;          long sid, gid;
1412          zval *zcriteria;          zval *zcriteria;
# Line 1432  ZEND_FUNCTION(vp_dump_group_admins) Line 1432  ZEND_FUNCTION(vp_dump_group_admins)
1432  }  }
1433    
1434  /** グループからメンバーを削除する。<br>  /** グループからメンバーを削除する。<br>
1435      int vp_delete_member(int sid, int group_id, int user_id )      int xnp_delete_member(int sid, int group_id, int user_id )
1436      @param sid      VPのセッションID      @param sid      XNPのセッションID
1437      @param group_id VPのグループID      @param group_id XNPのグループID
1438      @param user_id  ユーザID      @param user_id  ユーザID
1439      @return 0 success      @return 0 success
1440    */    */
1441    
1442  ZEND_FUNCTION(vp_delete_member)  ZEND_FUNCTION(xnp_delete_member)
1443  {  {
1444          long sid, gid, uid;          long sid, gid, uid;
1445                    
# Line 1453  ZEND_FUNCTION(vp_delete_member) Line 1453  ZEND_FUNCTION(vp_delete_member)
1453  }  }
1454    
1455  /** グループにメンバーを追加する<br>  /** グループにメンバーを追加する<br>
1456      int vp_insert_member(int sid, int group_id, int user_id, bool admin )      int xnp_insert_member(int sid, int group_id, int user_id, bool admin )
1457      @param sid      VPのセッションID      @param sid      XNPのセッションID
1458      @param group_id VPのグループID      @param group_id XNPのグループID
1459      @param user_id  ユーザID      @param user_id  ユーザID
1460      @param admin    グループ管理者ならtrue      @param admin    グループ管理者ならtrue
1461      @return 0 success      @return 0 success
1462    */    */
1463    
1464  ZEND_FUNCTION(vp_insert_member)  ZEND_FUNCTION(xnp_insert_member)
1465  {  {
1466          long sid, gid, uid;          long sid, gid, uid;
1467          zend_bool admin;          zend_bool admin;
# Line 1476  ZEND_FUNCTION(vp_insert_member) Line 1476  ZEND_FUNCTION(vp_insert_member)
1476  }  }
1477    
1478  /** gidで指定したグループのメンバーのuidの一覧を得る<br>  /** gidで指定したグループのメンバーのuidの一覧を得る<br>
1479      int vp_get_members(int sid, int group_id, array criteria, array uids )      int xnp_get_members(int sid, int group_id, array criteria, array uids )
1480      @param sid      VPのセッションID      @param sid      XNPのセッションID
1481      @param group_id VPのグループID      @param group_id XNPのグループID
1482      @param criteria 条件      @param criteria 条件
1483      @param uids     uidの一覧を受け取る配列      @param uids     uidの一覧を受け取る配列
1484      @return 0 success      @return 0 success
1485    */    */
1486    
1487  ZEND_FUNCTION(vp_get_members)  ZEND_FUNCTION(xnp_get_members)
1488  {  {
1489          long sid, gid;          long sid, gid;
1490          zval *zcriteria;          zval *zcriteria;
# Line 1510  ZEND_FUNCTION(vp_get_members) Line 1510  ZEND_FUNCTION(vp_get_members)
1510  }  }
1511    
1512  /** グループ情報を変更する。<br>  /** グループ情報を変更する。<br>
1513      int vp_update_group(int sid, array group )      int xnp_update_group(int sid, array group )
1514      @param sid      VPのセッションID      @param sid      XNPのセッションID
1515      @param group    グループ情報の連想配列      @param group    グループ情報の連想配列
1516      @return 0 success      @return 0 success
1517    */    */
1518  ZEND_FUNCTION(vp_update_group)  ZEND_FUNCTION(xnp_update_group)
1519  {  {
1520          long sid;          long sid;
1521          zval *zgroup;          zval *zgroup;
# Line 1532  ZEND_FUNCTION(vp_update_group) Line 1532  ZEND_FUNCTION(vp_update_group)
1532  }  }
1533    
1534  /** グループ情報を追加する。<br>  /** グループ情報を追加する。<br>
1535      int vp_insert_group( int sid, array group, int &gid )      int xnp_insert_group( int sid, array group, int &gid )
1536      @param sid      セッションID      @param sid      セッションID
1537      @param group    グループ情報の連想配列      @param group    グループ情報の連想配列
1538      @param gid      対応するグループIDを書き込むリファレンス      @param gid      対応するグループIDを書き込むリファレンス
# Line 1541  ZEND_FUNCTION(vp_update_group) Line 1541  ZEND_FUNCTION(vp_update_group)
1541      @return RES_NO_SUCH_SESSION      @return RES_NO_SUCH_SESSION
1542      @return RES_DB_QUERY_ERROR      @return RES_DB_QUERY_ERROR
1543  */  */
1544  ZEND_FUNCTION(vp_insert_group)  ZEND_FUNCTION(xnp_insert_group)
1545  {  {
1546          long sid;          long sid;
1547          zval *zgroup;          zval *zgroup;
# Line 1563  ZEND_FUNCTION(vp_insert_group) Line 1563  ZEND_FUNCTION(vp_insert_group)
1563    
1564    
1565  /** グループ情報を削除する。<br>  /** グループ情報を削除する。<br>
1566      int vp_delete_group( int sid, int gid )      int xnp_delete_group( int sid, int gid )
1567      @param sid      VPのセッションID      @param sid      XNPのセッションID
1568      @param gid      削除したいグループのID      @param gid      削除したいグループのID
1569      @return RES_OK      @return RES_OK
1570      @return RES_DB_QUERY_ERROR      @return RES_DB_QUERY_ERROR
1571      @return RES_NO_SUCH_SESSION      @return RES_NO_SUCH_SESSION
1572      @return RES_DB_NOT_INITIALIZED      @return RES_DB_NOT_INITIALIZED
1573    */    */
1574  ZEND_FUNCTION(vp_delete_group)  ZEND_FUNCTION(xnp_delete_group)
1575  {  {
1576          long sid;          long sid;
1577          long gid;          long gid;
# Line 1584  ZEND_FUNCTION(vp_delete_group) Line 1584  ZEND_FUNCTION(vp_delete_group)
1584  }  }
1585    
1586  /** グループの管理者を取得。<br>  /** グループの管理者を取得。<br>
1587      int vp_dump_group_admins( int sid, int gid, array criteria, array uids )      int xnp_dump_group_admins( int sid, int gid, array criteria, array uids )
1588      @param sid      VPのセッションID      @param sid      XNPのセッションID
1589      @param gid      VPグループのID      @param gid      XNPグループのID
1590      @param criteria uidsに書き込むときのソート条件,範囲の指定      @param criteria uidsに書き込むときのソート条件,範囲の指定
1591      @param uids     管理者のUIDを書き込む配列      @param uids     管理者のUIDを書き込む配列
1592      @return RES_OK      @return RES_OK
# Line 1595  ZEND_FUNCTION(vp_delete_group) Line 1595  ZEND_FUNCTION(vp_delete_group)
1595      @return RES_DB_NOT_INITIALIZED      @return RES_DB_NOT_INITIALIZED
1596    */    */
1597  /*  /*
1598  ZEND_FUNCTION(vp_dump_group_admins)  ZEND_FUNCTION(xnp_dump_group_admins)
1599  {  {
1600          long sid;          long sid;
1601          long gid;          long gid;
# Line 1625  ZEND_FUNCTION(vp_dump_group_admins) Line 1625  ZEND_FUNCTION(vp_dump_group_admins)
1625  }  }
1626  */  */
1627            
1628  /** VPのsession_idの正当性チェック<br>  /** XNPのsession_idの正当性チェック<br>
1629      bool vp_is_valid_session_id( int vp_session_id)      bool xnp_is_valid_session_id( int xnp_session_id)
1630      @return true 有効なVPのsession_idである<br>      @return true 有効なXNPのsession_idである<br>
1631      @return false 無効なsession_idまたはエラー      @return false 無効なsession_idまたはエラー
1632    */    */
1633  ZEND_FUNCTION(vp_is_valid_session_id)  ZEND_FUNCTION(xnp_is_valid_session_id)
1634  {  {
1635          long sid;          long sid;
1636          if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &sid ) == FAILURE) {          if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &sid ) == FAILURE) {
# Line 1641  ZEND_FUNCTION(vp_is_valid_session_id) Line 1641  ZEND_FUNCTION(vp_is_valid_session_id)
1641  }  }
1642    
1643  /** エラー文字列を得る<br>  /** エラー文字列を得る<br>
1644      string vp_get_last_error_string()      string xnp_get_last_error_string()
1645      @return 0 success      @return 0 success
1646    */    */
1647  ZEND_FUNCTION(vp_get_last_error_string)  ZEND_FUNCTION(xnp_get_last_error_string)
1648  {  {
1649          if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "" ) == FAILURE) {          if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "" ) == FAILURE) {
1650                  return;                  return;

Legend:
Removed from v.1.20  
changed lines
  Added in v.1.21

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26