function oauthconnector_provider_save in OAuth Connector 7
Same name and namespace in other branches
- 6 oauthconnector.module \oauthconnector_provider_save()
Saves a provider in the database.
Return value
void
1 call to oauthconnector_provider_save()
- oauthconnector_edit_form_provider_submit in ./
oauthconnector.admin.inc - Process submission of the provider edit form.
File
- ./
oauthconnector.module, line 458 - OAuth Connector module
Code
function oauthconnector_provider_save($provider) {
$update = isset($provider->pid) ? array(
'pid',
) : array();
if (isset($provider->csid) || !empty($provider->consumer_key) && !empty($provider->consumer_secret)) {
$consumer = isset($provider->csid) ? DrupalOAuthConsumer::loadById($provider->csid, FALSE) : FALSE;
$configuration = array(
'provider_url' => $provider->url,
);
foreach ($provider->consumer_advanced as $key => $value) {
$configuration[$key] = $value;
}
// fix broken/missing setting for DrupalOAuthClient
if (isset($configuration['access token endpoint'])) {
$configuration['access_endpoint'] = $configuration['access token endpoint'];
}
if ($consumer) {
$consumer->key = $provider->consumer_key;
$consumer->secret = $provider->consumer_secret;
$consumer->configuration = $configuration;
$consumer
->write(TRUE);
}
else {
$consumer = new DrupalOAuthConsumer($provider->consumer_key, $provider->consumer_secret, array(
'configuration' => $configuration,
));
$consumer
->write();
$provider->csid = $consumer->csid;
}
}
drupal_write_record('oauthconnector_provider', $provider, $update);
}