Edit report at http://bugs.php.net/bug.php?id=53752&edit=1

 ID:                 53752
 Updated by:         [email protected]
 Reported by:        sylvain dot lecoy at gmail dot com
 Summary:            Make __construct non final
-Status:             Open
+Status:             Bogus
 Type:               Feature/Change Request
 Package:            *Extensibility Functions
 Operating System:   Windows 7
 PHP Version:        Irrelevant
 Block user comment: N
 Private report:     N

 New Comment:

Please report it at http://pecl.php.net/package/oauth instead.


Previous Comments:
------------------------------------------------------------------------
[2011-01-14 18:39:55] sylvain dot lecoy at gmail dot com

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 ?

------------------------------------------------------------------------
[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

Reply via email to