//get guids passed here $fileGUIDs = (string) get_input("guids"); $lang = get_current_language(); if (!empty($fileGUIDs)) { //put string values into array $file = explode(',', $fileGUIDs); array_pop($file); //get container enitity $page_owner = get_entity($file[0])->getContainerEntity(); //get all folders $folders = file_tools_get_folders($page_owner->getGUID()); $folderEnt = array(); //loop thru array foreach ($file as $f) { //list all other folder excluding itself and it's children $ent = file_tools_get_child($folders, 1, $f, '-1'); //if a folder if (!elgg_instanceof($ent, 'file')) { array_push($folderEnt, $ent); } } foreach ($folderEnt as $e) { //make a original array to base folders off of if (!isset($originArray)) { $originArray = $e; $resultArray = $originArray; } else { //compare each index of array $resultArray = array_intersect($resultArray, $e); } }
<?php $folder_guid = (int) get_input("folder_guid"); $container_guid = elgg_extract("container_guid", $vars, elgg_get_page_owner_guid()); $current_folder = elgg_extract("folder", $vars, $folder_guid); $type = elgg_extract("type", $vars); unset($vars["folder"]); unset($vars["type"]); unset($vars["container_guid"]); if ($type == "folder") { if (!elgg_extract("value", $vars)) { if (!empty($current_folder)) { $vars["value"] = get_entity($current_folder)->parent_guid; } } } elseif (!elgg_extract("value", $vars)) { $vars["value"] = $current_folder; } $folders = file_tools_get_folders($container_guid); $options = array(0 => elgg_echo("file_tools:input:folder_select:main")); echo "<script>console.log('PHP: " . $folder_guid . "');</script>"; if (!empty($folders)) { $options = $options + file_tools_get_child($folders, 1, $folder_guid, '-1'); } $vars["options_values"] = $options; echo elgg_view("input/dropdown", $vars);