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.15 by youi, Fri Dec 3 07:20:40 2004 UTC revision 1.16 by aga, Sat Dec 4 09:22:24 2004 UTC
# Line 1  Line 1 
1  /*  /*
2            $Revision$
3          VPAL: Visiome Platform Abstract Layer          VPAL: Visiome Platform Abstract Layer
4                    
5          zend_parse_parametersはphp4.1.0が必要          zend_parse_parametersはphp4.1.0が必要
# Line 114  zend_module_entry vpalmod_module_entry = Line 115  zend_module_entry vpalmod_module_entry =
115      NULL,      NULL,
116      NULL,      NULL,
117      NULL,      NULL,
118      NULL,      NULL,
119      NO_VERSION_YET,      NO_VERSION_YET,
120      STANDARD_MODULE_PROPERTIES      STANDARD_MODULE_PROPERTIES
121  };  };
# Line 126  ZEND_GET_MODULE(vpalmod) Line 127  ZEND_GET_MODULE(vpalmod)
127  END_EXTERN_C()  END_EXTERN_C()
128  #endif  #endif
129    
130    
131  /* implement function that is meant to be made available to PHP */  /* implement function that is meant to be made available to PHP */
132  ZEND_FUNCTION(first_module)  ZEND_FUNCTION(first_module)
133  {  {
# Line 166  static void print_hash_key( int res, con Line 168  static void print_hash_key( int res, con
168  }  }
169    
170    
171  /** zval**からcriteria_tを生成するためのクラス。生成失敗ならgetResult()!=RES_OK  /** zval*からcriteria_tを生成するためのクラス。生成失敗ならgetResult()!=RES_OK <br>
172    * criteria :      criteria :
173      array( 'start'=>0, 'rows'=>10,      array( 'start'=>0, 'rows'=>10,
174         'orders'=>array(         'orders'=>array(
175          array('name'=>'id','order'=>'0'),          array('name'=>'id','order'=>'0'),
# Line 177  static void print_hash_key( int res, con Line 179  static void print_hash_key( int res, con
179  class zCriteria_t : public criteria {  class zCriteria_t : public criteria {
180  private:  private:
181          result_t result;          result_t result;
182  public:  
183          // pz: array('name'=>'timestamp','name'=>'1')          // pz: array('name'=>'timestamp','name'=>'1')
184          // これからorderbyを作成して追加。          // これからorderbyを作成して追加。
185          void setOrder( zval *pz ){          void setOrder( zval *pz ){
# Line 275  public: Line 277  public:
277                  }                  }
278                  result = RES_OK;                  result = RES_OK;
279          }          }
280    
281    public:
282          zCriteria_t() : criteria(){ result = RES_ERROR; }          zCriteria_t() : criteria(){ result = RES_ERROR; }
283          zCriteria_t( zval *pz ) : criteria(){ initialize(pz); }          zCriteria_t( zval *pz ) : criteria(){ initialize(pz); }
284          zCriteria_t( zval **ppz ) : criteria() { initialize(*ppz); }          zCriteria_t( zval **ppz ) : criteria() { initialize(*ppz); }
# Line 292  public: Line 296  public:
296          }          }
297  };  };
298    
299  bool hashGetLong( HashTable *ht, const char *key, long *val ){  
300    /** 連想配列にアクセスしてlong値を得る。
301      @param   ht   連想配列
302      @param   key  キー
303      @param   val  long値を受け取るポインタ
304      @return  成功ならtrue
305     */
306    static bool hashGetLong( HashTable *ht, const char *key, long *val ){
307      zval         **tmp;      zval         **tmp;
308      if( zend_hash_find( ht, (char *)key, strlen( key ) + 1, ( void** )&tmp ) == SUCCESS ){      if( zend_hash_find( ht, (char *)key, strlen( key ) + 1, ( void** )&tmp ) == SUCCESS ){
309          convert_to_long_ex( tmp );          convert_to_long_ex( tmp );
# Line 302  bool hashGetLong( HashTable *ht, const c Line 313  bool hashGetLong( HashTable *ht, const c
313      return false;      return false;
314  }  }
315    
316  bool hashGetString( HashTable *ht, const char *key, char **val ){  /** 連想配列にアクセスして文字列を得る。
317      @param   ht   連想配列
318      @param   key  キー
319      @param   val  文字列を受け取るポインタ
320      @return  成功ならtrue
321     */
322    static bool hashGetString( HashTable *ht, const char *key, char **val ){
323      zval         **tmp;      zval         **tmp;
324      if( zend_hash_find( ht, (char *)key, strlen( key ) + 1, ( void** )&tmp ) == SUCCESS ){      if( zend_hash_find( ht, (char *)key, strlen( key ) + 1, ( void** )&tmp ) == SUCCESS ){
325          convert_to_string_ex( tmp );          convert_to_string_ex( tmp );
# Line 312  bool hashGetString( HashTable *ht, const Line 329  bool hashGetString( HashTable *ht, const
329      return false;      return false;
330  }  }
331    
332  bool hashGetDouble( HashTable *ht, const char *key, double *val ){  /** 連想配列にアクセスしてdouble値を得る。
333      @param   ht   連想配列
334      @param   key  キー
335      @param   val  double値を受け取るポインタ
336      @return  成功ならtrue
337     */
338    static bool hashGetDouble( HashTable *ht, const char *key, double *val ){
339      zval         **tmp;      zval         **tmp;
340      if( zend_hash_find( ht, (char *)key, strlen( key ) + 1, ( void** )&tmp ) == SUCCESS ){      if( zend_hash_find( ht, (char *)key, strlen( key ) + 1, ( void** )&tmp ) == SUCCESS ){
341          convert_to_double_ex( tmp );          convert_to_double_ex( tmp );
# Line 322  bool hashGetDouble( HashTable *ht, const Line 345  bool hashGetDouble( HashTable *ht, const
345      return false;      return false;
346  }  }
347    
348    /** zval*からaccountを生成するためのクラス。 <br>
349        生成失敗ならgetResult()!=RES_OK <br>
350      */
351  class zAccount_t : public account {  class zAccount_t : public account {
352  private:  private:
353          result_t result;          result_t result;
 public:  
354          void initialize(zval *pz){          void initialize(zval *pz){
355                  HashTable *ht = Z_ARRVAL_P(pz);                  HashTable *ht = Z_ARRVAL_P(pz);
356                  long l;                  long l;
# Line 364  public: Line 389  public:
389                  if ( hashGetLong  ( ht, "user_viewemail"    , &l ) ) setUserViewemail    ( l );                  if ( hashGetLong  ( ht, "user_viewemail"    , &l ) ) setUserViewemail    ( l );
390                  if ( hashGetLong  ( ht, "activate"          , &l ) ) setActivate         ( l );                  if ( hashGetLong  ( ht, "activate"          , &l ) ) setActivate         ( l );
391                  if ( hashGetString( ht, "address"           , &p ) ) setAddress          ( p );                  if ( hashGetString( ht, "address"           , &p ) ) setAddress          ( p );
392                  if ( hashGetString( ht, "division"         , &p ) ) setDivision        ( p );                  if ( hashGetString( ht, "division"          , &p ) ) setDivision         ( p );
393                  if ( hashGetString( ht, "tel"               , &p ) ) setTel              ( p );                  if ( hashGetString( ht, "tel"               , &p ) ) setTel              ( p );
394                  if ( hashGetString( ht, "company_name"      , &p ) ) setCompanyName     ( p );                  if ( hashGetString( ht, "company_name"      , &p ) ) setCompanyName      ( p );
395                  if ( hashGetString( ht, "country"           , &p ) ) setCountry          ( p );                  if ( hashGetString( ht, "country"           , &p ) ) setCountry          ( p );
396                  if ( hashGetString( ht, "zipcode"           , &p ) ) setZipcode          ( p );                  if ( hashGetString( ht, "zipcode"           , &p ) ) setZipcode          ( p );
397                  if ( hashGetString( ht, "fax"               , &p ) ) setFax              ( p );                  if ( hashGetString( ht, "fax"               , &p ) ) setFax              ( p );
# Line 376  public: Line 401  public:
401    
402                  result = RES_OK;                  result = RES_OK;
403          }          }
404    public:
405          zAccount_t() : account(){ result = RES_ERROR; }          zAccount_t() : account(){ result = RES_ERROR; }
406        
407        /** コンストラクタ
408          @param pz  array( 'uid'=>1, 'uname'=>'root', ... ); こんな形の連想配列 */
409          zAccount_t( zval *pz ) : account(){ initialize(pz); }          zAccount_t( zval *pz ) : account(){ initialize(pz); }
410          zAccount_t( zval **ppz ) : account() { initialize(*ppz); }          zAccount_t( zval **ppz ) : account() { initialize(*ppz); }
411          result_t getResult(){ return result; };          result_t getResult(){ return result; };
412  };  };
413    
414  /** zval**から(userid_t *puid,int uidLen)を生成するためのクラス。生成失敗ならgetResult()!=RES_OK  /** zval*から(userid_t *puid,int uidLen)を生成するためのクラス。 <br>
415      uids : array( '1', '3', '4', '6', ... ); こんな形の配列      生成失敗ならgetResult()!=RES_OK <br>
416    */    */
417  class zUIDs_t {  class zUIDs_t {
418  private:  private:
# Line 397  public: Line 426  public:
426                  result = RES_ERROR;                  result = RES_ERROR;
427          }          }
428                    
429        /** コンストラクタ
430          @param pza  array( '1', '3', '4', '6', ... ); こんな形の配列 */
431          zUIDs_t( zval *pza ){          zUIDs_t( zval *pza ){
432                  pUID = 0;                  pUID = 0;
433                  len = 0;                  len = 0;
# Line 454  public: Line 485  public:
485   *   *
486   * uids_tの配列をPHPの配列に変換する   * uids_tの配列をPHPの配列に変換する
487   *   *
488   * @param pUID 変換もとのuserid_tの配列   * @param pUID 変換元のuserid_tの配列
489   * @param len pUIDの配列の長さ   * @param len pUIDの配列の長さ
490   * @param pz 変換結果を書き込む配列(初期化済みであること)   * @param pz 変換結果を書き込む配列(初期化済みであること)
491   * @return RES_OK   * @return RES_OK
# Line 471  result_t uidsToZval( userid_t *pUID, int Line 502  result_t uidsToZval( userid_t *pUID, int
502                    
503          return RES_OK;          return RES_OK;
504  }  }
505  /** groupid_t → zval  /**
506    */   *
507     * groupid_tの配列をPHPの配列に変換する
508     * @param pGID 変換元のgroupid_tの配列
509     * @param len  pGIDの配列の長さ
510     * @param ppz  変換結果を書き込む配列(初期化済みであること)
511     * @return RES_OK
512     *
513     */
514  result_t gidsToZval( groupid_t *pGID, int len, zval **ppz )  result_t gidsToZval( groupid_t *pGID, int len, zval **ppz )
515  {  {
516      zend_hash_clean( Z_ARRVAL_PP(ppz) );      zend_hash_clean( Z_ARRVAL_PP(ppz) );
# Line 485  result_t gidsToZval( groupid_t *pGID, in Line 523  result_t gidsToZval( groupid_t *pGID, in
523          return RES_OK;          return RES_OK;
524  }  }
525    
526    
527    /**
528     *
529     * account_tの内容をPHPの配列に変換する
530     * @param pAccount 変換元のaccount_t*
531     * @param z        変換結果を書き込む配列(初期化済みであること)
532     * @return RES_OK
533     *
534     */
535  result_t accountToZval( const account_t *pAccount, zval *z )  result_t accountToZval( const account_t *pAccount, zval *z )
536  {  {
537      zend_hash_clean( z -> value.ht );      zend_hash_clean( z -> value.ht );
# Line 534  result_t accountToZval( const account_t Line 581  result_t accountToZval( const account_t
581      add_assoc_long( z, "notice_mail_since", pAccount -> getNoticeMailSince( ) );      add_assoc_long( z, "notice_mail_since", pAccount -> getNoticeMailSince( ) );
582          return RES_OK;          return RES_OK;
583  }  }
584    /**
585  /** accounts → zval   *
586    * accounts: こんな感じの配列   * 複数のaccount_tの内容をPHPの配列の配列に変換する
587     * @param pAccounts 変換元のaccount_t*
588     * @param accountsLen pAccountsの配列の長さ
589     * @param z        変換結果を書き込む配列(初期化済みであること)
590     * @return RES_OK
591     *
592      z: こんな感じの配列になる。↓ <br>
593      array(      array(
594        array(        array(
595          'uid'=>100,          'uid'=>100,
# Line 547  result_t accountToZval( const account_t Line 600  result_t accountToZval( const account_t
600        ),        ),
601        ...        ...
602      )      )
603    */   */
604  result_t accountsToZval( const account_t *pAccounts, int accountsLen, zval *z )  result_t accountsToZval( const account_t *pAccounts, int accountsLen, zval *z )
605  {  {
606      zend_hash_clean( z -> value.ht );      zend_hash_clean( z -> value.ht );
# Line 563  result_t accountsToZval( const account_t Line 616  result_t accountsToZval( const account_t
616          return RES_OK;          return RES_OK;
617  }  }
618    
619  /** groups → zval  /**
620    */   *
621     * 複数のgroup_tの内容をPHPの配列の配列に変換する
622     * @param pGroups 変換元のgroup_t*
623     * @param groupsLen pGroupsの配列の長さ
624     * @param z        変換結果を書き込む配列(初期化済みであること)
625     * @return RES_OK
626     *
627      z: こんな感じの配列になる。↓ <br>
628        array(
629          array(
630            'gid'=>1,
631            'gname'=>'foo group',
632            'gdesc'=>'group of foo'
633          ),
634          ...
635        )
636     */
637  result_t groupsToZval( const group_t *pGroups, int groupsLen, zval *z )  result_t groupsToZval( const group_t *pGroups, int groupsLen, zval *z )
638  {  {
639      zend_hash_clean( z -> value.ht );      zend_hash_clean( z -> value.ht );
# Line 586  result_t groupsToZval( const group_t *pG Line 655  result_t groupsToZval( const group_t *pG
655   *   *
656   * group_tの内容をPHPの連想配列に変換する   * group_tの内容をPHPの連想配列に変換する
657   *   *
658   * @param pGroup 変換もとのグループ情報   * @param pGroup 変換元のグループ情報
659   * @param z 変換結果を書き込む連想配列(初期化済みであること)   * @param z 変換結果を書き込む連想配列(初期化済みであること)
660   * @return RES_OK   * @return RES_OK
661   *   *
# Line 600  result_t groupToZval( const group_t *pGr Line 669  result_t groupToZval( const group_t *pGr
669          return RES_OK;          return RES_OK;
670  }  }
671    
672  /** zval → group  /**
673    */   *
674     * PHPの連想配列の内容をgroup_tに変換する
675     *
676     * @param z 変換元の連想配列
677     * @param pGroup 変換結果を書き込むグループ
678     * @return RES_OK
679     *
680     */
681  result_t zvalToGroup( zval *z, group_t *pGroup )  result_t zvalToGroup( zval *z, group_t *pGroup )
682  {  {
683      zval         **tmp;      zval         **tmp;
# Line 627  result_t zvalToGroup( zval *z, group_t * Line 703  result_t zvalToGroup( zval *z, group_t *
703          return RES_OK;          return RES_OK;
704  }  }
705    
706    /**
707     *
708     * session_tの内容をPHPの連想配列に変換する
709     *
710     * @param pSession 変換元のsession_t
711     * @param z 変換結果を書き込む連想配列(初期化済みであること)
712     * @return RES_OK
713     *
714     */
715    result_t sessionToZval( const session_t *pSession, zval *z )
716    {
717            string sessionID(unsignedIntToString(pSession->getSessionID()));
718            add_assoc_string(z, "session_id", (char *)sessionID.c_str(), 1);
719            
720            string date(unsignedIntToString((unsigned int)pSession->getDate()));
721            add_assoc_string(z, "date", (char *)date.c_str(), 1);
722            
723            string userID(unsignedIntToString((unsigned int)pSession->getUserID()));
724            add_assoc_string(z, "user_id", (char *)userID.c_str(), 1);
725            
726            return RES_OK;
727    }
728    
729    
730  // int vp_get_group( int sid, int gid, array group );  
731    /** 指定したグループの情報を得る<br>
732        int vp_get_group( int sid, int gid, array group );
733        @param sid    VPのセッションID
734        @param gid    VP の group_id
735        @param group  結果を受け取る配列
736        @return 0 success <br>
737      */
738  ZEND_FUNCTION(vp_get_group)  ZEND_FUNCTION(vp_get_group)
739  {  {
740          long sid, gid;          long sid, gid;
# Line 650  ZEND_FUNCTION(vp_get_group) Line 756  ZEND_FUNCTION(vp_get_group)
756  }  }
757    
758    
759  // int vp_get_groups( int sid, array gids, array criteria, array groups );  /** 指定したグループ(複数)の情報を得る<br>
760        vp_get_groups( int sid, array gids, array criteria, array groups );
761        @param sid      VPのセッションID
762        @param gids     VP の group_id の配列
763        @param criteria 条件
764        @param groups   結果を受け取る配列の配列
765        @return 0 success <br>
766      */
767  ZEND_FUNCTION(vp_get_groups)  ZEND_FUNCTION(vp_get_groups)
768  {  {
769          result_t result;          result_t result;
# Line 697  ZEND_FUNCTION(vp_get_groups) Line 810  ZEND_FUNCTION(vp_get_groups)
810  }  }
811    
812    
813  // int vp_is_moderator(int sid, int uid)  /** 指定したユーザがモデレータかどうかを調べる<br>
814        int vp_is_moderator(int sid, int uid)
815        @param sid      VPのセッションID
816        @param uid      xoops の uid (xoops_users.uid)
817        @return true  モデレータである <br>
818      */
819  ZEND_FUNCTION(vp_is_moderator)  ZEND_FUNCTION(vp_is_moderator)
820  {  {
821          long vpSessionID;          long vpSessionID;
# Line 712  ZEND_FUNCTION(vp_is_moderator) Line 830  ZEND_FUNCTION(vp_is_moderator)
830      RETURN_BOOL(result)      RETURN_BOOL(result)
831  }  }
832    
833  // int vp_get_uid(string uname,int &uid)  /** ユーザ名からuidを調べる<br>
834        int vp_get_uid(string uname,int &uid)
835        @param sid      VPのセッションID
836        @param uname    xoops の uname (xoops_users.uname)
837        @param uid      xoops の uid (xoops_users.uid) を受け取る変数
838        @return 0 success
839      */
840  ZEND_FUNCTION(vp_get_uid)  ZEND_FUNCTION(vp_get_uid)
841  {  {
842          char *uname;          char *uname;
# Line 736  ZEND_FUNCTION(vp_get_uid) Line 860  ZEND_FUNCTION(vp_get_uid)
860          RETURN_LONG((long)result);          RETURN_LONG((long)result);
861  }  }
862    
 /** session → zval  
   */  
 result_t sessionToZval( const session_t *pSession, zval *z )  
 {  
         string sessionID(unsignedIntToString(pSession->getSessionID()));  
         add_assoc_string(z, "session_id", (char *)sessionID.c_str(), 1);  
           
         string date(unsignedIntToString((unsigned int)pSession->getDate()));  
         add_assoc_string(z, "date", (char *)date.c_str(), 1);  
           
         string userID(unsignedIntToString((unsigned int)pSession->getUserID()));  
         add_assoc_string(z, "user_id", (char *)userID.c_str(), 1);  
           
         return RES_OK;  
 }  
   
863  ZEND_FUNCTION(vp_test_criteria)  ZEND_FUNCTION(vp_test_criteria)
864  {  {
865          zval *z;          zval *z;
# Line 862  ZEND_FUNCTION(vp_login_user) Line 970  ZEND_FUNCTION(vp_login_user)
970    
971  /** ログアウトする。<br>  /** ログアウトする。<br>
972      void vp_logout_user(int vp_session_id)      void vp_logout_user(int vp_session_id)
973      @param vp_session_id  vpのsessionid      @param vp_session_id  VPのセッションID
974      @return なし      @return なし
975    */    */
976  ZEND_FUNCTION(vp_logout_user)  ZEND_FUNCTION(vp_logout_user)
# Line 877  ZEND_FUNCTION(vp_logout_user) Line 985  ZEND_FUNCTION(vp_logout_user)
985      RETURN_NULL();      RETURN_NULL();
986  }  }
987    
988  /** vp の session id 作成<br>  /** VPのセッションID 作成<br>
989      int vp_create_session( string xoops_sess_id, int uid, int &session )      int vp_create_session( string xoops_sess_id, int uid, int &session )
990      @param xoops_sess_id  xoopsのsession id      @param xoops_sess_id  xoopsのセッションID
991      @param uid  xoops の uid (xoops_users.uid)      @param uid  xoops の uid (xoops_users.uid)
992        @param session  作成したVPのsessionを受け取る変数
993      @return 0 成功      @return 0 成功
994    */    */
995  ZEND_FUNCTION(vp_create_session)  ZEND_FUNCTION(vp_create_session)
# Line 907  ZEND_FUNCTION(vp_create_session) Line 1016  ZEND_FUNCTION(vp_create_session)
1016          RETURN_LONG((long)result);          RETURN_LONG((long)result);
1017  }  }
1018    
1019  /** vp の session の詳細情報を得る<br>  /** VP の session の詳細情報を得る<br>
1020      int vp_get_session( int vp_session_id, array session_info )      int vp_get_session( int vp_session_id, array session_info )
1021      @param vp_session_id   vp の session id      @param vp_session_id   VPのセッションID
1022      @param session_info  結果を受け取る配列      @param session_info  結果を受け取る配列
1023      @return 0 success      @return 0 success
1024    */    */
# Line 931  ZEND_FUNCTION(vp_get_session) Line 1040  ZEND_FUNCTION(vp_get_session)
1040          RETURN_LONG((long)result);          RETURN_LONG((long)result);
1041  }  }
1042    
1043  /** activate状態 取得<br>  /** ユーザのactivate状態を取得する<br>
1044      bool vp_is_activated( int vp_session_id, int user_id )      bool vp_is_activated( int vp_session_id, int user_id )
1045      @param vp_session_id   vp の session id      @param vp_session_id   VPのセッションID
1046      @param user_id  xoops_users.uid      @param user_id  xoops_users.uid
1047      @return 0 success      @return 0 success
1048    */    */
# Line 950  ZEND_FUNCTION(vp_is_activated) Line 1059  ZEND_FUNCTION(vp_is_activated)
1059      RETURN_BOOL(result);      RETURN_BOOL(result);
1060  }  }
1061    
1062  /** activateする。<br>  /** ユーザをactivateする。<br>
1063      bool vp_activate( int vp_session_id, bool activated )      bool vp_activate( int vp_session_id, bool activated )
1064      @param vp_session_id   vp の session id      @param vp_session_id   VPのセッションID
1065      @param user_id   xoops_users.uid      @param user_id   xoops_users.uid
1066      @param activated  true:activate, false:inactivate      @param activated  true:activate, false:inactivate
1067      @return 0 success      @return 0 success
# Line 972  ZEND_FUNCTION(vp_activate) Line 1081  ZEND_FUNCTION(vp_activate)
1081      RETURN_LONG(result);      RETURN_LONG(result);
1082  }  }
1083    
1084  /** vpのアカウント数を得る。<br>  /** VPのアカウント数を得る。<br>
1085      int vp_get_account_count( int vp_session_id )      int vp_get_account_count( int vp_session_id )
1086      @param vp_session_id   vp の session id      @param vp_session_id   VPのセッションID
1087      @return 0 success      @return 0 success
1088    */    */
1089  ZEND_FUNCTION(vp_get_account_count)  ZEND_FUNCTION(vp_get_account_count)
# Line 992  ZEND_FUNCTION(vp_get_account_count) Line 1101  ZEND_FUNCTION(vp_get_account_count)
1101    
1102  /** アカウントを削除する。<br>  /** アカウントを削除する。<br>
1103      bool vp_delete_account( int vp_session_id, int user_id )      bool vp_delete_account( int vp_session_id, int user_id )
1104      @param vp_session_id   vp の session id      @param vp_session_id   VPのセッションID
1105      @param user_id   xoops_users.uid      @param user_id   xoops_users.uid
1106      @return 0 success      @return 0 success
1107    */    */
# Line 1012  ZEND_FUNCTION(vp_delete_account) Line 1121  ZEND_FUNCTION(vp_delete_account)
1121    
1122  /** アカウント情報を得る。<br>  /** アカウント情報を得る。<br>
1123      int vp_get_account( int vp_session_id, int user_id, array account_info )      int vp_get_account( int vp_session_id, int user_id, array account_info )
1124      @param vp_session_id   vp の session id      @param vp_session_id   VPのセッションID
1125      @param user_id   xoops_users.uid      @param user_id   xoops_users.uid
1126      @param account_info アカウント情報を受け取る連想配列      @param account_info アカウント情報を受け取る連想配列
1127      @return 0 success      @return 0 success
# Line 1040  ZEND_FUNCTION(vp_get_account) Line 1149  ZEND_FUNCTION(vp_get_account)
1149    
1150  /** 条件に一致するアカウントの情報を得る。<br>  /** 条件に一致するアカウントの情報を得る。<br>
1151      int vp_get_accoutns( int sid, array uids, array criteria, array accounts );      int vp_get_accoutns( int sid, array uids, array criteria, array accounts );
1152      @param vp_session_id   vp の session id      @param vp_session_id   VPのセッションID
1153      @param user_id   xoops_users.uid      @param user_id   xoops_users.uid
1154      @param criteria  取得範囲・ソート順を表す配列      @param criteria  取得範囲・ソート順を表す配列
1155      @param account_info アカウント情報を受け取る連想配列      @param account_info アカウント情報を受け取る連想配列
# Line 1082  ZEND_FUNCTION(vp_get_accounts) Line 1191  ZEND_FUNCTION(vp_get_accounts)
1191    
1192  /** アカウント情報を得る。<br>  /** アカウント情報を得る。<br>
1193      int vp_insert_account( int sid, array account_info );      int vp_insert_account( int sid, array account_info );
1194      @param vp_session_id   vp の session id      @param vp_session_id   VPのセッションID
1195      @param user_id   xoops_users.uid      @param user_id   xoops_users.uid
1196      @param account_info アカウント情報を受け取る連想配列      @param account_info アカウント情報を受け取る連想配列
1197      @return 0 success      @return 0 success
# Line 1109  ZEND_FUNCTION(vp_insert_account) Line 1218  ZEND_FUNCTION(vp_insert_account)
1218    
1219  /** アカウント情報を更新する。<br>  /** アカウント情報を更新する。<br>
1220      int vp_update_account( int sid, array account );      int vp_update_account( int sid, array account );
1221      @param vp_session_id   vp の session id      @param vp_session_id   VPのセッションID
1222      @param account_info 書き込むべきアカウント情報を表す連想配列      @param account_info 書き込むべきアカウント情報を表す連想配列
1223      @return 0 success      @return 0 success
1224    */    */
# Line 1135  ZEND_FUNCTION(vp_update_account) Line 1244  ZEND_FUNCTION(vp_update_account)
1244    
1245  /** 条件に合うアカウントのuidの一覧を得る。<br>  /** 条件に合うアカウントのuidの一覧を得る。<br>
1246      int vp_dump_uids( int vp_session_id, array criteria, array uids );      int vp_dump_uids( int vp_session_id, array criteria, array uids );
1247      @param vp_session_id   vp の session id      @param vp_session_id   VPのセッションID
1248      @param criteria  取得範囲・ソート順を表す配列      @param criteria  取得範囲・ソート順を表す配列
1249      @param uids uidを受け取る配列      @param uids uidを受け取る配列
1250      @return 0 success      @return 0 success
# Line 1168  ZEND_FUNCTION(vp_dump_uids) Line 1277  ZEND_FUNCTION(vp_dump_uids)
1277  }  }
1278    
1279  /** VPのグループの数を得る<br>  /** VPのグループの数を得る<br>
1280      int vp_get_group_count( int sid );      int vp_get_group_count( int vp_session_id );
1281      @param vp_session_id   vp の session id      @param vp_session_id   VPのセッションID
1282      @return グループ数      @return グループ数
1283    */    */
1284  ZEND_FUNCTION(vp_get_group_count)  ZEND_FUNCTION(vp_get_group_count)
# Line 1188  ZEND_FUNCTION(vp_get_group_count) Line 1297  ZEND_FUNCTION(vp_get_group_count)
1297  }  }
1298    
1299  /** uidで指定したユーザが属すグループで、かつ条件に一致するグループのgidを得る<br>  /** uidで指定したユーザが属すグループで、かつ条件に一致するグループのgidを得る<br>
1300      int vp_get_group_by_uid( int sid, int uid, array criteria, array gids );      int vp_get_group_by_uid( int vp_session_id, int uid, array criteria, array gids );
1301      @param vp_session_id   vp の session id      @param vp_session_id   VPのセッションID
1302      @param user_id   xoops_users.uid      @param user_id   xoops_users.uid
1303      @param criteria  取得範囲・ソート順を表す配列      @param criteria  取得範囲・ソート順を表す配列
1304      @param gids gidを受け取る配列      @param gids gidを受け取る配列
# Line 1226  ZEND_FUNCTION(vp_get_groups_by_uid) Line 1335  ZEND_FUNCTION(vp_get_groups_by_uid)
1335    
1336  /** uidで指定したユーザがgidで指定したグループのグループ管理者かどうかを得る<br>  /** uidで指定したユーザがgidで指定したグループのグループ管理者かどうかを得る<br>
1337      int vp_is_group_admin( int sid, int gid, int uid );      int vp_is_group_admin( int sid, int gid, int uid );
1338      @param vp_session_id   vp の session id      @param vp_session_id   VPのセッションID
1339      @param group_id  VPのグループID      @param group_id  VPのグループID
1340      @param user_id   xoops_users.uid      @param user_id   xoops_users.uid
1341      @return true: グループ管理者である。      @return true: グループ管理者である。
# Line 1249  ZEND_FUNCTION(vp_is_group_admin) Line 1358  ZEND_FUNCTION(vp_is_group_admin)
1358    
1359  /** 条件に一致するグループのgidの一覧を得る。<br>  /** 条件に一致するグループのgidの一覧を得る。<br>
1360      int vp_dump_gids( int sid, array criteria, array gids );      int vp_dump_gids( int sid, array criteria, array gids );
1361      @param vp_session_id   vp の session id      @param vp_session_id   VPのセッションID
1362      @param criteria  取得範囲・ソート順を表す配列      @param criteria  取得範囲・ソート順を表す配列
1363      @param gids gidを受け取る配列      @param gids gidを受け取る配列
1364      @return 0 success      @return 0 success
# Line 1283  ZEND_FUNCTION(vp_dump_gids) Line 1392  ZEND_FUNCTION(vp_dump_gids)
1392    
1393  /** gidで指定したグループの管理者で、かつ条件に一致するグループ管理者のuidの一覧を得る。<br>  /** gidで指定したグループの管理者で、かつ条件に一致するグループ管理者のuidの一覧を得る。<br>
1394      int vp_dump_group_admins(int sid, int group_id, array criteria, array uids )      int vp_dump_group_admins(int sid, int group_id, array criteria, array uids )
1395      @param sid      セッションID      @param sid      VPのセッションID
1396      @param group_id VPグループID      @param group_id VPのグループID
1397      @param criteria 条件      @param criteria 条件
1398      @param uids     uidの一覧を受け取る配列      @param uids     uidの一覧を受け取る配列
1399      @return 0 success      @return 0 success
# Line 1317  ZEND_FUNCTION(vp_dump_group_admins) Line 1426  ZEND_FUNCTION(vp_dump_group_admins)
1426    
1427  /** グループからメンバーを削除する。<br>  /** グループからメンバーを削除する。<br>
1428      int vp_delete_member(int sid, int group_id, int user_id )      int vp_delete_member(int sid, int group_id, int user_id )
1429      @param sid      セッションID      @param sid      VPのセッションID
1430      @param group_id VPグループID      @param group_id VPのグループID
1431      @param user_id  ユーザID      @param user_id  ユーザID
1432      @return 0 success      @return 0 success
1433    */    */
# Line 1338  ZEND_FUNCTION(vp_delete_member) Line 1447  ZEND_FUNCTION(vp_delete_member)
1447    
1448  /** グループにメンバーを追加する<br>  /** グループにメンバーを追加する<br>
1449      int vp_insert_member(int sid, int group_id, int user_id, bool admin )      int vp_insert_member(int sid, int group_id, int user_id, bool admin )
1450      @param sid      セッションID      @param sid      VPのセッションID
1451      @param group_id VPグループID      @param group_id VPのグループID
1452      @param user_id  ユーザID      @param user_id  ユーザID
1453      @param admin    グループ管理者ならtrue      @param admin    グループ管理者ならtrue
1454      @return 0 success      @return 0 success
# Line 1361  ZEND_FUNCTION(vp_insert_member) Line 1470  ZEND_FUNCTION(vp_insert_member)
1470    
1471  /** gidで指定したグループのメンバーのuidの一覧を得る<br>  /** gidで指定したグループのメンバーのuidの一覧を得る<br>
1472      int vp_get_members(int sid, int group_id, array criteria, array uids )      int vp_get_members(int sid, int group_id, array criteria, array uids )
1473      @param sid      セッションID      @param sid      VPのセッションID
1474      @param group_id VPグループID      @param group_id VPのグループID
1475      @param criteria 条件      @param criteria 条件
1476      @param uids     uidの一覧を受け取る配列      @param uids     uidの一覧を受け取る配列
1477      @return 0 success      @return 0 success
# Line 1395  ZEND_FUNCTION(vp_get_members) Line 1504  ZEND_FUNCTION(vp_get_members)
1504    
1505  /** グループ情報を変更する。<br>  /** グループ情報を変更する。<br>
1506      int vp_update_group(int sid, array group )      int vp_update_group(int sid, array group )
1507      @param sid      セッションID      @param sid      VPのセッションID
1508      @param group    グループ情報の連想配列      @param group    グループ情報の連想配列
1509      @return 0 success      @return 0 success
1510    */    */
# Line 1417  ZEND_FUNCTION(vp_update_group) Line 1526  ZEND_FUNCTION(vp_update_group)
1526    
1527  /** グループ情報を追加する。<br>  /** グループ情報を追加する。<br>
1528      int vp_insert_group( int sid, array group )      int vp_insert_group( int sid, array group )
1529      @param sid      セッションID      @param sid      VPのセッションID
1530      @param group    グループ情報の連想配列      @param group    グループ情報の連想配列
1531      @return RES_OK      @return RES_OK
1532      @return RES_DB_NOT_INITIALIZED      @return RES_DB_NOT_INITIALIZED
# Line 1443  ZEND_FUNCTION(vp_insert_group) Line 1552  ZEND_FUNCTION(vp_insert_group)
1552    
1553  /** グループ情報を削除する。<br>  /** グループ情報を削除する。<br>
1554      int vp_delete_group( int sid, int gid )      int vp_delete_group( int sid, int gid )
1555      @param sid      セッションID      @param sid      VPのセッションID
1556      @param gid      削除したいグループのID      @param gid      削除したいグループのID
1557      @return RES_OK      @return RES_OK
1558      @return RES_DB_QUERY_ERROR      @return RES_DB_QUERY_ERROR
# Line 1464  ZEND_FUNCTION(vp_delete_group) Line 1573  ZEND_FUNCTION(vp_delete_group)
1573    
1574  /** グループの管理者を取得。<br>  /** グループの管理者を取得。<br>
1575      int vp_dump_group_admins( int sid, int gid, array criteria, array uids )      int vp_dump_group_admins( int sid, int gid, array criteria, array uids )
1576      @param sid      セッションID      @param sid      VPのセッションID
1577      @param gid      グループのID      @param gid      VPグループのID
1578      @param criteria uidsに書き込むときのソート条件,範囲の指定      @param criteria uidsに書き込むときのソート条件,範囲の指定
1579      @param uids     管理者のUIDを書き込む配列      @param uids     管理者のUIDを書き込む配列
1580      @return RES_OK      @return RES_OK
# Line 1504  ZEND_FUNCTION(vp_dump_group_admins) Line 1613  ZEND_FUNCTION(vp_dump_group_admins)
1613  }  }
1614  */  */
1615            
1616  /** vpのsession_idの正当性チェック<br>  /** VPのsession_idの正当性チェック<br>
1617      bool vp_is_valid_session_id( int vp_session_id)      bool vp_is_valid_session_id( int vp_session_id)
1618      @return true 有効なvpのsession_idである      @return true 有効なVPのsession_idである<br>
1619      @return false 無効なsession_idまたはエラー      @return false 無効なsession_idまたはエラー
1620    */    */
1621  ZEND_FUNCTION(vp_is_valid_session_id)  ZEND_FUNCTION(vp_is_valid_session_id)

Legend:
Removed from v.1.15  
changed lines
  Added in v.1.16

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