From 3eaefaa822a95b1515e8644a1b28ede8be21b9c4 Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Sun, 16 Mar 2014 19:08:17 +0100 Subject: [PATCH 1/4] fbpost: Adapted changed paths for pictures at facebook. --- fbpost/fbpost.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fbpost/fbpost.php b/fbpost/fbpost.php index 3b064a56..9f8108f1 100644 --- a/fbpost/fbpost.php +++ b/fbpost/fbpost.php @@ -1173,7 +1173,7 @@ function fbpost_get_photo($uid,$link) { function fpost_cleanpicture($image) { - if (strpos($image, ".fbcdn.net/") and (substr($image, -6) == "_s.jpg")) + if ((strpos($image, ".fbcdn.net/") OR strpos($image, "/fbcdn-photos-")) and (substr($image, -6) == "_s.jpg")) $image = substr($image, 0, -6)."_n.jpg"; $queryvar = fbpost_parse_query($image); From 0568a5d8bbbc81baa237ae262f9025b232279396 Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Sun, 16 Mar 2014 19:12:41 +0100 Subject: [PATCH 2/4] convpath: changed strategy for url conversion. --- convpath/convpath.php | 46 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/convpath/convpath.php b/convpath/convpath.php index e5dc0b36..95093694 100644 --- a/convpath/convpath.php +++ b/convpath/convpath.php @@ -10,12 +10,22 @@ function convpath_install() { register_hook('page_end', 'addon/convpath/convpath.php', 'convpath_page_end'); register_hook('page_header', 'addon/convpath/convpath.php', 'convpath_page_header'); + register_hook('ping_xmlize', 'addon/convpath/convpath.php', 'convpath_ping_xmlize_hook'); + register_hook('prepare_body', 'addon/convpath/convpath.php', 'convpath_prepare_body_hook'); + register_hook('display_item', 'addon/convpath/convpath.php', 'convpath_display_item_hook'); } function convpath_uninstall() { unregister_hook('page_end', 'addon/convpath/convpath.php', 'convpath_page_end'); unregister_hook('page_header', 'addon/convpath/convpath.php', 'convpath_page_header'); + unregister_hook('ping_xmlize', 'addon/convpath/convpath.php', 'convpath_ping_xmlize_hook'); + unregister_hook('prepare_body', 'addon/convpath/convpath.php', 'convpath_prepare_body_hook'); + unregister_hook('display_item', 'addon/convpath/convpath.php', 'convpath_display_item_hook'); +} + +function convpath_ping_xmlize_hook(&$a, &$o) { + $o["photo"] = convpath_url($a, $o["photo"]); } function convpath_page_header(&$a, &$o){ @@ -27,6 +37,42 @@ function convpath_page_end(&$a, &$o){ $a->page['aside'] = convpath_convert($a->page['aside']); } +function convpath_prepare_body_hook(&$a, &$o) { + $o["html"] = convpath_convert($o["html"]); +} + +function convpath_display_item_hook(&$a, &$o) { + if (isset($o["output"])) { + if (isset($o["output"]["thumb"])) + $o["output"]["thumb"] = convpath_url($a, $o["output"]["thumb"]); + if (isset($o["output"]["author-avatar"])) + $o["output"]["author-avatar"] = convpath_url($a, $o["output"]["author-avatar"]); + if (isset($o["output"]["owner-avatar"])) + $o["output"]["owner-avatar"] = convpath_url($a, $o["output"]["owner-avatar"]); + if (isset($o["output"]["owner_photo"])) + $o["output"]["owner_photo"] = convpath_url($a, $o["output"]["owner_photo"]); + } +} + +function convpath_url($a, $path) { + if ($path == "") + return(""); + + $ssl = (substr($a->get_baseurl(), 0, 8) == "https://"); + + if ($ssl) { + $search = "http://".$a->get_hostname(); + $replace = "https://".$a->get_hostname(); + } else { + $search = "https://".$a->get_hostname(); + $replace = "http://".$a->get_hostname(); + } + + $path = str_replace($search, $replace, $path); + + return($path); +} + /* Converts a given path according to the current scheme */ From c4578aafa0107ba07513eae0ab1fd46afadf9d25 Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Sun, 16 Mar 2014 19:13:57 +0100 Subject: [PATCH 3/4] Improved SQL scripts --- communityhome/communityhome.php | 4 ++-- diaspora/diasphp.php | 34 ++++++++++++++++----------------- facebook/facebook.php | 28 +++++++++++++-------------- public_server/public_server.php | 12 ++++++------ pumpio/pumpio.php | 1 + testdrive/testdrive.php | 8 ++++---- 6 files changed, 44 insertions(+), 43 deletions(-) diff --git a/communityhome/communityhome.php b/communityhome/communityhome.php index cbcf86a0..8a2f3d29 100755 --- a/communityhome/communityhome.php +++ b/communityhome/communityhome.php @@ -75,8 +75,8 @@ function communityhome_home(&$a, &$o){ // this query don't work on some mysql versions if (get_config('communityhome','showactiveusers')===true){ $r = q("SELECT `uni`.`contacts`,`uni`.`items`, `profile`.*, `profile`.`uid` AS `profile_uid`, `user`.`nickname` FROM - (SELECT COUNT(`id`) as `contacts`, `uid` FROM `contact` WHERE `self`=0 GROUP BY `uid`) AS `con`, - (SELECT COUNT(`id`) as `items`, `uid` FROM `item` WHERE `item`.`changed` > DATE(NOW() - INTERVAL 1 MONTH) AND `item`.`wall` = 1 GROUP BY `uid`) AS `ite`, + (SELECT COUNT(*) as `contacts`, `uid` FROM `contact` WHERE `self`=0 GROUP BY `uid`) AS `con`, + (SELECT COUNT(*) as `items`, `uid` FROM `item` WHERE `item`.`changed` > DATE(NOW() - INTERVAL 1 MONTH) AND `item`.`wall` = 1 GROUP BY `uid`) AS `ite`, ( SELECT `contacts`,`items`,`ite`.`uid` FROM `con` RIGHT OUTER JOIN `ite` ON `con`.`uid`=`ite`.`uid` UNION ALL diff --git a/diaspora/diasphp.php b/diaspora/diasphp.php index b26d3ee3..cb7a13cc 100644 --- a/diaspora/diasphp.php +++ b/diaspora/diasphp.php @@ -7,40 +7,40 @@ class Diasphp { function __construct($pod) { $this->token_regex = '/content="(.*?)" name="csrf-token/'; - + $this->pod = $pod; $this->cookiejar = tempnam(sys_get_temp_dir(), 'cookies'); } function _fetch_token() { $ch = curl_init(); - + curl_setopt ($ch, CURLOPT_URL, $this->pod . "/stream"); curl_setopt ($ch, CURLOPT_COOKIEFILE, $this->cookiejar); curl_setopt ($ch, CURLOPT_COOKIEJAR, $this->cookiejar); curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true); - + $output = curl_exec ($ch); curl_close($ch); - + // Token holen und zurückgeben preg_match($this->token_regex, $output, $matches); return $matches[1]; } - + function login($username, $password) { $datatopost = array( 'user[username]' => $username, 'user[password]' => $password, 'authenticity_token' => $this->_fetch_token() ); - + $poststr = http_build_query($datatopost); - + // Adresse per cURL abrufen $ch = curl_init(); - + curl_setopt ($ch, CURLOPT_URL, $this->pod . "/users/sign_in"); curl_setopt ($ch, CURLOPT_COOKIEFILE, $this->cookiejar); curl_setopt ($ch, CURLOPT_COOKIEJAR, $this->cookiejar); @@ -48,11 +48,11 @@ class Diasphp { curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt ($ch, CURLOPT_POST, true); curl_setopt ($ch, CURLOPT_POSTFIELDS, $poststr); - + curl_exec ($ch); $info = curl_getinfo($ch); curl_close($ch); - + if($info['http_code'] != 302) { throw new Exception('Login error '.print_r($info, true)); } @@ -60,24 +60,24 @@ class Diasphp { // Das Objekt zurückgeben, damit man Aurufe verketten kann. return $this; } - + function post($text) { // post-daten vorbereiten $datatopost = json_encode(array( 'aspect_ids' => 'public', 'status_message' => array('text' => $text) )); - + // header vorbereiten $headers = array( 'Content-Type: application/json', 'accept: application/json', 'x-csrf-token: '.$this->_fetch_token() ); - + // Adresse per cURL abrufen $ch = curl_init(); - + curl_setopt ($ch, CURLOPT_URL, $this->pod . "/status_messages"); curl_setopt ($ch, CURLOPT_COOKIEFILE, $this->cookiejar); curl_setopt ($ch, CURLOPT_COOKIEJAR, $this->cookiejar); @@ -86,15 +86,15 @@ class Diasphp { curl_setopt ($ch, CURLOPT_POST, true); curl_setopt ($ch, CURLOPT_POSTFIELDS, $datatopost); curl_setopt ($ch, CURLOPT_HTTPHEADER, $headers); - + curl_exec ($ch); $info = curl_getinfo($ch); curl_close($ch); - + if($info['http_code'] != 201) { throw new Exception('Post error '.print_r($info, true)); } - + // Ende der möglichen Kette, gib mal "true" zurück. return true; } diff --git a/facebook/facebook.php b/facebook/facebook.php index ff9b52ea..1ec97bc2 100644 --- a/facebook/facebook.php +++ b/facebook/facebook.php @@ -289,7 +289,7 @@ function fb_get_friends_sync_parsecontact($uid, $contact) { `name-date` = '%s', `uri-date` = '%s', `avatar-date` = '%s' - WHERE `id` = %d LIMIT 1 + WHERE `id` = %d ", dbesc($photos[0]), dbesc($photos[1]), @@ -356,7 +356,7 @@ function fb_get_friends_sync_parsecontact($uid, $contact) { `name-date` = '%s', `uri-date` = '%s', `avatar-date` = '%s' - WHERE `id` = %d LIMIT 1 + WHERE `id` = %d ", dbesc($photos[0]), dbesc($photos[1]), @@ -742,19 +742,19 @@ function facebook_plugin_admin(&$a, &$o){ $o = ''; - + $o .= '

' . t('Facebook API Key') . '

'; - + $appid = get_config('facebook', 'appid' ); $appsecret = get_config('facebook', 'appsecret' ); $poll_interval = get_config('facebook', 'poll_interval' ); $sync_comments = get_config('facebook', 'sync_comments' ); if (!$poll_interval) $poll_interval = FACEBOOK_DEFAULT_POLL_INTERVAL; - + $ret1 = q("SELECT `v` FROM `config` WHERE `cat` = 'facebook' AND `k` = 'appid' LIMIT 1"); $ret2 = q("SELECT `v` FROM `config` WHERE `cat` = 'facebook' AND `k` = 'appsecret' LIMIT 1"); if ((count($ret1) > 0 && $ret1[0]['v'] != $appid) || (count($ret2) > 0 && $ret2[0]['v'] != $appsecret)) $o .= t('Error: it appears that you have specified the App-ID and -Secret in your .htconfig.php file. As long as they are specified there, they cannot be set using this form.

'); - + $working_connection = false; if ($appid && $appsecret) { $subs = facebook_subscriptions_get(); @@ -764,7 +764,7 @@ function facebook_plugin_admin(&$a, &$o){ $working_connection = true; } else $o .= t('The correctness of the API Key could not be detected. Something strange\'s going on.') . '
'; } - + $o .= '
'; $o .= '
'; $o .= '
'; @@ -1171,7 +1171,7 @@ function facebook_post_hook(&$a,&$b) { $retj = json_decode($x); if($retj->id) { - q("UPDATE `item` SET `extid` = '%s' WHERE `id` = %d LIMIT 1", + q("UPDATE `item` SET `extid` = '%s' WHERE `id` = %d", dbesc('fb::' . $retj->id), intval($b['id']) ); @@ -1183,14 +1183,14 @@ function facebook_post_hook(&$a,&$b) { add_to_queue($a->contact,NETWORK_FACEBOOK,$s); notice( t('Facebook post failed. Queued for retry.') . EOL); } - + if (isset($retj->error) && $retj->error->type == "OAuthException" && $retj->error->code == 190) { logger('Facebook session has expired due to changed password.', LOGGER_DEBUG); - + $last_notification = get_pconfig($b['uid'], 'facebook', 'session_expired_mailsent'); if (!$last_notification || $last_notification < (time() - FACEBOOK_SESSION_ERR_NOTIFICATION_INTERVAL)) { require_once('include/enotify.php'); - + $r = q("SELECT * FROM `user` WHERE `uid` = %d LIMIT 1", intval($b['uid']) ); notification(array( 'uid' => $b['uid'], @@ -1203,7 +1203,7 @@ function facebook_post_hook(&$a,&$b) { 'source_link' => $a->config["system"]["url"], 'source_photo' => $a->config["system"]["url"] . '/images/person-80.jpg', )); - + set_pconfig($b['uid'], 'facebook', 'session_expired_mailsent', time()); } else logger('Facebook: No notification, as the last one was sent on ' . $last_notification, LOGGER_DEBUG); } @@ -1307,11 +1307,11 @@ function fb_queue_hook(&$a,&$b) { $retj = json_decode($j); if($retj->id) { - q("UPDATE `item` SET `extid` = '%s' WHERE `id` = %d LIMIT 1", + q("UPDATE `item` SET `extid` = '%s' WHERE `id` = %d", dbesc('fb::' . $retj->id), intval($item) ); - logger('facebook_queue: success: ' . $j); + logger('facebook_queue: success: ' . $j); remove_queue_item($x['id']); } else { diff --git a/public_server/public_server.php b/public_server/public_server.php index 8dacc916..7d8b8136 100644 --- a/public_server/public_server.php +++ b/public_server/public_server.php @@ -36,7 +36,7 @@ function public_server_register_account($a,$b) { if(! $days) return; - $r = q("UPDATE user set account_expires_on = '%s', expire = %d where uid = %d limit 1", + $r = q("UPDATE user set account_expires_on = '%s', expire = %d where uid = %d", dbesc(datetime_convert('UTC','UTC','now +' . $days . ' days')), intval($days_posts), intval($uid) @@ -66,7 +66,7 @@ function public_server_cron($a,$b) { 'source_photo' => $a->get_baseurl() . '/images/person-80.jpg', )); - q("update user set expire_notification_sent = '%s' where uid = %d limit 1", + q("update user set expire_notification_sent = '%s' where uid = %d", dbesc(datetime_convert()), intval($rr['uid']) ); @@ -85,7 +85,7 @@ function public_server_cron($a,$b) { $r = q("select uid from user where account_expired = 0 and login_date = '0000-00-00 00:00:00' and register_date < UTC_TIMESTAMP() - INTERVAL %d DAY and account_expires_on = '0000-00-00 00:00:00'",intval($nologin)); if(count($r)) { foreach($r as $rr) - q("update user set account_expires_on = '%s' where uid = %d limit 1", + q("update user set account_expires_on = '%s' where uid = %d", dbesc(datetime_convert('UTC','UTC','now +' . '6 days')), intval($rr['uid']) ); @@ -98,7 +98,7 @@ function public_server_cron($a,$b) { $r = q("select uid from user where account_expired = 0 and login_date < UTC_TIMESTAMP() - INTERVAL %d DAY and account_expires_on = '0000-00-00 00:00:00' and `page-flags` = 0",intval($flagusers)); if(count($r)) { foreach($r as $rr) - q("update user set account_expires_on = '%s' where uid = %d limit 1", + q("update user set account_expires_on = '%s' where uid = %d", dbesc(datetime_convert('UTC','UTC','now +' . '6 days')), intval($rr['uid']) ); @@ -111,7 +111,7 @@ function public_server_cron($a,$b) { $r = q("select uid from user where account_expired = 0 and login_date < UTC_TIMESTAMP() - INTERVAL %d DAY and account_expires_on = '0000-00-00 00:00:00' and expire = 0 and `page-flags` = 0",intval($flagposts)); if(count($r)) { foreach($r as $rr) - q("update user set expire = %d where uid = %d limit 1", + q("update user set expire = %d where uid = %d", intval($flagpostsexpire), intval($rr['uid']) ); @@ -136,7 +136,7 @@ function public_server_login($a,$b) { $days = get_config('public_server','expiredays'); if(! $days) return; - $r = q("UPDATE user set account_expires_on = '%s' where uid = %d and account_expires_on > '0000-00-00 00:00:00' limit 1", + $r = q("UPDATE user set account_expires_on = '%s' where uid = %d and account_expires_on > '0000-00-00 00:00:00'", dbesc(datetime_convert('UTC','UTC','now +' . $days . ' days')), local_user() ); diff --git a/pumpio/pumpio.php b/pumpio/pumpio.php index ac28a00d..fa28089f 100755 --- a/pumpio/pumpio.php +++ b/pumpio/pumpio.php @@ -1022,6 +1022,7 @@ function pumpio_dodelete(&$a, $uid, $self, $post, $own_id) { function pumpio_dopost(&$a, $client, $uid, $self, $post, $own_id, $threadcompletion = false) { require_once('include/items.php'); + require_once('include/html2bbcode.php'); if (($post->verb == "like") OR ($post->verb == "favorite")) return pumpio_dolike($a, $uid, $self, $post, $own_id); diff --git a/testdrive/testdrive.php b/testdrive/testdrive.php index 968aa834..eff149d3 100644 --- a/testdrive/testdrive.php +++ b/testdrive/testdrive.php @@ -41,13 +41,13 @@ function testdrive_register_account($a,$b) { if(! $days) return; - $r = q("UPDATE user set account_expires_on = '%s' where uid = %d limit 1", + $r = q("UPDATE user set account_expires_on = '%s' where uid = %d", dbesc(datetime_convert('UTC','UTC','now +' . $days . ' days')), intval($uid) ); }; - + function testdrive_cron($a,$b) { require_once('include/enotify.php'); @@ -69,11 +69,11 @@ function testdrive_cron($a,$b) { 'source_photo' => $a->get_baseurl() . '/images/person-80.jpg', )); - q("update user set expire_notification_sent = '%s' where uid = %d limit 1", + q("update user set expire_notification_sent = '%s' where uid = %d", dbesc(datetime_convert()), intval($rr['uid']) ); - + } } From 503ec7d072a3d9cf8d394e97fa44a71589d16e37 Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Sun, 16 Mar 2014 20:50:36 +0100 Subject: [PATCH 4/4] Removed the word "Settings" from the settings. This information is redundant. --- appnetpost/appnetpost.php | 4 ++-- blockem/blockem.php | 4 ++-- blogger/blogger.php | 4 ++-- curweather/curweather.php | 2 +- fbpost/fbpost.php | 5 ++--- fbsync/fbsync.php | 4 ++-- forumlist/forumlist.php | 4 ++-- fromgplus/fromgplus.php | 4 ++-- gpluspost/gpluspost.php | 4 ++-- jappixmini/jappixmini.php | 4 ++-- libertree/libertree.php | 4 ++-- nsfw/nsfw.php | 4 ++-- pumpio/pumpio.php | 4 ++-- snautofollow/snautofollow.php | 4 ++-- startpage/startpage.php | 9 +++++++-- statusnet/statusnet.php | 6 +++--- tumblr/tumblr.php | 4 ++-- twitter/twitter.php | 4 ++-- wppost/wppost.php | 4 ++-- yourls/yourls.php | 4 ++-- 20 files changed, 45 insertions(+), 41 deletions(-) diff --git a/appnetpost/appnetpost.php b/appnetpost/appnetpost.php index a5c5e8c5..dbe06a4e 100644 --- a/appnetpost/appnetpost.php +++ b/appnetpost/appnetpost.php @@ -53,11 +53,11 @@ function appnetpost_settings(&$a,&$s) { $def_checked = (($def_enabled) ? ' checked="checked" ' : ''); $s .= ''; - $s .= '

' . t('App.net Post Settings') . '

'; + $s .= '

' . t('App.net') . '

'; $s .= '
'; $s .= '