Skip to content
This repository was archived by the owner on Sep 10, 2021. It is now read-only.

Commit a0d9566

Browse files
author
Charles Marion
committed
0009685: Ability to add a directory in the user page
1 parent 50dd577 commit a0d9566

File tree

5 files changed

+61
-30
lines changed

5 files changed

+61
-30
lines changed

core/controllers/UserController.php

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -558,17 +558,19 @@ public function userpageAction()
558558
$this->view->user = $userDao;
559559
$this->view->userCommunities = $this->User->getUserCommunities($userDao);
560560
$this->view->folders = array();
561-
$this->view->folders[] = $userDao->getPublicFolder();
562561
if(!empty($this->userSession->Dao) && ($userDao->getKey() == $this->userSession->Dao->getKey() || $this->userSession->Dao->isAdmin()))
563562
{
564-
$this->view->folders[] = $userDao->getPrivateFolder();
565563
$this->view->ownedItems = $this->Item->getOwnedByUser($userDao);
566564
$this->view->shareItems = $this->Item->getSharedToUser($userDao);
567565
}
568566
else
569567
{
570568
$this->User->incrementViewCount($userDao);
571569
}
570+
571+
$this->view->mainFolder = $userDao->getFolder();
572+
$this->view->folders = $this->Folder->getChildrenFoldersFiltered($this->view->mainFolder, $this->userSession->Dao, MIDAS_POLICY_READ);
573+
$this->view->items = $this->Folder->getItemsFiltered($this->view->mainFolder, $this->userSession->Dao, MIDAS_POLICY_READ);
572574
$this->view->feeds = $this->Feed->getFeedsByUser($this->userSession->Dao, $userDao);
573575

574576
$this->view->isViewAction = ($this->logged && ($this->userSession->Dao->getKey() == $userDao->getKey() || $this->userSession->Dao->isAdmin()));
@@ -607,8 +609,8 @@ public function manageAction()
607609
}
608610

609611
$this->view->user = $userDao;
610-
$this->view->folders = array();
611-
$this->view->folders[] = $userDao->getPublicFolder();
612-
$this->view->folders[] = $userDao->getPrivateFolder();
612+
$this->view->mainFolder = $userDao->getFolder();
613+
$this->view->folders = $this->Folder->getChildrenFoldersFiltered($this->view->mainFolder, $this->userSession->Dao, MIDAS_POLICY_READ);
614+
$this->view->items = $this->Folder->getItemsFiltered($this->view->mainFolder, $this->userSession->Dao, MIDAS_POLICY_READ);
613615
}
614616
}//end class

core/public/js/user/user.manage.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ $(document).ready(function() {
55
//init tree
66
$('img.tabsLoading').hide()
77

8+
$('div.sideElementFirst').show();
9+
810

911
$("#browseTable").treeTable();
1012
$("img.tableLoading").hide();

core/public/js/user/user.userpage.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
$('div.genericAction').show();
66
$('div.genericCommunities').show();
77
$('div.genericStats').show();
8+
$('div.biographyBlock').show();
9+
$('div.websiteBlock').show();
810
$('div.viewInfo').hide();
911
$('div.viewAction').hide();
1012
}
@@ -25,6 +27,8 @@
2527
$('div.genericAction').hide();
2628
$('div.genericCommunities').hide();
2729
$('div.genericStats').hide();
30+
$('div.biographyBlock').hide();
31+
$('div.websiteBlock').hide();
2832
$('div.viewInfo').show();
2933
$('div.viewAction').show();
3034
genericCallbackSelect(node);

core/views/user/manage.phtml

Lines changed: 29 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -47,34 +47,46 @@ $this->headScript()->appendFile($this->coreWebroot.'/public/js/common/common.bro
4747
<th class="thCheckbox"></th>
4848
</thead>
4949
<tbody>
50-
<?php
51-
$node=1;
52-
foreach($this->folders as $folder)
53-
{
54-
echo "<tr id='node--$node' class='parent' privacy='{$folder->getPrivacyStatus()}' policy='".MIDAS_POLICY_ADMIN."' type='folder' element='{$folder->getFolderId()}' ajax='{$folder->getFolderId()}'>";
55-
echo " <td class='treeBrowseElement'><span class='notdraggable folder'>{$folder->getName()}</span></td>";
56-
echo " <td><img class='folderLoading' element='{$folder->getFolderId()}' alt='' src='{$this->coreWebroot}/public/images/icons/loading.gif'/></td>";
57-
echo " <td>{$this->Date->ago($folder->getDate(),true)}</td>";
58-
echo " <td><input type='checkbox' class='treeCheckbox' type='folder' element='{$folder->getFolderId()}' /></td>";
59-
echo "</tr>";
60-
$node++;
61-
}
62-
?>
50+
<?php
51+
$node=1;
52+
53+
foreach($this->folders as $folder)
54+
{
55+
echo "<tr id='node--$node' class='parent' privacy='{$folder->getPrivacyStatus()}' policy='".MIDAS_POLICY_ADMIN."' type='folder' element='{$folder->getFolderId()}' ajax='{$folder->getFolderId()}'>";
56+
echo " <td class='treeBrowseElement'><span class='notdraggable folder'>{$folder->getName()}</span></td>";
57+
echo " <td><img class='folderLoading' element='{$folder->getFolderId()}' alt='' src='{$this->coreWebroot}/public/images/icons/loading.gif'/></td>";
58+
echo " <td>{$this->Date->ago($folder->getDate(),true)}</td>";
59+
echo " <td><input type='checkbox' class='treeCheckbox' type='folder' element='{$folder->getFolderId()}' /></td>";
60+
echo "</tr>";
61+
$node++;
62+
}
63+
64+
foreach($this->items as $item)
65+
{
66+
echo "<tr id='node--$node' policy='{$item->policy}' privacy='{$item->getPrivacyStatus()}' class='' type='item' element='{$item->getItemId()}' >";
67+
echo " <td class='treeBrowseElement'><span class='file'>{$this->slicename($item->getName(),40)}</span></td>";
68+
echo " <td>{$item->size}</td>";
69+
echo " <td>{$this->Date->ago($item->getDate(),true)}</td>";
70+
echo " <td><input type='checkbox' class='treeCheckbox' type='item' element='{$item->getItemId()}' /></td>";
71+
echo "</tr>";
72+
$node++;
73+
}
74+
?>
75+
6376

6477
</tbody>
6578
</table>
6679

6780
</div>
6881

69-
</div>
7082
<div class="viewSideBar">
7183

7284
<div class="sideElementFirst viewAction">
7385
<h1>Actions</h1>
7486
<ul>
75-
<li>
76-
77-
</li>
87+
<?php
88+
echo "<li><a onclick='createNewFolder(".$this->mainFolder->getKey().");'>{$this->t('Create top level Folder')}</a></li>";
89+
?>
7890
</ul>
7991
</div>
8092
<div class="sideElement viewSelected" >

core/views/user/userpage.phtml

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -96,21 +96,32 @@ $this->headScript()->appendFile($this->coreWebroot.'/public/js/common/common.bro
9696
<tbody>
9797
<?php
9898
$node=1;
99-
$policy=MIDAS_POLICY_READ;
100-
if($this->isViewAction)
101-
{
102-
$policy=MIDAS_POLICY_WRITE;
103-
}
10499
foreach($this->folders as $folder)
105100
{
106-
echo "<tr id='node--$node' policy='$policy' privacy='{$folder->getPrivacyStatus()}' class='parent' type='folder' element='{$folder->getFolderId()}' ajax='{$folder->getFolderId()}'>";
101+
$policy=MIDAS_POLICY_READ;
102+
if($this->isModerator||$this->isAdmin)
103+
{
104+
$policy=MIDAS_POLICY_WRITE;
105+
}
106+
echo "<tr id='node--$node' policy='$policy' class='parent' privacy='{$folder->getPrivacyStatus()}' type='folder' element='{$folder->getFolderId()}' ajax='{$folder->getFolderId()}'>";
107107
echo " <td class='treeBrowseElement'><span class='folder'>{$folder->getName()}</span></td>";
108108
echo " <td><img class='folderLoading' element='{$folder->getFolderId()}' alt='' src='{$this->coreWebroot}/public/images/icons/loading.gif'/></td>";
109109
echo " <td>{$this->Date->ago($folder->getDate(),true)}</td>";
110110
echo " <td><input type='checkbox' class='treeCheckbox' type='folder' element='{$folder->getFolderId()}' /></td>";
111111
echo "</tr>";
112112
$node++;
113113
}
114+
115+
foreach($this->items as $item)
116+
{
117+
echo "<tr id='node--$node' policy='{$item->policy}' privacy='{$item->getPrivacyStatus()}' class='' type='item' element='{$item->getItemId()}' >";
118+
echo " <td class='treeBrowseElement'><span class='file'>{$this->slicename($item->getName(),40)}</span></td>";
119+
echo " <td>{$item->size}</td>";
120+
echo " <td>{$this->Date->ago($item->getDate(),true)}</td>";
121+
echo " <td><input type='checkbox' class='treeCheckbox' type='item' element='{$item->getItemId()}' /></td>";
122+
echo "</tr>";
123+
$node++;
124+
}
114125
?>
115126

116127
</tbody>
@@ -172,7 +183,7 @@ $this->headScript()->appendFile($this->coreWebroot.'/public/js/common/common.bro
172183
if(!empty($website))
173184
{
174185
echo "
175-
<div class='sideElement'>
186+
<div class='sideElement websiteBlock'>
176187
<h1>{$this->t('Website')}</h1>
177188
<ul>
178189
<li><a href='{$website}'>{$website}</a></li>
@@ -184,7 +195,7 @@ $this->headScript()->appendFile($this->coreWebroot.'/public/js/common/common.bro
184195
if(!empty($biography))
185196
{
186197
echo "
187-
<div class='sideElement'>
198+
<div class='sideElement biographyBlock'>
188199
<h1>{$this->t('Biography')}</h1>
189200
".nl2br($biography)."
190201
</div>";

0 commit comments

Comments
 (0)