Edit report at http://bugs.php.net/bug.php?id=53752&edit=1
ID: 53752
User updated by: sylvain dot lecoy at gmail dot com
Reported by: sylvain dot lecoy at gmail dot com
Summary: Make __construct non final
Status: Open
Type: Feature/Change Request
Package: *Extensibility Functions
Operating System: Windows 7
PHP Version: Irrelevant
Block user comment: N
Private report: N
New Comment:
class OAuthAdapter extends OAuth implements DrupalOAuthClient {
private $mModule;
static function construct($module, $signature_method = NULL,
$auth_type =
NULL) {
$consumer_key = variable_get($module . '_consumer_key', '');
$consumer_secret = variable_get($module . '_consumer_secret', '');
$oauth = new OAuthAdapter($consumer_key, $consumer_secret,
$signature_method, $auth_type);
$oauth->mModule = $module;
// If the user is not anonymous (can happen with cron auto-sync
tasks).
if ($GLOBALS['user']->uid != 0) {
$oauth->setCaller($GLOBALS['user']->uid);
}
return $oauth;
}
}
Here is some code to illustrate a work around, but using __construct
will be a
lot better.
I am using 0.99.9 (on windows machine dev) maybe it has been changed on
1.0.0 ?
Previous Comments:
------------------------------------------------------------------------
[2011-01-14 18:35:46] sylvain dot lecoy at gmail dot com
Description:
------------
In order to extends the OAuth object, make the constructor non final so
we can
redefine __constrcut().
This is useful for framework like drupal, and you can then create an
OAuthAdapter
(which extends OAuth pecl) and instantiate it by giving a module name.
e.g. new OAuthAdapter("facebook"); consumer_key and secret are stored by
drupal
convention so we can skip this step for développment and make the lib
very dev-
friendly. (the pattern adapter allows redefinition in case the user
don't have
control on his webserver - shared environment for instance).
Sylvain Lecoy
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/bug.php?id=53752&edit=1