Bonsoir,
Je souhaite développer un plugin en utilisant une library PHP utilisant API REST de Twitter. Le but étant de m'exercer à développer des plugins.
L'objectif est d'automatiser la publication des nouveaux articles sur Twitter dés qu'ils sont enregistrés. J'utilise donc
onContentAfterSave()
Je souhaite importer les class de cette librairie dans Joomla afin de pouvoir les utiliser ensuite dans mon plugin.
Pouvez vous m'indiquer la méthode à suivre ? Dois-je utiliser JLoader ? Dois-je créer un composant ?
Actuellement j'ai créé un plugin comme ceci
autosocial.php
autosave.xml
la librairie que je souhaite intégrée est disponible ici :
Je souhaite développer un plugin en utilisant une library PHP utilisant API REST de Twitter. Le but étant de m'exercer à développer des plugins.
L'objectif est d'automatiser la publication des nouveaux articles sur Twitter dés qu'ils sont enregistrés. J'utilise donc
onContentAfterSave()
Je souhaite importer les class de cette librairie dans Joomla afin de pouvoir les utiliser ensuite dans mon plugin.
Pouvez vous m'indiquer la méthode à suivre ? Dois-je utiliser JLoader ? Dois-je créer un composant ?
Actuellement j'ai créé un plugin comme ceci
Code PHP:
<?php
// The general information at the top of each file
/**
* @version $Id$
* @package Joomla
* @copyright Copyright (C) 2005 - 2009 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License, see LICENSE.php
*/
// No direct access allowed to this file
defined( '_JEXEC' ) or die( 'Restricted access' );
// Import Joomla! Plugin library file
jimport('joomla.plugin.plugin');
//The Content plugin Loadmodule
class plgContentAutosocial extends JPlugin
{
public function onContentAfterSave($context, &$article, $isNew)
{
// Paramètres Twitter
$consumerKey = $this->params->get('twitter_ConsumerKey');
$consumerSecret = $this->params->get('twitter_ConsumerSecret');
$oAuthToken = $this->params->get('twitter_oauthToken');
$oAuthSecret = $this->params->get('twitter_oauthSecret');
$articleId = $article->id;
include ('twitteroauth/OAuth.php');
include ('twitteroauth/twitteroauth.php');
$tweet = new TwitterOAuth($consumerKey, $consumerSecret, $oAuthToken, $oAuthSecret);
$tweetmsg = 'Article ID'.$articleId. 'Saved';
$tweet->post('statuses/update',array('status' => $tweetmsg));
}
}
?>
Code:
<?xml version="1.0" encoding="utf-8"?> <extension version="2.5" type="plugin" group="content" method="upgrade"> <name>AutoSocial</name> <author>Florian P</author> <creationDate>Mars 2013</creationDate> <copyright>(C) 2005 - 2012 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>florian@joomladsgn.com</authorEmail> <authorUrl>www.joomladsgn.com</authorUrl> <version>1.0.0</version> <description>PLG_CONTENT_AUTOSOCIAL_XML_DESCRIPTION</description> <files> <folder>language</folder> <folder>twitteroauth</folder> <filename plugin="autosocial">autosocial.php</filename> <filename>index.html</filename> </files> <languages folder="language"> <language tag="fr-FR">fr-FR/fr-FR.plg_content_autosocial.ini</language> </languages> <config> <fields name="params"> <fieldset name="basic"> <field name="twitter_ConsumerKey" type="text" label="PLG_CONTENT_AUTOSOCIAL_ITEM_FIELD_TWITTER_CONSUMER_KEY_LABEL" description="PLG_CONTENT_AUTOSOCIAL_ITEM_FIELD_TWITTER_CONSUMER_KEY_CLASS_DESC" /> <field name="twitter_ConsumerSecret" type="text" label="PLG_CONTENT_AUTOSOCIAL_ITEM_FIELD_TWITTER_CONSUMER_SECRET_LABEL" description="PLG_CONTENT_AUTOSOCIAL_ITEM_FIELD_TWITTER_CONSUMER_SECRET_CLASS_DESC" /> <field name="twitter_oauthToken" type="text" label="PLG_CONTENT_AUTOSOCIAL_ITEM_FIELD_TWITTER_OAUTHTOKEN_LABEL" description="PLG_CONTENT_AUTOSOCIAL_ITEM_FIELD_TWITTER_OAUTHTOKEN_CLASS_DESC" /> <field name="twitter_oauthSecret" type="text" label="PLG_CONTENT_AUTOSOCIAL_ITEM_FIELD_TWITTER_OAUTHSECRET_LABEL" description="PLG_CONTENT_AUTOSOCIAL_ITEM_FIELD_TWITTER_OAUTHSECRET_DESC" /> </fieldset> </fields> </config> </extension>
la librairie que je souhaite intégrée est disponible ici :
Commentaire