Nieuws koppelen aan Twitter via UDT en Events [update]

Een board om T&T's te plaatsen m.b.t. CMSMS, PHP of Smarty

Moderator: velden

deactivated010521

Nieuws koppelen aan Twitter via UDT en Events [update]

Post by deactivated010521 »

----------
Last edited by deactivated010521 on Tue Mar 12, 2013 3:29 pm, edited 8 times in total.
Calimer0

Re: Nieuwsberichten koppelen aan Twitter via UDT en Gebeurtenissen beheer

Post by Calimer0 »

Hey Arnoud,

Leuk gedaan! Ik heb zelf ook al zo'n implementatie gemaakt, alleen nog niet gedeeld!
Is het niet zo dat de manier waarop de Twitter module zich nu aanmeld binnenkort niet meer mogelijk is, omdat Twitter alleen nog maar oAuth gaat accepteren?
deactivated010521

Re: Nieuwsberichten koppelen aan Twitter via UDT en Gebeurte

Post by deactivated010521 »

----------
Last edited by deactivated010521 on Tue Mar 12, 2013 3:59 pm, edited 1 time in total.
RonnyK
Support Guru
Support Guru
Posts: 4962
Joined: Wed Oct 25, 2006 8:29 pm
Location: Raalte, the Netherlands

Re: Nieuwsberichten koppelen aan Twitter via UDT en Gebeurtenissen beheer

Post by RonnyK »

Ik zag net in de IRC, 12 minuten geleden, de wijziging voorbij komen... ;)
[10:17] svn: twitter - . (rev: 17) totophe: OAuth final implementation
Ronny
Calimer0

Re: Nieuwsberichten koppelen aan Twitter via UDT en Gebeurtenissen beheer

Post by Calimer0 »

Top, ik ga gelijk updaten!
Calimer0

Re: Nieuwsberichten koppelen aan Twitter via UDT en Gebeurtenissen beheer

Post by Calimer0 »

Heb al een bug gevonden voor 1.0.0 :)
RonnyK
Support Guru
Support Guru
Posts: 4962
Joined: Wed Oct 25, 2006 8:29 pm
Location: Raalte, the Netherlands

Re: Nieuwsberichten koppelen aan Twitter via UDT en Gebeurtenissen beheer

Post by RonnyK »

Let wel op... ;) Als ik over SVN praat, dan betreft dat de development-omgeving. Dat zijn GEEN vrijgegeven module-versies. Je kunt inderdaad upgraden naar de versie die Arnoud aangaf, aangezien die is vrijgegeven. Upgraden naar een SVN versie wordt afgeraden...

Ronny
deactivated010521

Re: Nieuwsberichten koppelen aan Twitter via UDT en Gebeurte

Post by deactivated010521 »

----------
Last edited by deactivated010521 on Tue Mar 12, 2013 4:17 pm, edited 1 time in total.
User avatar
Gregor
Power Poster
Power Poster
Posts: 1874
Joined: Thu Mar 23, 2006 9:25 am
Location: The Netherlands

Re: Nieuwsberichten koppelen aan Twitter via UDT en Gebeurtenissen beheer

Post by Gregor »

Oude versie gedeïnstalleerd en nieuwe versie geïnstalleerd, testberichtje in News gemaakt en voila, het werkt. Dank je Arnoud!

Gregor
User avatar
Gregor
Power Poster
Power Poster
Posts: 1874
Joined: Thu Mar 23, 2006 9:25 am
Location: The Netherlands

Re: Nieuwsberichten koppelen aan Twitter via UDT en Gebeurte

Post by Gregor »

@Arnoud: Het lijkt erop dat met v1.10.2 deze UDT niet meer werkt. Is dat ook jouw ervaring? In de Admin-log zie ik wel een aantal foutmeldingen:
Module is not properly cleaning input params
Ik las dat hier al meer over is geschreven en er nog geen oplossing voor is gevonden.

Gregor
User avatar
Rolf
Power Poster
Power Poster
Posts: 7825
Joined: Wed Apr 23, 2008 7:53 am
Location: The Netherlands
Contact:

Re: Nieuwsberichten koppelen aan Twitter via UDT en Gebeurte

Post by Rolf »

Probleem zit in de Twitter module.
Heb al een BR gemaakt http://dev.cmsmadesimple.org/bug/view/7241

Grt Rolf
- + - + - + - + - + - + -
LATEST TUTORIAL AT CMS CAN BE SIMPLE:
Migrating Company Directory module to LISE
- + - + - + - + - + - + -
Image
User avatar
Gregor
Power Poster
Power Poster
Posts: 1874
Joined: Thu Mar 23, 2006 9:25 am
Location: The Netherlands

Re: Nieuwsberichten koppelen aan Twitter via UDT en Gebeurte

Post by Gregor »

Dank je Rolf. Is de fix ingewikkeld of je weet?
deactivated010521

Re: Nieuws koppelen aan Twitter via UDT en Events [update]

Post by deactivated010521 »

----------
Last edited by deactivated010521 on Tue Mar 12, 2013 5:55 pm, edited 5 times in total.
User avatar
Gregor
Power Poster
Power Poster
Posts: 1874
Joined: Thu Mar 23, 2006 9:25 am
Location: The Netherlands

Re: Nieuws koppelen aan Twitter via UDT en Events [update]

Post by Gregor »

@Arnoud: Ik heb de UDT aangepast voor CGBlog, maar een nieuw blog artikel twitteren..... Zou je eens willen meekijken waarom dit niet werkt?

Code: Select all

/*******************************************************
* about
*******************************************************/

/*

This UDT can be used to automatically post a Twitter message when a news article is added.
The functionality is based on the Twitter and News module.

- First you need to install and setup the News and Twitter module.
- After you need to create a UDT with this code, for example you can call it: 'news_twitter_update_status'
- At last you need to connect this UDT to the 'NewsArticleAdded' event.
   This can be done via Extensions -> Event Manager.

[s]! Currently this UDT only works when pretty urls are enabled.
It seems that the bit.ly url shortner ($twitter->shortenUrls($link)) has some problems with unfriendly urls.
Querystring parameters &var=1 are converted to &=1 which will break the link.[/s]

==
update: 16 Dec 2011
==

- This UDT is now compatible with cmsms 1.10
- Works with and without pretty urls bit.ly problem seems solved
- Added the ability to shortenurl's 
- Added support for the news_url field, if you use these it's best to turnshortenurl's off

config:

- specify: $detailpage (page_id) of the cgblog detail view.
- specify: $shortenurl (true|false) will use the bit.ly url shortner or not.

*/

/*******************************************************
* globals/objects
*******************************************************/

$modops = cmsms()->GetModuleOperations();
$twitter = $modops->get_module_instance('Twitter');
$cgblog = $modops->get_module_instance('CGBlog');

/*******************************************************
* config
*******************************************************/

/* debug (bool) */
$debug = false;

/* custom (string) */
$detailpage = '15';

/* shortenurl (bool) */
$shortenurl = false;

/*******************************************************
* variables
*******************************************************/

/* CGBlog article related  (string) */
$cgblog_id = $params['cgblog_id'];
$title = $params['title'];

/* added to link (array) */
$link['articleid']  = $params['cgblog_id'];

/*******************************************************
* program
*******************************************************/

$aliased_title = munge_string_to_url($title);
$cgblog_url = fetch_cgblog_url($cgblog_id);

if ($cgblog_url != '') {
   $prettyurl = $cgblog_url; 
} else {
   $prettyurl = 'logboek/' . $cgblog_id.'/'.$detailpage."/$aliased_title";
}

$link = $cgblog->CreateLink($cgblog_id, 'detail', $detailpage, '', $link,'', true, false, '', true, $prettyurl);

if ($shortenurl) {
   $shortlink = $twitter->shortenUrls($link);
   $message = $title. ' '. $shortlink;
} else {
   $message = $title. ' '. $link;   
}
   
if ($debug) {
   print "<pre>twitter: $message status: $params[status] link: $link title: $title prettyurl: $prettyurl \n</pre>";
} else {
   if ($params[status] == 'published') {
      $twitter->updateStatus($message, false);
   }
}

/*******************************************************
* subroutines
*******************************************************/

/** 
*  fetch the $cgblog_url by $cgblog_id 
*
* @param string $cgblog_id 
* @return string $cgblog_url
*
*/

function fetch_cgblog_url($cgblog_id) {
   
   $db = cmsms()->GetDb();

   $query = "SELECT url 
                  FROM ". cms_db_prefix(). "module_cgblog 
                  WHERE cgblog_id = ?";

   $cgblog_url = $db->GetOne($query, array($cgblog_id));

   return $cgblog_url;

}
Wat mij bij mijn eigen links opvalt, is dat page_id niet in de url van de browser staat, maar wellicht staat dat hier los van.

Thnks, Gregor
deactivated010521

Re: Nieuws koppelen aan Twitter via UDT en Events [update]

Post by deactivated010521 »

----------
Last edited by deactivated010521 on Tue Mar 12, 2013 5:55 pm, edited 2 times in total.
Post Reply

Return to “Tips en Trucs”