From 6fda1a6c70adf770518ae6264cbaae94ad79c5d1 Mon Sep 17 00:00:00 2001 From: Martin Jones <54537636+nattywebdev@users.noreply.github.com> Date: Thu, 30 Nov 2023 17:30:41 +0000 Subject: [PATCH 1/6] issue 2 - replace create_function Replace unsupported create_function and fix consequent issue related to sorting. --- filebrowser.theme.inc | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/filebrowser.theme.inc b/filebrowser.theme.inc index b8ca665..844c224 100644 --- a/filebrowser.theme.inc +++ b/filebrowser.theme.inc @@ -127,7 +127,7 @@ function theme_dir_listing_list_view($node) { $visible_columns[$column_name] = TRUE; $unsorted_rows[$file_name][FILEBROWSER_DATA_NAME_ICON] = array( 'data' => _filebrowser_thumbnails_generate($node, $data), - 'style' => 'width:1%;' + 'class' => 'icon' ); break; @@ -236,26 +236,29 @@ function theme_dir_listing_list_view($node) { $field = $table_sort['sql']; $columns = _filebrowser_externals('metadata_info'); if (isset($columns[$table_sort['sql']]) && isset($columns[$table_sort['sql']]['sortable']) && $columns[$table_sort['sql']]['sortable']) { + $sorter = null; switch ($columns[$table_sort['sql']]['type']) { case 'integer' : - $code = '$a=isset($a["' . $field . '"])?$a["' . $field . '"]:0;'; - $code .= '$b=isset($b["' . $field . '"])?$b["' . $field . '"]:0;'; - $code .= 'return $a-$b;'; - break; + $sorter = function ($a, $b) use ($field) { + $a = isset($a[$field]) ? $a[$field] : 0; + $b = isset($b[$field]) ? $b[$field] : 0; + return $a-$b; + }; + break; case 'string' : - $code = '$a=isset($a["' . $field . '"])?$a["' . $field . '"]:"";'; - $code .= '$b=isset($b["' . $field . '"])?$b["' . $field . '"]:"";'; - $code .= 'return -strcmp(strtolower($a),strtolower($b));'; - break; - + $sorter = function ($a, $b) use ($field) { + $a = isset($a[$field]) ? $a[$field] : ''; + $b = isset($b[$field]) ? $b[$field]: ''; + return -strcmp(backdrop_strtolower($a), backdrop_strtolower($b)); + }; + break; } - $sorter = create_function('$a,$b', $code); usort($just_folders, $sorter); if ($table_sort['sort'] == 'asc') { $just_folders = array_reverse($just_folders, TRUE); } - usort($just_files, create_function('$a,$b', $code)); + usort($just_files, $sorter); if ($table_sort['sort'] == 'asc') { $just_files = array_reverse($just_files, TRUE); } From 6e194ca934a01b43e363f5ef7d09805e6affdee3 Mon Sep 17 00:00:00 2001 From: Martin Jones <54537636+nattywebdev@users.noreply.github.com> Date: Fri, 1 Dec 2023 14:22:52 +0000 Subject: [PATCH 2/6] Update filebrowser.theme.inc spaces instead of tabs Co-authored-by: Greg Netsas --- filebrowser.theme.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/filebrowser.theme.inc b/filebrowser.theme.inc index 844c224..3f928ba 100644 --- a/filebrowser.theme.inc +++ b/filebrowser.theme.inc @@ -236,7 +236,7 @@ function theme_dir_listing_list_view($node) { $field = $table_sort['sql']; $columns = _filebrowser_externals('metadata_info'); if (isset($columns[$table_sort['sql']]) && isset($columns[$table_sort['sql']]['sortable']) && $columns[$table_sort['sql']]['sortable']) { - $sorter = null; + $sorter = null; switch ($columns[$table_sort['sql']]['type']) { case 'integer' : $sorter = function ($a, $b) use ($field) { From 784bc63217dd9e4ccc2f2d67e01eab40e773d3ca Mon Sep 17 00:00:00 2001 From: Martin Jones <54537636+nattywebdev@users.noreply.github.com> Date: Fri, 1 Dec 2023 14:23:28 +0000 Subject: [PATCH 3/6] Update filebrowser.theme.inc array item to end with comma Co-authored-by: Greg Netsas --- filebrowser.theme.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/filebrowser.theme.inc b/filebrowser.theme.inc index 3f928ba..4064032 100644 --- a/filebrowser.theme.inc +++ b/filebrowser.theme.inc @@ -127,7 +127,7 @@ function theme_dir_listing_list_view($node) { $visible_columns[$column_name] = TRUE; $unsorted_rows[$file_name][FILEBROWSER_DATA_NAME_ICON] = array( 'data' => _filebrowser_thumbnails_generate($node, $data), - 'class' => 'icon' + 'class' => 'icon', ); break; From d68d895ce03db1d6fdcb7c759f55eaf60b087ef4 Mon Sep 17 00:00:00 2001 From: Martin Jones <54537636+nattywebdev@users.noreply.github.com> Date: Fri, 1 Dec 2023 14:29:30 +0000 Subject: [PATCH 4/6] Update filebrowser.theme.inc additional space before conditional : Co-authored-by: Greg Netsas --- filebrowser.theme.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/filebrowser.theme.inc b/filebrowser.theme.inc index 4064032..77799d4 100644 --- a/filebrowser.theme.inc +++ b/filebrowser.theme.inc @@ -249,7 +249,7 @@ function theme_dir_listing_list_view($node) { case 'string' : $sorter = function ($a, $b) use ($field) { $a = isset($a[$field]) ? $a[$field] : ''; - $b = isset($b[$field]) ? $b[$field]: ''; + $b = isset($b[$field]) ? $b[$field] : ''; return -strcmp(backdrop_strtolower($a), backdrop_strtolower($b)); }; break; From e2ce834a0a3ede344d1fbc289ab3d18718387f1b Mon Sep 17 00:00:00 2001 From: Martin Jones <54537636+nattywebdev@users.noreply.github.com> Date: Fri, 1 Dec 2023 14:37:58 +0000 Subject: [PATCH 5/6] Update filebrowser.theme.inc removed unnecessary space Co-authored-by: Greg Netsas --- filebrowser.theme.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/filebrowser.theme.inc b/filebrowser.theme.inc index 77799d4..859956a 100644 --- a/filebrowser.theme.inc +++ b/filebrowser.theme.inc @@ -248,7 +248,7 @@ function theme_dir_listing_list_view($node) { case 'string' : $sorter = function ($a, $b) use ($field) { - $a = isset($a[$field]) ? $a[$field] : ''; + $a = isset($a[$field]) ? $a[$field] : ''; $b = isset($b[$field]) ? $b[$field] : ''; return -strcmp(backdrop_strtolower($a), backdrop_strtolower($b)); }; From 7d58dac2939daf6c6ce93314d671da0fbc2282a7 Mon Sep 17 00:00:00 2001 From: Martin Jones <54537636+nattywebdev@users.noreply.github.com> Date: Fri, 1 Dec 2023 14:43:36 +0000 Subject: [PATCH 6/6] Update filebrowser.theme.inc - fix code formatting Corrected code format issues spotted by @klonos --- filebrowser.theme.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/filebrowser.theme.inc b/filebrowser.theme.inc index 859956a..0511f60 100644 --- a/filebrowser.theme.inc +++ b/filebrowser.theme.inc @@ -126,7 +126,7 @@ function theme_dir_listing_list_view($node) { case FILEBROWSER_DATA_NAME_ICON : $visible_columns[$column_name] = TRUE; $unsorted_rows[$file_name][FILEBROWSER_DATA_NAME_ICON] = array( - 'data' => _filebrowser_thumbnails_generate($node, $data), + 'data' => _filebrowser_thumbnails_generate($node, $data), 'class' => 'icon', ); break;