Skip to content
This repository has been archived by the owner on Feb 4, 2021. It is now read-only.

Commit

Permalink
#360: Fix media tree
Browse files Browse the repository at this point in the history
  • Loading branch information
allanpilarca committed Jun 1, 2018
1 parent f8b3147 commit 4d1cb8f
Show file tree
Hide file tree
Showing 3 changed files with 39 additions and 26 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,11 @@

defined('_JEXEC') or die;

// Overrides
include_once(JPATH_WEB.'/administrator/templates/elysio/html/overrides.php');

$tree = mediaPrepareTree($this->folders);

$user = JFactory::getUser();
$input = JFactory::getApplication()->input;
$lang = JFactory::getLanguage();
Expand Down Expand Up @@ -51,15 +56,12 @@
<?php echo JText::_('COM_MEDIA_FOLDERS');?>
</div>

<?php $GLOBALS['mediaTreeId'] = 0; ?>
<?php $GLOBALS['mediaTreeParentID'] = false; ?>

<div class="k-tree" id="k-jqtree"></div>
<script type="text/javascript" defer>
kQuery(function($) {
$(document).ready(function () {
new Koowa.Tree('#k-jqtree', {
"data": [<?php echo preg_replace('/\s+/', '', $this->loadTemplate('folders')); ?>],
"data": <?php echo json_encode($tree); ?>,
"autoOpen": true
});
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,25 +8,4 @@
*/

defined('_JEXEC') or die;
?>

<?php if (isset($this->folders['children'])) : ?>
<?php foreach ($this->folders['children'] as $folder) : ?>

<?php $target = str_replace('/', '-', $folder['data']->relative); ?>

<?php $GLOBALS['mediaTreeId']++; ?>

{
"label": "<?php echo $folder['data']->name; ?>",
"id": <?php echo $GLOBALS['mediaTreeId']; ?>,
"url": "index.php?option=com_media&view=mediaList&tmpl=component&folder=<?php echo $folder['data']->relative; ?>",
<?php if($GLOBALS['mediaTreeParentId']): ?>"parent": <?php echo $GLOBALS['mediaTreeParentId']; ?><?php endif; ?>
},

<?php $GLOBALS['mediaTreeParentId'] = count($folder['children']) > 0 ? $GLOBALS['mediaTreeId'] : false ; ?>

<?php echo $this->getFolderLevel($folder); ?>

<?php endforeach; ?>
<?php endif; ?>
?>
32 changes: 32 additions & 0 deletions web/administrator/templates/elysio/html/overrides.php
Original file line number Diff line number Diff line change
Expand Up @@ -160,4 +160,36 @@ function imagesInputGroup($input) {
$input = str_replace('icon-remove', 'k-icon-x', $input);
$input = str_replace('</a>', '</a></div>', $input);
return $input;
}

function mediaPrepareTree($folder, $parent = null)
{
$tree = array();

if (isset($folder['children']))
{
foreach ($folder['children'] as $subfolder)
{
$item_id = uniqid();

$item = array(
'id' => $item_id,
'label' => $subfolder['data']->name,
'url' => 'index.php?option=com_media&view=mediaList&tmpl=component&folder=' . $subfolder['data']->relative,
'parent' => $parent
);

$tree[] = $item;

if (isset($subfolder['children']) && count($subfolder['children']) > 0)
{
$subfolder_parent = count($subfolder['children']) > 0 ? $item_id : 0;
$items = mediaPrepareTree($subfolder, $subfolder_parent);
$tree = array_merge($tree, $items);
}

}
}

return $tree;
}

0 comments on commit 4d1cb8f

Please sign in to comment.