Appliquer un plugin sur une partie du site seulement

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [Problème] Appliquer un plugin sur une partie du site seulement

    Bonjour !

    Je rencontre un problème avec un plugin : Facebook-Twitter-Google+1 (http://extensions.joomla.org/extensi...ti-share/18072).

    Celui-ci permet la mise en place entre autres d'un bouton "J'aime", requérant l'appel à une classe php : FacebookApiException.

    En parallèle, j'utilise JomSocial et ai activé la connexion par Facebook, qui nécessite elle aussi une classe php FacebookApiException, mais d'un autre fichier.

    Et les spécialistes voient poindre le problème ; Quand je charge la page de connexion, où il est donc possible de se connecter par Facebook, et que le plugin est en marche... SURPRISE :
    Fatal error: Cannot redeclare class FacebookApiException in [Emplacement fichier]/base_facebook.php on line 107
    Ceci est somme toute logique : les deux mêmes classes sont appelées...

    Je souhaiterais savoir, avant de toucher à du code, qui est le code officiel de Facebook, s'il était possible d'activer le plugin seulement sur une partie du site. En effet, celui-ci m'est d'aucune utilité sur la page de connexion, puisqu'aucun article pouvant être partagé sur les réseaux sociaux n'est présent...

    Merci !

    Pour info, voici une partie du code du fichier incriminé :
    Code PHP:
    <?php
    /**
     * Copyright 2011 Facebook, Inc.
     *
     * Licensed under the Apache License, Version 2.0 (the "License"); you may
     * not use this file except in compliance with the License. You may obtain
     * a copy of the License at
     *
     *     http://www.apache.org/licenses/LICENSE-2.0
     *
     * Unless required by applicable law or agreed to in writing, software
     * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
     * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
     * License for the specific language governing permissions and limitations
     * under the License.
     */

    if (!function_exists('curl_init')) {
      throw new 
    Exception('Facebook needs the CURL PHP extension.');
    }
    if (!
    function_exists('json_decode')) {
      throw new 
    Exception('Facebook needs the JSON PHP extension.');
    }

    /**
     * Thrown when an API call returns an exception.
     *
     * @author Naitik Shah <naitik@facebook.com>
     */
    class FacebookApiException extends Exception
    {
      
    /**
       * The result from the API server that represents the exception information.
       */
      
    protected $result;

      
    /**
       * Make a new API Exception with the given result.
       *
       * @param array $result The result from the API server
       */
      
    public function __construct($result) {
        
    $this->result $result;

        
    $code = isset($result['error_code']) ? $result['error_code'] : 0;

        if (isset(
    $result['error_description'])) {
          
    // OAuth 2.0 Draft 10 style
          
    $msg $result['error_description'];
        } else if (isset(
    $result['error']) && is_array($result['error'])) {
          
    // OAuth 2.0 Draft 00 style
          
    $msg $result['error']['message'];
        } else if (isset(
    $result['error_msg'])) {
          
    // Rest server style
          
    $msg $result['error_msg'];
        } else {
          
    $msg 'Unknown Error. Check getResult()';
        }

        
    parent::__construct($msg$code);
      }

      
    /**
       * Return the associated result object returned by the API server.
       *
       * @return array The result from the API server
       */
      
    public function getResult() {
        return 
    $this->result;
      }

      
    /**
       * Returns the associated type for the error. This will default to
       * 'Exception' when a type is not available.
       *
       * @return string
       */
      
    public function getType() {
        if (isset(
    $this->result['error'])) {
          
    $error $this->result['error'];
          if (
    is_string($error)) {
            
    // OAuth 2.0 Draft 10 style
            
    return $error;
          } else if (
    is_array($error)) {
            
    // OAuth 2.0 Draft 00 style
            
    if (isset($error['type'])) {
              return 
    $error['type'];
            }
          }
        }

        return 
    'Exception';
      }

      
    /**
       * To make debugging easier.
       *
       * @return string The string representation of the error
       */
      
    public function __toString() {
        
    $str $this->getType() . ': ';
        if (
    $this->code != 0) {
          
    $str .= $this->code ': ';
        }
        return 
    $str $this->message;
      }
    }

    /**
     * Provides access to the Facebook Platform.  This class provides
     * a majority of the functionality needed, but the class is abstract
     * because it is designed to be sub-classed.  The subclass must
     * implement the four abstract methods listed at the bottom of
     * the file.
     *
     * @author Naitik Shah <naitik@facebook.com>
     */
    abstract class BaseFacebook
    {
      
    /**
       * Version.
       */
      
    const VERSION '3.1.1';

      
    /**
       * Default options for curl.
       */
      
    public static $CURL_OPTS = array(
        
    CURLOPT_CONNECTTIMEOUT => 10,
        
    CURLOPT_RETURNTRANSFER => true,
        
    CURLOPT_TIMEOUT        => 60,
        
    CURLOPT_USERAGENT      => 'facebook-php-3.1',
      );

      
    /**
       * List of query parameters that get automatically dropped when rebuilding
       * the current URL.
       */
      
    protected static $DROP_QUERY_PARAMS = array(
        
    'code',
        
    'state',
        
    'signed_request',
      );

      
    /**
       * Maps aliases to Facebook domains.
       */
      
    public static $DOMAIN_MAP = array(
        
    'api'       => 'https://api.facebook.com/',
        
    'api_video' => 'https://api-video.facebook.com/',
        
    'api_read'  => 'https://api-read.facebook.com/',
        
    'graph'     => 'https://graph.facebook.com/',
        
    'www'       => 'https://www.facebook.com/',
      );

      
    /**
       * The Application ID.
       *
       * @var string
       */
      
    protected $appId;

      
    /**
       * The Application API Secret.
       *
       * @var string
       */
      
    protected $apiSecret;

      
    /**
       * The ID of the Facebook user, or 0 if the user is logged out.
       *
       * @var integer
       */
      
    protected $user;

      
    /**
       * The data from the signed_request token.
       */
      
    protected $signedRequest;

      
    /**
       * A CSRF state variable to assist in the defense against CSRF attacks.
       */
      
    protected $state;

      
    /**
       * The OAuth access token received in exchange for a valid authorization
       * code.  null means the access token has yet to be determined.
       *
       * @var string
       */
      
    protected $accessToken null;

      
    /**
       * Indicates if the CURL based @ syntax for file uploads is enabled.
       *
       * @var boolean
       */
      
    protected $fileUploadSupport false;

      
    /**
       * Initialize a Facebook Application.
       *
       * The configuration:
       * - appId: the application ID
       * - secret: the application secret
       * - fileUpload: (optional) boolean indicating if file uploads are enabled
       *
       * @param array $config The application configuration
       */
      
    public function __construct($config) {
        
    $this->setAppId($config['appId']);
        
    $this->setApiSecret($config['secret']);
        if (isset(
    $config['fileUpload'])) {
          
    $this->setFileUploadSupport($config['fileUpload']);
        }

        
    $state $this->getPersistentData('state');
        if (!empty(
    $state)) {
          
    $this->state $this->getPersistentData('state');
        }
      }

      
    /**
       * Set the Application ID.
       *
       * @param string $appId The Application ID
       * @return BaseFacebook
       */
      
    public function setAppId($appId) {
        
    $this->appId $appId;
        return 
    $this;
      }

      
    /**
       * Get the Application ID.
       *
       * @return string the Application ID
       */
      
    public function getAppId() {
        return 
    $this->appId;
      }

      
    /**
       * Set the API Secret.
       *
       * @param string $apiSecret The API Secret
       * @return BaseFacebook
       */
      
    public function setApiSecret($apiSecret) {
        
    $this->apiSecret $apiSecret;
        return 
    $this;
      }

      
    /**
       * Get the API Secret.
       *
       * @return string the API Secret
       */
      
    public function getApiSecret() {
        return 
    $this->apiSecret;
      }

      
    /**
       * Set the file upload support status.
       *
       * @param boolean $fileUploadSupport The file upload support status.
       * @return BaseFacebook
       */
      
    public function setFileUploadSupport($fileUploadSupport) {
        
    $this->fileUploadSupport $fileUploadSupport;
        return 
    $this;
      }

      
    /**
       * Get the file upload support status.
       *
       * @return boolean true if and only if the server supports file upload.
       */
      
    public function useFileUploadSupport() {
        return 
    $this->fileUploadSupport;
      }

      
    /**
       * Sets the access token for api calls.  Use this if you get
       * your access token by other means and just want the SDK
       * to use it.
       *
       * @param string $access_token an access token.
       * @return BaseFacebook
       */
      
    public function setAccessToken($access_token) {
        
    $this->accessToken $access_token;
        return 
    $this;
      }
    }
    http://www.socialgamers.fr/

Annonce

Réduire
Aucune annonce pour le moment.

Partenaire de l'association

Réduire

Hébergeur Web PlanetHoster
Travaille ...
X