Example #1
0
 /**
  * Instantiate a Social Network provider
  *
  * @since 0.7.3
  *
  * @param string $provider Provider name (ex. facebook, vkontakte, etc.)
  * @param string $prefix SCP options prefix (default: 'scp-')
  * @param array $options Options for specific provider
  * @return SCP_Provider
  */
 public static function create($provider, $prefix, $options)
 {
     self::$prefix = $prefix;
     self::$options = $options;
     self::$tabs_id = self::tabs_id();
     // FIXME: Переписать на проверку провайдера в массиве available_providers()
     switch ($provider) {
         case 'facebook':
             require_once dirname(__FILE__) . '/facebook.php';
             return new SCP_Facebook_Provider();
             break;
         case 'vkontakte':
             require_once dirname(__FILE__) . '/vkontakte.php';
             return new SCP_VK_Provider();
             break;
         case 'odnoklassniki':
             require_once dirname(__FILE__) . '/odnoklassniki.php';
             return new SCP_Odnoklassniki_Provider();
             break;
         case 'googleplus':
             require_once dirname(__FILE__) . '/googleplus.php';
             return new SCP_GooglePlus_Provider();
             break;
         case 'twitter':
             require_once dirname(__FILE__) . '/twitter.php';
             return new SCP_Twitter_Provider();
             break;
         case 'pinterest':
             require_once dirname(__FILE__) . '/pinterest.php';
             return new SCP_Pinterest_Provider();
             break;
         default:
             throw new Exception("Provider {$provider} is not implemented!");
     }
 }