mirror of
https://bitbucket.org/jsuto/piler.git
synced 2025-06-12 23:27:03 +02:00
added tagging the search results
This commit is contained in:
@ -415,6 +415,18 @@ class ModelSearchMessage extends Model {
|
||||
}
|
||||
|
||||
|
||||
public function bulk_add_message_tag($ids = array(), $uid = 0, $tag = '', $q = '') {
|
||||
$arr = array_merge(array($uid), $ids);
|
||||
|
||||
$query = $this->db->query("DELETE FROM " . TABLE_TAG . " WHERE uid=? AND id IN ($q)", $arr);
|
||||
|
||||
if($tag) {
|
||||
foreach ($ids as $id) {
|
||||
$query = $this->db->query("INSERT INTO " . TABLE_TAG . " (id, uid, tag) VALUES(?,?,?)", array($id, $uid, $tag));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
|
@ -11,6 +11,7 @@ class ModelSearchSearch extends Model {
|
||||
$cache_key = "";
|
||||
$q = "";
|
||||
$s = "";
|
||||
$all_ids_csv = "";
|
||||
|
||||
while(list($k,$v) = each($data)) {
|
||||
if($v) { $s .= '&' . $k . '=' . $v; }
|
||||
@ -61,6 +62,7 @@ class ModelSearchSearch extends Model {
|
||||
|
||||
|
||||
$total_hits = count($all_ids);
|
||||
$all_ids_csv = implode(",", $all_ids);
|
||||
|
||||
$data['page_len'] = get_page_length();
|
||||
|
||||
@ -71,6 +73,7 @@ class ModelSearchSearch extends Model {
|
||||
|
||||
if($i >= $data['page_len'] * $page && $i < $data['page_len'] * ($page+1) ) {
|
||||
array_push($one_page_of_ids, $id);
|
||||
$all_ids_csv .= ",$id";
|
||||
|
||||
if($q) { $q .= ",?"; } else { $q = "?"; }
|
||||
}
|
||||
@ -80,7 +83,7 @@ class ModelSearchSearch extends Model {
|
||||
|
||||
}
|
||||
|
||||
return array($total_hits, $this->get_meta_data($one_page_of_ids, $q, $sortorder));
|
||||
return array($total_hits, $all_ids_csv, $this->get_meta_data($one_page_of_ids, $q, $sortorder));
|
||||
}
|
||||
|
||||
|
||||
@ -451,6 +454,46 @@ class ModelSearchSearch extends Model {
|
||||
}
|
||||
|
||||
|
||||
public function check_your_permission_by_id_list($id = array()) {
|
||||
$q = $q2 = '';
|
||||
$arr = $a = $result = array();
|
||||
|
||||
if($id == '') { return 0; }
|
||||
|
||||
if(Registry::get('admin_user') == 1 || Registry::get('auditor_user') == 1) { return 1; }
|
||||
|
||||
$arr = $id;
|
||||
|
||||
for($i=0; $i<count($id); $i++) {
|
||||
$q2 .= ",?";
|
||||
}
|
||||
|
||||
$q2 = preg_replace("/^\,/", "", $q2);
|
||||
|
||||
|
||||
while(list($k, $v) = each($_SESSION['emails'])) {
|
||||
if(validemail($v) == 1) {
|
||||
$q .= ",?";
|
||||
array_push($a, $v);
|
||||
}
|
||||
}
|
||||
|
||||
$q = preg_replace("/^\,/", "", $q);
|
||||
|
||||
$arr = array_merge($arr, $a, $a);
|
||||
|
||||
$query = $this->db->query("SELECT distinct id FROM " . VIEW_MESSAGES . " WHERE `id` IN ($q2) AND ( `from` IN ($q) OR `to` IN ($q) )", $arr);
|
||||
|
||||
if($query->num_rows > 0) {
|
||||
foreach ($query->rows as $q) {
|
||||
array_push($result, $q['id']);
|
||||
}
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
public function remove_message($id = '') {
|
||||
if($id == '') { return 0; }
|
||||
|
||||
|
Reference in New Issue
Block a user