catching nulls for FileTag
authorPhilipp Holzer <admin+github@philipp.info>
Thu, 30 May 2019 11:54:17 +0000 (13:54 +0200)
committerPhilipp Holzer <admin+github@philipp.info>
Thu, 30 May 2019 11:54:35 +0000 (13:54 +0200)
include/text.php
mod/item.php
src/Model/FileTag.php
src/Module/Filer/SaveTag.php

index eb65334..e4227cd 100644 (file)
@@ -186,7 +186,7 @@ function get_cats_and_terms($item)
        $folders = [];
        $first = true;
 
-       foreach (FileTag::fileToArray($item['file'], 'category') as $savedFolderName) {
+       foreach (FileTag::fileToArray($item['file'] ?? '', 'category') as $savedFolderName) {
                $categories[] = [
                        'name' => $savedFolderName,
                        'url' => "#",
@@ -202,7 +202,7 @@ function get_cats_and_terms($item)
        }
 
        if (local_user() == $item['uid']) {
-               foreach (FileTag::fileToArray($item['file']) as $savedFolderName) {
+               foreach (FileTag::fileToArray($item['file'] ?? '') as $savedFolderName) {
                        $folders[] = [
                                'name' => $savedFolderName,
                                'url' => "#",
index 7af5c71..b064bbc 100644 (file)
@@ -27,12 +27,12 @@ use Friendica\Core\Protocol;
 use Friendica\Core\System;
 use Friendica\Core\Worker;
 use Friendica\Database\DBA;
+use Friendica\Model\Attach;
 use Friendica\Model\Contact;
 use Friendica\Model\Conversation;
 use Friendica\Model\FileTag;
 use Friendica\Model\Item;
 use Friendica\Model\Photo;
-use Friendica\Model\Attach;
 use Friendica\Model\Term;
 use Friendica\Protocol\Diaspora;
 use Friendica\Protocol\Email;
@@ -337,7 +337,7 @@ function item_post(App $a) {
        $categories = FileTag::listToFile(trim(defaults($_REQUEST, 'category', '')), 'category');
        $categories_new = $categories;
 
-       if (!empty($filedas)) {
+       if (!empty($filedas) && is_array($filedas)) {
                // append the fileas stuff to the new categories list
                $categories .= FileTag::arrayToFile($filedas);
        }
index c743cb1..f4d0463 100644 (file)
@@ -133,7 +133,7 @@ class FileTag
         * @return string       A list of file tags.
         * @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);
 
@@ -150,7 +150,7 @@ class FileTag
         * @return string       Comma delimited list of tag names.
         * @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));
        }
@@ -166,7 +166,7 @@ class FileTag
         * @return boolean          A value indicating success or failure.
         * @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)) {
                        return false;
index aeafdbe..08ff1a3 100644 (file)
@@ -40,7 +40,7 @@ class SaveTag extends BaseModule
                }
 
                // return filer dialog
-               $filetags = PConfig::get(local_user(), 'system', 'filetags');
+               $filetags = PConfig::get(local_user(), 'system', 'filetags', '');
                $filetags = Model\FileTag::fileToArray($filetags);
 
                $tpl = Renderer::getMarkupTemplate("filer_dialog.tpl");