Changeset 11973

Show
Ignore:
Timestamp:
09/03/07 15:53:58 (1 year ago)
Author:
rambo
Message:

fixed schema loading + schema. SOAP end gets array, not object

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/MidCOM_2_8/org.maemo.gforgeprofileupdater/config/config.inc

    r11755 r11973  
    11/* The schema database to use */ 
    22'schemadb' => 'file:/org/maemo/gforgeprofileupdater/config/schemadb_default.inc', 
    3 'schema' => 'default', 
     3'schema' => 'gforgeuser', 
    44 
    55/* GForge SOAP service crendentials */ 
  • branches/MidCOM_2_8/org.maemo.gforgeprofileupdater/config/schemadb_default.inc

    r11755 r11973  
    1 'default' => array 
     1'gforgeuser' => array 
    22( 
    3     'name'        => 'default', 
    4     'description' => 'example article', 
     3    'description' => 'gForge user object', 
    54    'fields'      => array 
    65    ( 
     
    87        ( 
    98            'description' => 'firstname', 
    10             'datatype'    => 'text', 
     9            'type'        => 'text', 
    1110            'location'    => 'firstname',  
    12             'required' => true, 
     11            'widget'      => 'text', 
     12            'required'    => true, 
    1313        ), 
    1414        'lastname' => array 
    1515        ( 
    1616            'description' => 'lastname', 
    17             'datatype'    => 'text', 
     17            'type'        => 'text', 
    1818            'location'    => 'lastname',  
    19             'required' => true, 
     19            'widget'      => 'text', 
     20            'required'    => true, 
    2021        ), 
    2122        'email' => array 
    2223        ( 
    2324            'description' => 'email', 
    24             'datatype'    => 'text', 
     25            'type'        => 'text', 
    2526            'location'    => 'email',  
    26             'required' => true, 
     27            'widget'      => 'text', 
     28            'required'    => true, 
    2729        ), 
    2830        'jabber_id' => array 
     
    3739            'type'     => 'text', 
    3840            'widget'   => 'text', 
    39             'validation' => 'email'
     41            'required' => false
    4042        ), 
    4143    ), 
    42 ), // default 
     44), // gforgeuser 
    4345 
  • branches/MidCOM_2_8/org.maemo.gforgeprofileupdater/exec/test.php

    r11755 r11973  
    1818    echo "</pre>\n"; 
    1919    echo "Last soap error: " . $handler->get_soap_error() . "<br/>\n"; 
     20    /* 
     21    $ret = $handler->call_gforge('userGetGroups', array('user_id' => (int)$user->user_id)); 
     22    echo "\$handler->call_gforge('userGetGroups', array('user_id' => (int){$user->user_id})) returned:<pre>\n"; 
     23    print_r($ret); 
     24    echo "</pre>\n"; 
     25    echo "Last soap error: " . $handler->get_soap_error() . "<br/>\n"; 
     26    */ 
     27 
    2028    $handler->destroy_soap(); 
    2129} 
  • branches/MidCOM_2_8/org.maemo.gforgeprofileupdater/gforge/user.php

    r11971 r11973  
    187187 
    188188    // Verify privileges so that only user itself and gforge admins can change the data 
    189     if ($logged_user->getID() == $userdata->user_id
     189    if ($logged_user->getID() == $userdata['user_id']
    190190    { 
    191191        $authorized = true; 
     
    207207    if (!$authorized) 
    208208    { 
    209         return new soap_fault ('3997','user','Only user itself or admin may update user data','Only user itself or admin may update user data'); 
    210     } 
    211  
    212     $user =& user_get_object($userdata->user_id); 
     209        return new soap_fault ('3996','user','Only user itself or admin may update user data','Only user itself or admin may update user data'); 
     210    } 
     211 
     212    /* 
     213    ob_start(); 
     214    print_r($userdata); 
     215    $userdata_r = ob_get_contents(); 
     216    ob_end_clean(); 
     217    return new soap_fault ('3995','user',"userdata:\n{$userdata_r}\n","userdata:\n{$userdata_r}\n"); 
     218    */ 
     219 
     220    $user =& user_get_object($userdata['user_id']); 
     221    if (   !$user 
     222        || $user->getID() != $userdata['user_id']) 
     223    { 
     224        return new soap_fault ('3997','user',"Could not find user #{$userdata['user_id']}","Could not find user #{$userdata['user_id']}"); 
     225    } 
    213226    if (   !$user->update 
    214227            ( 
    215                 $userdata->firstname
    216                 $userdata->lastname
    217                 $userdata->language_id
    218                 $userdata->timezone
     228                $userdata['firstname']
     229                $userdata['lastname']
     230                $userdata['language_id']
     231                $userdata['timezone']
    219232                $user->getMailingsPrefs('site'), 
    220233                $user->getMailingsPrefs('va'), 
    221234                $user->usesRatings(), 
    222                 $userdata->jabber_address
     235                $userdata['jabber_address']
    223236                $user->getJabberOnly(), 
    224237                $user->getThemeID(), 
    225                 $userdata->address
    226                 $userdata->address2
    227                 $userdata->phone
    228                 $userdata->fax
    229                 $userdata->title
     238                $userdata['address']
     239                $userdata['address2']
     240                $userdata['phone']
     241                $userdata['fax']
     242                $userdata['title']
    230243                $userdata->country_code 
    231244                /* These two last values are optional for the update method 
     
    236249        ) 
    237250    { 
    238         return new soap_fault ('3998','user','User update failed: ' . $user->getMessage(),'User update failed: ' . $user->getMessage()); 
     251        return new soap_fault ('3998','user','User update failed: ' . $user->getErrorMessage(),'User update failed: ' . $user->getErrorMessage()); 
    239252    } 
    240253    if ($user->getEmail() != $userdata->email) 
     
    243256        if (!$user->setEmail($userdata->email)) 
    244257        { 
    245             return new soap_fault ('3999','user','User email update failed: ' . $user->getMessage(),'User email update failed: ' . $user->getMessage()); 
     258            return new soap_fault ('3999','user','User email update failed: ' . $user->getErrorMessage(),'User email update failed: ' . $user->getErrorMessage()); 
    246259        } 
    247260    } 
  • branches/MidCOM_2_8/org.maemo.gforgeprofileupdater/main.php

    r11763 r11973  
    160160    function _load_datamanager($schemadb) 
    161161    { 
    162         if (empty($this->_schema)) 
    163         { 
    164             $_MIDCOM->generate_error(MIDCOM_ERRCRIT, 'Export schema ($this->_schema) must be defined, hint: do it in "_load_schemadb"'); 
    165             // This will exit 
    166         } 
    167162        $this->_datamanager = new midcom_helper_datamanager2_datamanager($schemadb); 
    168163 
    169         if (   ! $this->_datamanager 
    170             || ! $this->_datamanager->set_schema($this->_schema)) 
    171         { 
    172             $_MIDCOM->generate_error(MIDCOM_ERRCRIT, "Failed to create a DM2 instance for schemadb schema '{$this->_schema}'."); 
     164        if (!$this->_datamanager) 
     165        { 
     166            $_MIDCOM->generate_error(MIDCOM_ERRCRIT, "Failed to create a DM2 instance for schemadb '{$schemadb}'"); 
    173167            // This will exit. 
    174168        } 
     169        if (!$this->_datamanager->set_schema($this->_schema)) 
     170        { 
     171            $_MIDCOM->generate_error(MIDCOM_ERRCRIT, "Failed set_schema('{$this->_schema}')"); 
     172            // This will exit. 
     173        } 
    175174    } 
    176175 
     
    178177    { 
    179178        $this->_schema = $this->_config->get('schema'); 
    180         return $this->_config->get('schemadb'); 
     179        $schemadb = midcom_helper_datamanager2_schema::load_database($this->_config->get('schemadb')); 
     180        return $schemadb; 
    181181    } 
    182182 
    183183    function _object_dm(&$object) 
    184184    { 
    185         $this->_load_datamanager($this->_load_schemadb()); 
     185        $schemadb = $this->_load_schemadb(); 
     186        $this->_load_datamanager($schemadb); 
    186187        return $this->_datamanager->set_storage($object); 
    187188    }