From a333036f005e749269eeeadfb78ef0ad8badbde5 Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Sun, 7 Sep 2014 07:32:09 +0200 Subject: [PATCH 1/7] API: The command "users/search" is now supported. --- .htaccess | 4 ++-- boot.php | 14 +++++++++++--- include/api.php | 30 +++++++++++++++++++++++++++++- 3 files changed, 42 insertions(+), 6 deletions(-) diff --git a/.htaccess b/.htaccess index 83d67e8f8..1b63f9ad6 100644 --- a/.htaccess +++ b/.htaccess @@ -12,7 +12,7 @@ Deny from all # Protect repository directory from browsing RewriteRule "(^|/)\.git" - [F] - # Rewrite current-style URLs of the form 'index.php?q=x'. + # Rewrite current-style URLs of the form 'index.php?pagename=x'. # Also place auth information into REMOTE_USER for sites running # in CGI mode. @@ -28,7 +28,7 @@ Deny from all RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d - RewriteRule ^(.*)$ index.php?q=$1 [E=REMOTE_USER:%{HTTP:Authorization},L,QSA] + RewriteRule ^(.*)$ index.php?pagename=$1 [E=REMOTE_USER:%{HTTP:Authorization},L,QSA] diff --git a/boot.php b/boot.php index 5ef24f494..3ea08477d 100644 --- a/boot.php +++ b/boot.php @@ -507,13 +507,20 @@ if(! class_exists('App')) { set_include_path("include/$this->hostname" . PATH_SEPARATOR . get_include_path()); - if((x($_SERVER,'QUERY_STRING')) && substr($_SERVER['QUERY_STRING'],0,2) === "q=") { + if((x($_SERVER,'QUERY_STRING')) && substr($_SERVER['QUERY_STRING'],0,9) === "pagename=") { + $this->query_string = substr($_SERVER['QUERY_STRING'],9); + // removing trailing / - maybe a nginx problem + if (substr($this->query_string, 0, 1) == "/") + $this->query_string = substr($this->query_string, 1); + } elseif((x($_SERVER,'QUERY_STRING')) && substr($_SERVER['QUERY_STRING'],0,2) === "q=") { $this->query_string = substr($_SERVER['QUERY_STRING'],2); // removing trailing / - maybe a nginx problem if (substr($this->query_string, 0, 1) == "/") $this->query_string = substr($this->query_string, 1); } - if(x($_GET,'q')) + if (x($_GET,'pagename')) + $this->cmd = trim($_GET['pagename'],'/\\'); + elseif (x($_GET,'q')) $this->cmd = trim($_GET['q'],'/\\'); // unix style "homedir" @@ -1019,7 +1026,8 @@ if(! function_exists('update_db')) { $t = get_config('database','dbupdate_'.DB_UPDATE_VERSION); if($t !== false) - break; + return; + set_config('database','dbupdate_'.DB_UPDATE_VERSION, time()); require_once("include/dbstructure.php"); diff --git a/include/api.php b/include/api.php index ade783662..69dc51bac 100644 --- a/include/api.php +++ b/include/api.php @@ -122,7 +122,6 @@ // preset $type="json"; - foreach ($API as $p=>$info){ if (strpos($a->query_string, $p)===0){ $called_api= explode("/",$p); @@ -936,6 +935,35 @@ } api_register_func('api/users/show','api_users_show'); + + function api_users_search(&$a, $type) { + $page = (x($_REQUEST,'page')?$_REQUEST['page']-1:0); + + $userlist = array(); + + if (isset($_GET["q"])) { + $r = q("SELECT id FROM unique_contacts WHERE name='%s'", dbesc($_GET["q"])); + if (!count($r)) + $r = q("SELECT id FROM unique_contacts WHERE nick='%s'", dbesc($_GET["q"])); + + if (count($r)) { + foreach ($r AS $user) { + $user_info = api_get_user($a, $user["id"]); + //echo print_r($user_info, true)."\n"; + $userdata = api_apply_template("user", $type, array('user' => $user_info)); + $userlist[] = $userdata["user"]; + } + $userlist = array("users" => $userlist); + } else + die(api_error($a, $type, t("User not found."))); + } else + die(api_error($a, $type, t("User not found."))); + + return ($userlist); + } + + api_register_func('api/users/search','api_users_search'); + /** * * http://developer.twitter.com/doc/get/statuses/home_timeline From a9b69b063cd9cf6d2041be102c854569f4e943ff Mon Sep 17 00:00:00 2001 From: Silke Meyer Date: Sun, 7 Sep 2014 08:17:22 +0200 Subject: [PATCH 2/7] Marked several old themes as unsupported --- .../{easterbunny => comix-plain}/unsupported | 0 view/theme/{smoothly => comix}/unsupported | 0 view/theme/darkbubble/unsupported | 0 view/theme/dispy/unsupported | 0 view/theme/easterbunny/border.jpg | Bin 364 -> 0 bytes view/theme/easterbunny/head.jpg | Bin 1109 -> 0 bytes view/theme/easterbunny/screenshot.jpg | Bin 82074 -> 0 bytes view/theme/easterbunny/shiny.png | Bin 320 -> 0 bytes view/theme/easterbunny/style.css | 48 ------------------ view/theme/easterbunny/theme.php | 7 --- 10 files changed, 55 deletions(-) rename view/theme/{easterbunny => comix-plain}/unsupported (100%) rename view/theme/{smoothly => comix}/unsupported (100%) create mode 100644 view/theme/darkbubble/unsupported create mode 100644 view/theme/dispy/unsupported delete mode 100644 view/theme/easterbunny/border.jpg delete mode 100644 view/theme/easterbunny/head.jpg delete mode 100644 view/theme/easterbunny/screenshot.jpg delete mode 100644 view/theme/easterbunny/shiny.png delete mode 100644 view/theme/easterbunny/style.css delete mode 100644 view/theme/easterbunny/theme.php diff --git a/view/theme/easterbunny/unsupported b/view/theme/comix-plain/unsupported similarity index 100% rename from view/theme/easterbunny/unsupported rename to view/theme/comix-plain/unsupported diff --git a/view/theme/smoothly/unsupported b/view/theme/comix/unsupported similarity index 100% rename from view/theme/smoothly/unsupported rename to view/theme/comix/unsupported diff --git a/view/theme/darkbubble/unsupported b/view/theme/darkbubble/unsupported new file mode 100644 index 000000000..e69de29bb diff --git a/view/theme/dispy/unsupported b/view/theme/dispy/unsupported new file mode 100644 index 000000000..e69de29bb diff --git a/view/theme/easterbunny/border.jpg b/view/theme/easterbunny/border.jpg deleted file mode 100644 index 66c7a6fcc7493b233e78a81f9a97f26fd4133335..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 364 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 zheftheme_info = array( - 'extends' => 'duepuntozero', -); -} From 871b425c6eedaad955ade2a4d669d2ee34af3c8b Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Sun, 7 Sep 2014 10:06:57 +0200 Subject: [PATCH 3/7] Unsupported themes aren't displayed anymore --- mod/admin.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/mod/admin.php b/mod/admin.php index 24069c5d9..e2b5b52a1 100644 --- a/mod/admin.php +++ b/mod/admin.php @@ -1179,9 +1179,11 @@ function admin_page_themes(&$a){ foreach($files as $file) { $f = basename($file); $is_experimental = intval(file_exists($file . '/experimental')); - $is_supported = 1-(intval(file_exists($file . '/unsupported'))); // Is not used yet + $is_supported = 1-(intval(file_exists($file . '/unsupported'))); $is_allowed = intval(in_array($f,$allowed_themes)); - $themes[] = array('name' => $f, 'experimental' => $is_experimental, 'supported' => $is_supported, 'allowed' => $is_allowed); + + if ($is_allowed OR $is_supported OR get_config("system", "show_unsupported_themes")) + $themes[] = array('name' => $f, 'experimental' => $is_experimental, 'supported' => $is_supported, 'allowed' => $is_allowed); } } From d001ee5c65236cd4849b1da5b8343ff5a1ead155 Mon Sep 17 00:00:00 2001 From: Silke Meyer Date: Sun, 7 Sep 2014 10:26:45 +0200 Subject: [PATCH 4/7] Marked several themes from the zero theme as deprecated (all but duepunto). --- view/theme/cleanzero/unsupported | 0 view/theme/darkzero-NS/unsupported | 0 view/theme/darkzero/unsupported | 0 view/theme/greenzero/unsupported | 0 view/theme/purplezero/unsupported | 0 5 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 view/theme/cleanzero/unsupported create mode 100644 view/theme/darkzero-NS/unsupported create mode 100644 view/theme/darkzero/unsupported create mode 100644 view/theme/greenzero/unsupported create mode 100644 view/theme/purplezero/unsupported diff --git a/view/theme/cleanzero/unsupported b/view/theme/cleanzero/unsupported new file mode 100644 index 000000000..e69de29bb diff --git a/view/theme/darkzero-NS/unsupported b/view/theme/darkzero-NS/unsupported new file mode 100644 index 000000000..e69de29bb diff --git a/view/theme/darkzero/unsupported b/view/theme/darkzero/unsupported new file mode 100644 index 000000000..e69de29bb diff --git a/view/theme/greenzero/unsupported b/view/theme/greenzero/unsupported new file mode 100644 index 000000000..e69de29bb diff --git a/view/theme/purplezero/unsupported b/view/theme/purplezero/unsupported new file mode 100644 index 000000000..e69de29bb From 7af5c3c560257322d6a32489f0c1edbff51762eb Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Sun, 7 Sep 2014 10:47:37 +0200 Subject: [PATCH 5/7] The useragent string doesn't contains of the words "Mozilla" anymore - but the name "Friendica" and the base url --- boot.php | 4 ++++ include/bbcode.php | 8 ++++++-- include/network.php | 8 +++++--- mod/parse_url.php | 4 +++- 4 files changed, 18 insertions(+), 6 deletions(-) diff --git a/boot.php b/boot.php index 5ef24f494..bea1fc74c 100644 --- a/boot.php +++ b/boot.php @@ -865,6 +865,10 @@ if(! class_exists('App')) { $this->performance["markstart"] = microtime(true) - $this->performance["markstart"] - $this->performance["marktime"]; } + function get_useragent() { + return(FRIENDICA_PLATFORM." ".FRIENDICA_VERSION."-".DB_UPDATE_VERSION."; ".$this->get_baseurl()); + } + } } diff --git a/include/bbcode.php b/include/bbcode.php index 017673423..25d60647f 100644 --- a/include/bbcode.php +++ b/include/bbcode.php @@ -674,10 +674,12 @@ function bb_RemovePictureLinks($match) { $text = Cache::get($match[1]); if(is_null($text)){ + $a = get_app(); + $ch = @curl_init($match[1]); @curl_setopt($ch, CURLOPT_NOBODY, true); @curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); - @curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (compatible; ".FRIENDICA_PLATFORM." ".FRIENDICA_VERSION."-".DB_UPDATE_VERSION.")"); + @curl_setopt($ch, CURLOPT_USERAGENT, $a->get_useragent()); @curl_exec($ch); $curl_info = @curl_getinfo($ch); @@ -722,10 +724,12 @@ function bb_CleanPictureLinksSub($match) { $text = Cache::get($match[1]); if(is_null($text)){ + $a = get_app(); + $ch = @curl_init($match[1]); @curl_setopt($ch, CURLOPT_NOBODY, true); @curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); - @curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (compatible; ".FRIENDICA_PLATFORM." ".FRIENDICA_VERSION."-".DB_UPDATE_VERSION.")"); + @curl_setopt($ch, CURLOPT_USERAGENT, $a->get_useragent()); @curl_exec($ch); $curl_info = @curl_getinfo($ch); diff --git a/include/network.php b/include/network.php index 4c6af8e71..0f6e61705 100644 --- a/include/network.php +++ b/include/network.php @@ -35,7 +35,7 @@ function fetch_url($url,$binary = false, &$redirects = 0, $timeout = 0, $accept_ } @curl_setopt($ch, CURLOPT_RETURNTRANSFER,true); - @curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (compatible; ".FRIENDICA_PLATFORM." ".FRIENDICA_VERSION."-".DB_UPDATE_VERSION.")"); + @curl_setopt($ch, CURLOPT_USERAGENT, $a->get_useragent()); if(intval($timeout)) { @@ -134,7 +134,7 @@ function post_url($url,$params, $headers = null, &$redirects = 0, $timeout = 0) curl_setopt($ch, CURLOPT_RETURNTRANSFER,true); curl_setopt($ch, CURLOPT_POST,1); curl_setopt($ch, CURLOPT_POSTFIELDS,$params); - curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (compatible; ".FRIENDICA_PLATFORM." ".FRIENDICA_VERSION."-".DB_UPDATE_VERSION.")"); + curl_setopt($ch, CURLOPT_USERAGENT, $a->get_useragent()); if(intval($timeout)) { curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); @@ -1114,6 +1114,8 @@ function xml2array($contents, $namespaces = true, $get_attributes=1, $priority = function original_url($url, $depth=1, $fetchbody = false) { + $a = get_app(); + // Remove Analytics Data from Google and other tracking platforms $urldata = parse_url($url); if (is_string($urldata["query"])) { @@ -1163,7 +1165,7 @@ function original_url($url, $depth=1, $fetchbody = false) { curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); - curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (compatible; ".FRIENDICA_PLATFORM." ".FRIENDICA_VERSION."-".DB_UPDATE_VERSION.")"); + curl_setopt($ch, CURLOPT_USERAGENT, $a->get_useragent()); $header = curl_exec($ch); $curl_info = @curl_getinfo($ch); diff --git a/mod/parse_url.php b/mod/parse_url.php index 5048f4fa5..4953b8f4c 100644 --- a/mod/parse_url.php +++ b/mod/parse_url.php @@ -52,6 +52,8 @@ function completeurl($url, $scheme) { function parseurl_getsiteinfo($url, $no_guessing = false, $do_oembed = true, $count = 1) { + $a = get_app(); + $siteinfo = array(); if ($count > 10) { @@ -71,7 +73,7 @@ function parseurl_getsiteinfo($url, $no_guessing = false, $do_oembed = true, $co curl_setopt($ch, CURLOPT_TIMEOUT, 3); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); - curl_setopt($ch,CURLOPT_USERAGENT, "Mozilla/5.0 (compatible; ".FRIENDICA_PLATFORM." ".FRIENDICA_VERSION."-".DB_UPDATE_VERSION.")"); + curl_setopt($ch, CURLOPT_USERAGENT, $a->get_useragent()); $header = curl_exec($ch); $curl_info = @curl_getinfo($ch); From 12012be79d1971aaef6d57aa819b18547e4c639e Mon Sep 17 00:00:00 2001 From: Silke Meyer Date: Sun, 7 Sep 2014 11:00:58 +0200 Subject: [PATCH 6/7] marked four more themes as unsupported --- view/theme/decaf-mobile/unsupported | 0 view/theme/diabook/unsupported | 0 view/theme/slack-NS/unsupported | 0 view/theme/slackr/unsupported | 0 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 view/theme/decaf-mobile/unsupported create mode 100644 view/theme/diabook/unsupported create mode 100644 view/theme/slack-NS/unsupported create mode 100644 view/theme/slackr/unsupported diff --git a/view/theme/decaf-mobile/unsupported b/view/theme/decaf-mobile/unsupported new file mode 100644 index 000000000..e69de29bb diff --git a/view/theme/diabook/unsupported b/view/theme/diabook/unsupported new file mode 100644 index 000000000..e69de29bb diff --git a/view/theme/slack-NS/unsupported b/view/theme/slack-NS/unsupported new file mode 100644 index 000000000..e69de29bb diff --git a/view/theme/slackr/unsupported b/view/theme/slackr/unsupported new file mode 100644 index 000000000..e69de29bb From 8345ac7313ecb7248eecc8cd4484acd40f9f4a3e Mon Sep 17 00:00:00 2001 From: Beanow Date: Sun, 7 Sep 2014 11:47:08 +0200 Subject: [PATCH 7/7] Fix illegal offset error for vier and quattro. Fixes #1105 --- view/theme/quattro/templates/search_item.tpl | 2 +- view/theme/quattro/templates/wall_thread.tpl | 2 +- view/theme/vier/templates/search_item.tpl | 2 +- view/theme/vier/templates/wall_thread.tpl | 2 -- 4 files changed, 3 insertions(+), 5 deletions(-) diff --git a/view/theme/quattro/templates/search_item.tpl b/view/theme/quattro/templates/search_item.tpl index 132d1d32d..8c9cf22e9 100644 --- a/view/theme/quattro/templates/search_item.tpl +++ b/view/theme/quattro/templates/search_item.tpl @@ -1,5 +1,5 @@

- {{$item.star.starred}} + {{if $item.star}}{{$item.star.starred}}{{/if}} {{if $item.lock}}{{$item.lock}}{{/if}}
diff --git a/view/theme/quattro/templates/wall_thread.tpl b/view/theme/quattro/templates/wall_thread.tpl index e5a7115e9..d4e9fc1d0 100644 --- a/view/theme/quattro/templates/wall_thread.tpl +++ b/view/theme/quattro/templates/wall_thread.tpl @@ -22,7 +22,7 @@ {{if $item.thread_level!=1}}
{{/if}}
- {{$item.star.starred}} + {{if $item.star}}{{$item.star.starred}}{{/if}} {{if $item.lock}}{{$item.lock}}{{/if}}
diff --git a/view/theme/vier/templates/search_item.tpl b/view/theme/vier/templates/search_item.tpl index a5077533e..598eb4e9e 100644 --- a/view/theme/vier/templates/search_item.tpl +++ b/view/theme/vier/templates/search_item.tpl @@ -1,7 +1,7 @@
- {{$item.star.starred}} + {{if $item.star}}{{$item.star.starred}}{{/if}} {{if $item.lock}}{{$item.lock}}{{/if}}
diff --git a/view/theme/vier/templates/wall_thread.tpl b/view/theme/vier/templates/wall_thread.tpl index 8243a6aa7..764ff0517 100644 --- a/view/theme/vier/templates/wall_thread.tpl +++ b/view/theme/vier/templates/wall_thread.tpl @@ -23,8 +23,6 @@ {{if $item.thread_level!=1}}
{{/if}}
- -