mirror of
https://bitbucket.org/jsuto/piler.git
synced 2025-06-22 12:53:18 +02:00
@ -57,17 +57,20 @@ class ModelFolderFolder extends Model {
|
||||
|
||||
public function get_folders_for_user() {
|
||||
$session = Registry::get('session');
|
||||
$folders = $session->get("folders");
|
||||
|
||||
$q = str_repeat("?,", count($session->get("folders")));
|
||||
$q = str_repeat("?,", count($folders));
|
||||
$q = preg_replace("/\,$/", "", $q);
|
||||
|
||||
if(isAuditorUser() == 1) {
|
||||
$query = $this->db->query("SELECT `id`, `name` FROM `" . TABLE_FOLDER);
|
||||
} else {
|
||||
$query = $this->db->query("SELECT `id`, `name` FROM `" . TABLE_FOLDER . "` WHERE id IN ($q)", $session->get("folders"));
|
||||
}
|
||||
$query = $this->db->query("SELECT `id`, `name` FROM `" . TABLE_FOLDER . "` WHERE id IN ($q)", $folders);
|
||||
|
||||
if(isset($query->rows)) { return $query->rows; }
|
||||
if(isset($query->rows)) {
|
||||
$arr = $query->rows;
|
||||
if(in_array(0, $folders, TRUE)) {
|
||||
array_unshift($arr, array('id' => 0, 'name' => '---'));
|
||||
}
|
||||
return $arr;
|
||||
}
|
||||
|
||||
return array();
|
||||
}
|
||||
@ -95,11 +98,12 @@ class ModelFolderFolder extends Model {
|
||||
|
||||
public function get_folder_id_array_for_user($uid = 0, $is_admin = 0) {
|
||||
$arr = array();
|
||||
$add_folder0 = ($is_admin == 0);
|
||||
|
||||
if($is_admin == 2) {
|
||||
$query = $this->db->query("SELECT id FROM `" . TABLE_FOLDER_USER . "` WHERE uid=?", array($uid));
|
||||
if($is_admin == 2 && (!isset($query->rows) || count($query->rows) == 0)) {
|
||||
$query = $this->db->query("SELECT id FROM `" . TABLE_FOLDER);
|
||||
} else {
|
||||
$query = $this->db->query("SELECT id FROM `" . TABLE_FOLDER_USER . "` WHERE uid=?", array($uid));
|
||||
$add_folder0 = 1;
|
||||
}
|
||||
|
||||
if(isset($query->rows)) {
|
||||
@ -109,6 +113,10 @@ class ModelFolderFolder extends Model {
|
||||
}
|
||||
}
|
||||
|
||||
if($add_folder0 == 1) {
|
||||
array_unshift($arr, 0);
|
||||
}
|
||||
|
||||
return $arr;
|
||||
}
|
||||
|
||||
|
@ -79,8 +79,6 @@ class ModelSearchSearch extends Model {
|
||||
else { return ""; }
|
||||
}
|
||||
|
||||
if(ENABLE_FOLDER_RESTRICTIONS == 1) { return ""; }
|
||||
|
||||
$all_your_addresses = $this->get_all_your_address("emails");
|
||||
$all_your_wildcard_domains = $this->get_all_your_address("wildcard_domains");
|
||||
|
||||
@ -219,7 +217,7 @@ class ModelSearchSearch extends Model {
|
||||
list ($total_found, $num_rows, $id_list) = $this->get_sphinx_id_list($data['note'], SPHINX_NOTE_INDEX, 'note', $page);
|
||||
$query = $this->sphx->query("SELECT id FROM " . SPHINX_MAIN_INDEX . " WHERE $folders id IN ($id_list) $sortorder LIMIT 0,$pagelen OPTION max_matches=" . MAX_SEARCH_HITS);
|
||||
}
|
||||
else if(ENABLE_FOLDER_RESTRICTIONS == 1 && isset($data['extra_folders']) && strlen($data['extra_folders']) > 0) {
|
||||
else if(ENABLE_FOLDER_RESTRICTIONS == 1 && isset($data['extra_folders'])) {
|
||||
$query = $this->sphx->query("SELECT id FROM " . SPHINX_MAIN_INDEX . " WHERE $a $id $date $attachment $direction $size folder IN (" . preg_replace("/ /", ",", $data['extra_folders']) . ") AND MATCH('$match') $sortorder LIMIT $offset,$pagelen OPTION max_matches=" . MAX_SEARCH_HITS);
|
||||
$total_found = $query->total_found;
|
||||
$num_rows = $query->num_rows;
|
||||
|
Reference in New Issue
Block a user