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.6 by youi, Tue Nov 30 11:55:24 2004 UTC revision 1.7 by youi, Wed Dec 1 01:02:35 2004 UTC
# Line 53  ZEND_FUNCTION(vp_insert_member     ); Line 53  ZEND_FUNCTION(vp_insert_member     );
53  ZEND_FUNCTION(vp_get_members       );  ZEND_FUNCTION(vp_get_members       );
54  ZEND_FUNCTION(vp_delete_group      );  ZEND_FUNCTION(vp_delete_group      );
55  ZEND_FUNCTION(vp_insert_group      );  ZEND_FUNCTION(vp_insert_group      );
 ZEND_FUNCTION(vp_update_group      );  
56  */  */
57    ZEND_FUNCTION(vp_update_group      );
58  ZEND_FUNCTION(vp_get_group         );  ZEND_FUNCTION(vp_get_group         );
59  ZEND_FUNCTION(vp_get_groups        );  ZEND_FUNCTION(vp_get_groups        );
60  ZEND_FUNCTION(vp_is_moderator      );  ZEND_FUNCTION(vp_is_moderator      );
# Line 92  zend_function_entry vpalmod_functions[] Line 92  zend_function_entry vpalmod_functions[]
92      ZEND_FE(vp_get_members       ,NULL)      ZEND_FE(vp_get_members       ,NULL)
93      ZEND_FE(vp_delete_group      ,NULL)      ZEND_FE(vp_delete_group      ,NULL)
94      ZEND_FE(vp_insert_group      ,NULL)      ZEND_FE(vp_insert_group      ,NULL)
     ZEND_FE(vp_update_group      ,NULL)  
95  */      */    
96        ZEND_FE(vp_update_group      ,NULL)
97      ZEND_FE(vp_get_group         ,NULL)      ZEND_FE(vp_get_group         ,NULL)
98      ZEND_FE(vp_get_groups        ,NULL)      ZEND_FE(vp_get_groups        ,NULL)
99      ZEND_FE(vp_is_moderator      ,NULL)      ZEND_FE(vp_is_moderator      ,NULL)
# Line 416  result_t accountToZval( const account_t Line 416  result_t accountToZval( const account_t
416  {  {
417      zend_hash_clean( z -> value.ht );      zend_hash_clean( z -> value.ht );
418            
419      if( add_assoc_long( z, "uid", pAccount -> getUID( ) ) != SUCCESS ){      add_assoc_long( z, "uid", pAccount -> getUID( ) );
         fprintf( stderr, "aaaaaaaaaaaaaaaa" );  
         abort( );  
     }  
420      add_assoc_string( z, "uname", ( char* )pAccount -> getUname( ), 1 );      add_assoc_string( z, "uname", ( char* )pAccount -> getUname( ), 1 );
421      add_assoc_string( z, "name", ( char* )pAccount -> getName( ), 1 );      add_assoc_string( z, "name", ( char* )pAccount -> getName( ), 1 );
422      add_assoc_string( z, "email", ( char* )pAccount -> getEmail( ), 1 );      add_assoc_string( z, "email", ( char* )pAccount -> getEmail( ), 1 );
# Line 512  result_t groupsToZval( const group_t *pG Line 509  result_t groupsToZval( const group_t *pG
509          return RES_OK;          return RES_OK;
510  }  }
511    
512  /** group → zval  /**
513    */   *
514  result_t groupToZval( const group_t *pGroup, int groupLen, zval *z )   * group_tの内容をPHPの連想配列に変換する
515     *
516     * @param pGroup 変換もとのグループ情報
517     * @param z 変換結果を書き込む連想配列(初期化済みであること)
518     * @return RES_OK
519     *
520     */
521    result_t groupToZval( const group_t *pGroup, zval *z )
522  {  {
523      zend_hash_clean( z -> value.ht );      zend_hash_clean( z -> value.ht );
524      add_assoc_long( z, "gid",  pGroup -> getGID( ) );      add_assoc_long( z, "gid",  pGroup -> getGID( ) );
# Line 523  result_t groupToZval( const group_t *pGr Line 527  result_t groupToZval( const group_t *pGr
527          return RES_OK;          return RES_OK;
528  }  }
529    
530    /** zval → group
531      */
532    result_t zvalToGroup( zval *z, group_t *pGroup )
533    {
534        zval         **tmp;
535        HashPosition   pos;
536        int i = 0;
537        char* key = 0;
538        
539        key = "gid";
540        zend_hash_find( z -> value.ht, key, strlen( key ) + 1, ( void** )&tmp );
541        convert_to_long_ex( tmp ) ;
542        pGroup -> setGID( (*tmp) -> value.lval );
543        
544        key = "gname";
545        zend_hash_find( z -> value.ht, key, strlen( key ) + 1, ( void** )&tmp );
546        convert_to_string_ex( tmp ) ;
547        pGroup -> setGname( (*tmp) -> value.str.val );
548        
549        key = "gdesc";
550        zend_hash_find( z -> value.ht, key, strlen( key ) + 1, ( void** )&tmp );
551        convert_to_string_ex( tmp ) ;
552        pGroup -> setDesc( (*tmp) -> value.str.val );
553        
554            return RES_OK;
555    }
556    
557    
558  // int vp_get_group( int sid, int gid, array group );  // int vp_get_group( int sid, int gid, array group );
559  ZEND_FUNCTION(vp_get_group)  ZEND_FUNCTION(vp_get_group)
560  {  {
# Line 537  ZEND_FUNCTION(vp_get_group) Line 569  ZEND_FUNCTION(vp_get_group)
569          const group_t *pgroup;          const group_t *pgroup;
570          result_t result = getGroup( (sessionid_t)sid, (groupid_t)gid, &pgroup );          result_t result = getGroup( (sessionid_t)sid, (groupid_t)gid, &pgroup );
571          if ( RES_OK == result ){          if ( RES_OK == result ){
572                  //groupToZval( pgroup, zgroup );                  groupToZval( pgroup, zgroup );
573                  freeResult( pgroup );                  freeResult( pgroup );
574          }          }
575                    
# Line 1171  ZEND_FUNCTION(vp_dump_gids) Line 1203  ZEND_FUNCTION(vp_dump_gids)
1203                    
1204      RETURN_LONG(result);      RETURN_LONG(result);
1205  }  }
1206    
1207    /** グループ情報を変更する。<br>
1208        int vp_update_group(int sid, array group )
1209        @param sid      セッションID
1210        @param group    グループ情報の連想配列
1211        @return 0 success
1212      */
1213    ZEND_FUNCTION(vp_update_group)
1214    {
1215            long sid;
1216            zval *zgroup;
1217        group_t group;
1218            
1219            if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "la",
1220                                  &sid, &zgroup) == FAILURE) {
1221                    return;
1222            }
1223            
1224        zvalToGroup( zgroup, &group );
1225        result_t result = updateGroup( sid, &group );
1226        RETURN_LONG( result );
1227    }
1228    

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.7

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