Merge pull request #7208 from nupplaphil/bug/6916-filetag

Adding null checks before FileTag method (fix fatal)
This commit is contained in:
Hypolite Petovan 2019-05-31 01:47:52 -04:00 committed by GitHub
commit f0de19dd8a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 8 additions and 8 deletions

View file

@ -186,7 +186,7 @@ function get_cats_and_terms($item)
$folders = []; $folders = [];
$first = true; $first = true;
foreach (FileTag::fileToArray($item['file'], 'category') as $savedFolderName) { foreach (FileTag::fileToArray($item['file'] ?? '', 'category') as $savedFolderName) {
$categories[] = [ $categories[] = [
'name' => $savedFolderName, 'name' => $savedFolderName,
'url' => "#", 'url' => "#",
@ -202,7 +202,7 @@ function get_cats_and_terms($item)
} }
if (local_user() == $item['uid']) { if (local_user() == $item['uid']) {
foreach (FileTag::fileToArray($item['file']) as $savedFolderName) { foreach (FileTag::fileToArray($item['file'] ?? '') as $savedFolderName) {
$folders[] = [ $folders[] = [
'name' => $savedFolderName, 'name' => $savedFolderName,
'url' => "#", 'url' => "#",

View file

@ -27,12 +27,12 @@ use Friendica\Core\Protocol;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Core\Worker; use Friendica\Core\Worker;
use Friendica\Database\DBA; use Friendica\Database\DBA;
use Friendica\Model\Attach;
use Friendica\Model\Contact; use Friendica\Model\Contact;
use Friendica\Model\Conversation; use Friendica\Model\Conversation;
use Friendica\Model\FileTag; use Friendica\Model\FileTag;
use Friendica\Model\Item; use Friendica\Model\Item;
use Friendica\Model\Photo; use Friendica\Model\Photo;
use Friendica\Model\Attach;
use Friendica\Model\Term; use Friendica\Model\Term;
use Friendica\Protocol\Diaspora; use Friendica\Protocol\Diaspora;
use Friendica\Protocol\Email; use Friendica\Protocol\Email;
@ -337,7 +337,7 @@ function item_post(App $a) {
$categories = FileTag::listToFile(trim(defaults($_REQUEST, 'category', '')), 'category'); $categories = FileTag::listToFile(trim(defaults($_REQUEST, 'category', '')), 'category');
$categories_new = $categories; $categories_new = $categories;
if (!empty($filedas)) { if (!empty($filedas) && is_array($filedas)) {
// append the fileas stuff to the new categories list // append the fileas stuff to the new categories list
$categories .= FileTag::arrayToFile($filedas); $categories .= FileTag::arrayToFile($filedas);
} }

View file

@ -133,7 +133,7 @@ class FileTag
* @return string A list of file tags. * @return string A list of file tags.
* @deprecated since 2019.06 use arrayToFile() instead * @deprecated since 2019.06 use arrayToFile() instead
*/ */
public static function listToFile($list, $type = 'file') public static function listToFile(string $list, string $type = 'file')
{ {
$list_array = explode(',', $list); $list_array = explode(',', $list);
@ -150,7 +150,7 @@ class FileTag
* @return string Comma delimited list of tag names. * @return string Comma delimited list of tag names.
* @deprecated since 2019.06 use fileToArray() instead * @deprecated since 2019.06 use fileToArray() instead
*/ */
public static function fileToList($file, $type = 'file') public static function fileToList(string $file, $type = 'file')
{ {
return implode(',', self::fileToArray($file, $type)); return implode(',', self::fileToArray($file, $type));
} }
@ -166,7 +166,7 @@ class FileTag
* @return boolean A value indicating success or failure. * @return boolean A value indicating success or failure.
* @throws \Exception * @throws \Exception
*/ */
public static function updatePconfig($uid, $file_old, $file_new, $type = 'file') public static function updatePconfig(int $uid, string $file_old, string $file_new, string $type = 'file')
{ {
if (!intval($uid)) { if (!intval($uid)) {
return false; return false;

View file

@ -40,7 +40,7 @@ class SaveTag extends BaseModule
} }
// return filer dialog // return filer dialog
$filetags = PConfig::get(local_user(), 'system', 'filetags'); $filetags = PConfig::get(local_user(), 'system', 'filetags', '');
$filetags = Model\FileTag::fileToArray($filetags); $filetags = Model\FileTag::fileToArray($filetags);
$tpl = Renderer::getMarkupTemplate("filer_dialog.tpl"); $tpl = Renderer::getMarkupTemplate("filer_dialog.tpl");