X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=statusnet%2Fstatusnet.php;h=3a5ceb8a1dd4e50f7adcf473e7f0c0d14fecfc16;hb=207ac94509c684e525904baec1038367e5cc4c14;hp=77bff7a44fe199d7494a43008f490aa7f7639e47;hpb=84b97f12dab7b50893fff6fa7d22bc4d53f0bbf0;p=friendica-addons.git diff --git a/statusnet/statusnet.php b/statusnet/statusnet.php index 77bff7a4..3a5ceb8a 100755 --- a/statusnet/statusnet.php +++ b/statusnet/statusnet.php @@ -4,24 +4,35 @@ * Description: Relay public postings to a connected StatusNet account * Version: 1.0.5 * Author: Tobias Diekershoff - */ - -/* StatusNet Plugin for Friendica + * Author: Michael Vogel * - * Author: Tobias Diekershoff - * tobias.diekershoff@gmx.net + * Copyright (c) 2011-2013 Tobias Diekershoff, Michael Vogel + * All rights reserved. * - * License:3-clause BSD license + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * * copyright notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the distribution. + * * Neither the name of the nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. * - * Configuration: - * To activate the plugin itself add it to the $a->config['system']['addon'] - * setting. After this, your user can configure their Twitter account settings - * from "Settings -> Plugin Settings". + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * Requirements: PHP5, curl [Slinky library] - * - * Documentation: http://diekershoff.homeunix.net/redmine/wiki/friendikaplugin/StatusNet_Plugin */ + /*** * We have to alter the TwitterOAuth class a little bit to work with any StatusNet @@ -498,6 +509,8 @@ function statusnet_shortenmsg($b, $max_char) { while (strpos($msg, " ") !== false) $msg = str_replace(" ", " ", $msg); + $origmsg = $msg; + // Removing URLs $msg = preg_replace('/(https?\:\/\/[a-zA-Z0-9\:\/\-\?\&\;\.\=\_\~\#\%\$\!\+\,]+)/i', "", $msg); @@ -533,6 +546,10 @@ function statusnet_shortenmsg($b, $max_char) { if (($msglink == "") and strlen($msg) > $max_char) $msglink = $b["plink"]; + // If the message is short enough then don't modify it. (if the link exists in the original message) + if ((strlen(trim($origmsg)) <= $max_char) AND (strpos($origmsg, $msglink) OR ($msglink == ""))) + return(array("msg"=>trim($origmsg), "image"=>"")); + if (strlen($msglink) > 20) $msglink = short_link($msglink); @@ -567,6 +584,9 @@ function statusnet_post_hook(&$a,&$b) { if(! strstr($b['postopts'],'statusnet')) return; + if($b['parent'] != $b['id']) + return; + // if posts comes from statusnet don't send it back if($b['app'] == "StatusNet") return; @@ -649,7 +669,7 @@ function statusnet_post_hook(&$a,&$b) { // ok, all the links we want to send out are save, now strip // away the remaining bbcode //$msg = strip_tags(bbcode($tmp, false, false)); - $msg = bbcode($tmp, false, false); + $msg = bbcode($tmp, false, false, true); $msg = str_replace(array('
','
'),"\n",$msg); $msg = strip_tags($msg);