aboutsummaryrefslogtreecommitdiff
path: root/p/api
diff options
context:
space:
mode:
Diffstat (limited to 'p/api')
-rw-r--r--p/api/fever.php7
-rw-r--r--p/api/greader.php37
2 files changed, 21 insertions, 23 deletions
diff --git a/p/api/fever.php b/p/api/fever.php
index b81646928..94d3a3b3d 100644
--- a/p/api/fever.php
+++ b/p/api/fever.php
@@ -95,7 +95,7 @@ class FeverDAO extends Minz_ModelPdo
$sql = 'SELECT id, guid, title, author, '
. ($entryDAO->isCompressed() ? 'UNCOMPRESS(content_bin) AS content' : 'content')
. ', link, date, is_read, is_favorite, id_feed '
- . 'FROM `' . $this->prefix . 'entry` WHERE';
+ . 'FROM `_entry` WHERE';
if (!empty($entry_ids)) {
$bindEntryIds = $this->bindParamArray('id', $entry_ids, $values);
@@ -120,7 +120,7 @@ class FeverDAO extends Minz_ModelPdo
$sql .= $order;
$sql .= ' LIMIT 50';
- $stm = $this->bd->prepare($sql);
+ $stm = $this->pdo->prepare($sql);
$stm->execute($values);
$result = $stm->fetchAll(PDO::FETCH_ASSOC);
@@ -165,9 +165,12 @@ class FeverAPI
$user_conf = get_user_configuration($username);
if ($user_conf != null && $feverKey === $user_conf->feverKey) {
FreshRSS_Context::$user_conf = $user_conf;
+ Minz_Translate::init(FreshRSS_Context::$user_conf->language);
$this->entryDAO = FreshRSS_Factory::createEntryDao();
$this->feedDAO = FreshRSS_Factory::createFeedDao();
return true;
+ } else {
+ Minz_Translate::init();
}
Minz_Log::error('Fever API: Reset API password for user: ' . $username, API_LOG);
Minz_Log::error('Fever API: Please reset your API password!');
diff --git a/p/api/greader.php b/p/api/greader.php
index 3d628c855..66888b0ef 100644
--- a/p/api/greader.php
+++ b/p/api/greader.php
@@ -43,11 +43,7 @@ if (PHP_INT_SIZE < 8) { //32-bit
}
}
-if (version_compare(PHP_VERSION, '5.4.0') >= 0) {
- define('JSON_OPTIONS', JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
-} else {
- define('JSON_OPTIONS', 0);
-}
+define('JSON_OPTIONS', JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
function headerVariable($headerName, $varName) {
$header = '';
@@ -81,9 +77,7 @@ function multiplePosts($name) { //https://bugs.php.net/bug.php?id=51633
}
class MyPDO extends Minz_ModelPdo {
- function prepare($sql) {
- return $this->bd->prepare(str_replace('%_', $this->prefix, $sql));
- }
+ public $pdo;
}
function debugInfo() {
@@ -182,10 +176,6 @@ function authorizationToUser() {
function clientLogin($email, $pass) { //http://web.archive.org/web/20130604091042/http://undoc.in/clientLogin.html
if (FreshRSS_user_Controller::checkUsername($email)) {
- if (!function_exists('password_verify')) {
- include_once(LIB_PATH . '/password_compat.php');
- }
-
FreshRSS_Context::$user_conf = get_user_configuration($email);
if (FreshRSS_Context::$user_conf == null) {
Minz_Log::warning('Invalid API user ' . $email . ': configuration cannot be found.');
@@ -222,8 +212,10 @@ function token($conf) {
function checkToken($conf, $token) {
//http://code.google.com/p/google-reader-api/wiki/ActionToken
$user = Minz_Session::param('currentUser', '_');
- if ($user !== '_' && $token == '') {
- return true; //FeedMe //TODO: Check security consequences
+ if ($user !== '_' && ( //TODO: Check security consequences
+ $token == '' || //FeedMe
+ $token === 'x')) { //Reeder
+ return true;
}
if ($token === str_pad(sha1(FreshRSS_Context::$system_conf->salt . $user . $conf->apiPasswordHash), 57, 'Z')) {
return true;
@@ -245,9 +237,8 @@ function userInfo() { //https://github.com/theoldreader/api#user-info
function tagList() {
header('Content-Type: application/json; charset=UTF-8');
- $pdo = new MyPDO();
- $stm = $pdo->prepare('SELECT c.name FROM `%_category` c');
- $stm->execute();
+ $model = new MyPDO();
+ $stm = $model->pdo->query('SELECT c.name FROM `_category` c');
$res = $stm->fetchAll(PDO::FETCH_COLUMN, 0);
$tags = array(
@@ -283,10 +274,11 @@ function tagList() {
function subscriptionList() {
header('Content-Type: application/json; charset=UTF-8');
- $pdo = new MyPDO();
- $stm = $pdo->prepare('SELECT f.id, f.name, f.url, f.website, c.id as c_id, c.name as c_name FROM `%_feed` f
- INNER JOIN `%_category` c ON c.id = f.category AND f.priority >= :priority_normal');
- $stm->execute(array(':priority_normal' => FreshRSS_Feed::PRIORITY_NORMAL));
+ $model = new MyPDO();
+ $stm = $model->pdo->prepare('SELECT f.id, f.name, f.url, f.website, c.id as c_id, c.name as c_name FROM `_feed` f
+ INNER JOIN `_category` c ON c.id = f.category AND f.priority >= :priority_normal');
+ $stm->bindValue(':priority_normal', FreshRSS_Feed::PRIORITY_NORMAL, PDO::PARAM_INT);
+ $stm->execute();
$res = $stm->fetchAll(PDO::FETCH_ASSOC);
$salt = FreshRSS_Context::$system_conf->salt;
@@ -924,6 +916,9 @@ $user = authorizationToUser();
FreshRSS_Context::$user_conf = null;
if ($user !== '') {
FreshRSS_Context::$user_conf = get_user_configuration($user);
+ Minz_Translate::init(FreshRSS_Context::$user_conf->language);
+} else {
+ Minz_Translate::init();
}
Minz_Session::_param('currentUser', $user);