diff --git a/webui/config.php b/webui/config.php index 6a459fd..1f635a1 100644 --- a/webui/config.php +++ b/webui/config.php @@ -25,6 +25,9 @@ define('ICON_RED_X', '/view/theme/default/images/red_x.png'); define('ICON_DOWNLOAD', '/view/theme/default/images/download_icon.jpg'); define('ICON_NOTES', '/view/theme/default/images/notes.png'); +define('ICON_PLUS', '/view/theme/default/images/plus.gif'); +define('ICON_MINUS', '/view/theme/default/images/minus.gif'); +define('ICON_EMPTY', '/view/theme/default/images/1x1.gif'); define('MAX_CGI_FROM_SUBJ_LEN', 45); define('PAGE_LEN', 20); diff --git a/webui/controller/search/folder.php b/webui/controller/search/folder.php index 3caef4a..4ec4190 100644 --- a/webui/controller/search/folder.php +++ b/webui/controller/search/folder.php @@ -16,6 +16,8 @@ $this->data['folders'] = $this->model_folder_folder->get_folders_for_user(); $this->data['extra_folders'] = $this->model_folder_folder->get_extra_folders_for_user(); + $this->data['folders_by_hier'] = $this->model_folder_folder->get_all_folder_ids_hier($_SESSION['uid']); + $this->render(); } diff --git a/webui/model/folder/folder.php b/webui/model/folder/folder.php index c60ceb4..4e49a00 100644 --- a/webui/model/folder/folder.php +++ b/webui/model/folder/folder.php @@ -95,6 +95,24 @@ } + public function get_all_folder_ids_hier($uid = 0) { + $arr = array(); + $a = array(); + + $query = $this->db->query("SELECT " . TABLE_FOLDER_USER . ".id AS id, " . TABLE_FOLDER . ".name AS name FROM " . TABLE_FOLDER_USER . ", " . TABLE_FOLDER . " WHERE uid=? AND " . TABLE_FOLDER_USER . ".id=" . TABLE_FOLDER . ".id", array($uid)); + + if(isset($query->rows)) { + foreach ($query->rows as $q) { + $a = array('id' => $q['id'], 'name' => $q['name'], 'children' => array()); + $a['children'] = $this->get_sub_folders_hier($q['id']); + array_push($arr, $a); + } + } + + return $arr; + } + + public function get_all_extra_folder_ids($uid = 0) { $arr = array(); @@ -122,6 +140,26 @@ } + + private function get_sub_folders_hier($id = 0) { + $arr = array(); + + $query = $this->db->query("SELECT id, name FROM `" . TABLE_FOLDER . "` WHERE parent_id=?", array($id)); + + if($query->num_rows > 0) { + + foreach ($query->rows as $q) { + $a = array('id'=> $q['id'], 'name'=>$q['name'], 'children'=>array()); + $a['children'] = $this->get_sub_folders_hier($q['id']); + array_push($arr, $a); + } + + } + + return $arr; + } + + public function get_folders_by_string($s = '') { if(strlen($s) < 2) { return array(); } diff --git a/webui/view/javascript/piler.js b/webui/view/javascript/piler.js index 0c5639f..4972736 100644 --- a/webui/view/javascript/piler.js +++ b/webui/view/javascript/piler.js @@ -268,10 +268,10 @@ e = document.getElementById(prefix + 'order'); if(e && e.value) { data = data + "&order=" + e.value; } - var a = document.getElementById('folders'); - if(a) { - for(i=0; i - -
- - -
+
+ +
+ + +
+ + + 0) { ?> + + + +
+ + + +
+ + + + + - -