fixed errors found by phan
parent
6ea9c2728f
commit
d96b05a658
|
@ -359,6 +359,9 @@ return [
|
||||||
'directory_list' => [
|
'directory_list' => [
|
||||||
'vendor/phan/phan/src/Phan',
|
'vendor/phan/phan/src/Phan',
|
||||||
'vendor/smarty/smarty/src',
|
'vendor/smarty/smarty/src',
|
||||||
|
'php/',
|
||||||
|
'plugins',
|
||||||
|
'htdocs',
|
||||||
],
|
],
|
||||||
|
|
||||||
// A list of individual files to include in analysis
|
// A list of individual files to include in analysis
|
||||||
|
|
|
@ -11,7 +11,7 @@ if (! array_key_exists('_call', $_REQUEST)) {
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
date_default_timezone_set("Europe/Berlin");
|
date_default_timezone_set("Europe/Berlin");
|
||||||
spl_autoload_register(function ($className) {
|
spl_autoload_register(static function (string $className) {
|
||||||
// strip Federator from class path
|
// strip Federator from class path
|
||||||
$className = str_replace('Federator\\', '', $className);
|
$className = str_replace('Federator\\', '', $className);
|
||||||
include '../php/' . str_replace("\\", "/", strtolower($className)) . '.php';
|
include '../php/' . str_replace("\\", "/", strtolower($className)) . '.php';
|
||||||
|
|
16
php/api.php
16
php/api.php
|
@ -30,7 +30,7 @@ class Api extends Main
|
||||||
/**
|
/**
|
||||||
* current user
|
* current user
|
||||||
*
|
*
|
||||||
* @var Data\User $user
|
* @var Data\User|false $user
|
||||||
* */
|
* */
|
||||||
private $user;
|
private $user;
|
||||||
|
|
||||||
|
@ -56,8 +56,9 @@ class Api extends Main
|
||||||
*
|
*
|
||||||
* @param string $call
|
* @param string $call
|
||||||
* path of called function
|
* path of called function
|
||||||
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function setPath(string $call) : void
|
public function setPath($call)
|
||||||
{
|
{
|
||||||
$this->path = $call;
|
$this->path = $call;
|
||||||
while ($this->path[0] === '/') {
|
while ($this->path[0] === '/') {
|
||||||
|
@ -71,7 +72,7 @@ class Api extends Main
|
||||||
*/
|
*/
|
||||||
public function run() : void
|
public function run() : void
|
||||||
{
|
{
|
||||||
$this->setPath($_REQUEST["_call"]);
|
$this->setPath((string)$_REQUEST['_call']);
|
||||||
$this->openDatabase();
|
$this->openDatabase();
|
||||||
$this->loadPlugins();
|
$this->loadPlugins();
|
||||||
$retval = "";
|
$retval = "";
|
||||||
|
@ -131,6 +132,7 @@ class Api extends Main
|
||||||
if ($this->redirect !== null) {
|
if ($this->redirect !== null) {
|
||||||
header("Location: $this->redirect");
|
header("Location: $this->redirect");
|
||||||
}
|
}
|
||||||
|
// @phan-suppress-next-line PhanSuspiciousValueComparison
|
||||||
if ($this->responseCode != 200) {
|
if ($this->responseCode != 200) {
|
||||||
http_response_code($this->responseCode);
|
http_response_code($this->responseCode);
|
||||||
}
|
}
|
||||||
|
@ -168,6 +170,9 @@ class Api extends Main
|
||||||
public function checkPermission($permission, $exception = "\Exceptions\PermissionDenied", $message = null) : void
|
public function checkPermission($permission, $exception = "\Exceptions\PermissionDenied", $message = null) : void
|
||||||
{
|
{
|
||||||
// generic check first
|
// generic check first
|
||||||
|
if ($this->user === false) {
|
||||||
|
throw new Exceptions\PermissionDenied();
|
||||||
|
}
|
||||||
if ($this->user->id == 0) {
|
if ($this->user->id == 0) {
|
||||||
throw new Exceptions\PermissionDenied();
|
throw new Exceptions\PermissionDenied();
|
||||||
}
|
}
|
||||||
|
@ -228,10 +233,7 @@ class Api extends Main
|
||||||
if ($int === true) {
|
if ($int === true) {
|
||||||
return intval($_POST[$key]);
|
return intval($_POST[$key]);
|
||||||
}
|
}
|
||||||
$ret = $this->dbh->escape_string($this->stripHTML($_POST[$key]));
|
$ret = $this->dbh->escape_string($this->stripHTML((string)$_POST[$key]));
|
||||||
if ($ret === false) {
|
|
||||||
return $int ? 0 : "";
|
|
||||||
}
|
|
||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@ class Dummy implements \Federator\Api\V1
|
||||||
/**
|
/**
|
||||||
* constructor
|
* constructor
|
||||||
*
|
*
|
||||||
* @param \Main $main main instance
|
* @param \Federator\Main $main main instance
|
||||||
*/
|
*/
|
||||||
public function __construct(\Federator\Main $main)
|
public function __construct(\Federator\Main $main)
|
||||||
{
|
{
|
||||||
|
|
|
@ -15,9 +15,10 @@ interface Cache extends \Federator\Connector\Connector
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* save remote user by given session
|
* save remote user by given session
|
||||||
|
*
|
||||||
* @param string $_session session id
|
* @param string $_session session id
|
||||||
* @param string $_user user/profile name
|
* @param string $_user user/profile name
|
||||||
* @aramm \Federator\Data\User $user user data
|
* @param \Federator\Data\User $user user data
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function saveRemoteUserBySession($_session, $_user, $user);
|
public function saveRemoteUserBySession($_session, $_user, $user);
|
||||||
|
|
|
@ -15,6 +15,7 @@ interface Connector
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* get remote user by given session
|
* get remote user by given session
|
||||||
|
*
|
||||||
* @param string $_session session id
|
* @param string $_session session id
|
||||||
* @param string $_user user/profile name
|
* @param string $_user user/profile name
|
||||||
* @return \Federator\Data\User | false
|
* @return \Federator\Data\User | false
|
||||||
|
|
|
@ -54,7 +54,7 @@ class Language
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($uselang === null && array_key_exists('_lang', $_REQUEST)) {
|
if ($uselang === null && array_key_exists('_lang', $_REQUEST)) {
|
||||||
$language = $_REQUEST['_lang'];
|
$language = (string)$_REQUEST['_lang'];
|
||||||
if (array_key_exists($language, $this->validLanguages)) {
|
if (array_key_exists($language, $this->validLanguages)) {
|
||||||
$uselang = $language;
|
$uselang = $language;
|
||||||
}
|
}
|
||||||
|
@ -126,7 +126,7 @@ class Language
|
||||||
*
|
*
|
||||||
* @param string $group
|
* @param string $group
|
||||||
* group name to fetch keys
|
* group name to fetch keys
|
||||||
* @return array<string> list of keys
|
* @return list<string> list of keys
|
||||||
*/
|
*/
|
||||||
public function getKeys(string $group)
|
public function getKeys(string $group)
|
||||||
{
|
{
|
||||||
|
@ -135,6 +135,7 @@ class Language
|
||||||
require_once($_SERVER['DOCUMENT_ROOT'] . '/../lang/' . $this->uselang . "/$group.inc");
|
require_once($_SERVER['DOCUMENT_ROOT'] . '/../lang/' . $this->uselang . "/$group.inc");
|
||||||
$this->lang[$group] = $l;
|
$this->lang[$group] = $l;
|
||||||
}
|
}
|
||||||
|
// @phan-suppress-next-line PhanPartialTypeMismatchReturn
|
||||||
return array_keys($this->lang[$group]);
|
return array_keys($this->lang[$group]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -263,11 +264,11 @@ function smarty_function_printlang($params, $template) : string
|
||||||
{
|
{
|
||||||
$lang = $template->getTemplateVars("language");
|
$lang = $template->getTemplateVars("language");
|
||||||
<<<'PHAN'
|
<<<'PHAN'
|
||||||
@phan-var \Language $lang
|
@phan-var \Federator\Language $lang
|
||||||
PHAN;
|
PHAN;
|
||||||
$forcelang = array_key_exists('lang', $params) ? $params['lang'] : null;
|
$forcelang = array_key_exists('lang', $params) ? $params['lang'] : null;
|
||||||
if ($forcelang !== null) {
|
if ($forcelang !== null) {
|
||||||
$lang = new Language($forcelang);
|
$lang = new \Federator\Language($forcelang);
|
||||||
}
|
}
|
||||||
if (isset($params['var'])) {
|
if (isset($params['var'])) {
|
||||||
return $lang->printlang($params['group'], $params['key'], $params['var']);
|
return $lang->printlang($params['group'], $params['key'], $params['var']);
|
||||||
|
|
11
php/main.php
11
php/main.php
|
@ -53,7 +53,7 @@ class Main
|
||||||
/**
|
/**
|
||||||
* languange instance
|
* languange instance
|
||||||
*
|
*
|
||||||
* @var \Language $lang
|
* @var Language $lang
|
||||||
*/
|
*/
|
||||||
protected $lang = null;
|
protected $lang = null;
|
||||||
/**
|
/**
|
||||||
|
@ -80,7 +80,11 @@ class Main
|
||||||
*/
|
*/
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
$this->config = parse_ini_file('../config.ini', true);
|
$this->responseCode = 200;
|
||||||
|
$config = parse_ini_file('../config.ini', true);
|
||||||
|
if ($config !== false) {
|
||||||
|
$this->config = $config;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -92,6 +96,9 @@ class Main
|
||||||
public static function getFromRemote(string $remoteURL, $headers)
|
public static function getFromRemote(string $remoteURL, $headers)
|
||||||
{
|
{
|
||||||
$ch = curl_init();
|
$ch = curl_init();
|
||||||
|
if ($ch === false) {
|
||||||
|
return ['', null];
|
||||||
|
}
|
||||||
curl_setopt($ch, CURLOPT_URL, $remoteURL);
|
curl_setopt($ch, CURLOPT_URL, $remoteURL);
|
||||||
curl_setopt($ch, CURLOPT_HEADER, 0);
|
curl_setopt($ch, CURLOPT_HEADER, 0);
|
||||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||||
|
|
|
@ -23,7 +23,7 @@ class DummyConnector implements Connector
|
||||||
* get remote user by given session
|
* get remote user by given session
|
||||||
* @param string $_session session id
|
* @param string $_session session id
|
||||||
* @param string $_user user or profile name
|
* @param string $_user user or profile name
|
||||||
* @return Data\User | false
|
* @return \Federator\Data\User | false
|
||||||
*/
|
*/
|
||||||
public function getRemoteUserBySession(string $_session, string $_user)
|
public function getRemoteUserBySession(string $_session, string $_user)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue