Qvitter API changes (thanks hannes2peer)

I implemented changes from quitter.se's new API that their front-end qvitter
uses, https://github.com/hannesmannerheim/qvitter/blob/master/api-changes-1.1.1/CHANGES

However I left out the URL shortening commens, since I believe whatever behaviour
they experienced that caused them to implement this was a bug (or many) and should
be fixed in their proper areas and that shortening should not be entirely left
out in API calls.
This commit is contained in:
Mikael Nordfeldth
2013-10-06 21:30:29 +02:00
parent 753019baf2
commit 34a6624452
37 changed files with 1274 additions and 80 deletions

View File

@@ -20,19 +20,15 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* @category Search
* @package StatusNet
* @package GNUSocial
* @author Zach Copley <zach@status.net>
* @copyright 2008-2010 StatusNet, Inc.
* @copyright 2013 Free Software Foundation, Inc.
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
* @link http://www.gnu.org/software/social/
*/
if (!defined('STATUSNET') && !defined('LACONICA')) {
exit(1);
}
require_once INSTALLDIR.'/lib/apiprivateauth.php';
require_once INSTALLDIR.'/lib/jsonsearchresultslist.php';
if (!defined('GNUSOCIAL')) { exit(1); }
/**
* Action handler for Twitter-compatible API search
@@ -89,12 +85,6 @@ class ApiSearchJSONAction extends ApiPrivateAuthAction
$this->since_id = $this->trimmed('since_id');
$this->geocode = $this->trimmed('geocode');
if (!empty($this->auth_user)) {
$this->auth_profile = $this->auth_user->getProfile();
} else {
$this->auth_profile = null;
}
return true;
}
@@ -123,15 +113,15 @@ class ApiSearchJSONAction extends ApiPrivateAuthAction
// TODO: Support search operators like from: and to:, boolean, etc.
if (preg_match('/^#([\pL\pN_\-\.]{1,64})$/ue', $q)) {
$stream = new TagNoticeStream(substr($q, 1), $this->auth_profile);
$stream = new TagNoticeStream(substr($q, 1), $this->scoped);
} else if ($this->isAnURL($q)) {
$canon = File_redirection::_canonUrl($q);
$file = File::getKV('url', $canon);
if (!empty($file)) {
$stream = new FileNoticeStream($file, $this->auth_profile);
$stream = new FileNoticeStream($file, $this->scoped);
}
} else {
$stream = new SearchNoticeStream($q, $this->auth_profile);
$stream = new SearchNoticeStream($q, $this->scoped);
}
if (empty($stream)) {