function checkdomain($domain, $domains) { if (validdomain($domain) == 0) { return 0; } if ($domain == 'local') { return 1; } if (in_array($domain, $domains)) { return 1; } else { return -1; } }
public function check_your_permission_by_id_list($id = array()) { $q = $q2 = ''; $arr = $a = $result = array(); if (count($id) < 1) { return $result; } $session = Registry::get('session'); $arr = $id; for ($i = 0; $i < count($id); $i++) { $q2 .= ",?"; } $q2 = preg_replace("/^\\,/", "", $q2); if (Registry::get('auditor_user') == 1 && RESTRICTED_AUDITOR == 1) { if (validdomain($session->get("domain")) == 1) { $q .= ",?"; array_push($a, $session->get("domain")); } $auditdomains = $session->get("auditdomains"); while (list($k, $v) = each($auditdomains)) { if (validdomain($v) == 1 && !in_array($v, $a)) { $q .= ",?"; array_push($a, $v); } } } else { if (Registry::get('auditor_user') == 0) { $emails = $session->get("emails"); while (list($k, $v) = each($emails)) { if (validemail($v) == 1) { $q .= ",?"; array_push($a, $v); } } } } $q = preg_replace("/^\\,/", "", $q); if (Registry::get('auditor_user') == 1 && RESTRICTED_AUDITOR == 0) { $query = $this->db->query("SELECT id FROM `" . TABLE_META . "` WHERE `id` IN ({$q2})", $arr); } else { if (ENABLE_FOLDER_RESTRICTIONS == 1) { $query = $this->sphx->query("SELECT id, folder FROM " . SPHINX_MAIN_INDEX . " WHERE id IN (" . implode(",", $id) . ")"); } else { $arr = array_merge($arr, $a, $a); if (Registry::get('auditor_user') == 1 && RESTRICTED_AUDITOR == 1) { $query = $this->db->query("SELECT id FROM `" . VIEW_MESSAGES . "` WHERE `id` IN ({$q2}) AND ( `fromdomain` IN ({$q}) OR `todomain` IN ({$q}) )", $arr); } else { $query = $this->db->query("SELECT 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) { if (ENABLE_FOLDER_RESTRICTIONS == 1) { if (in_array($q['folder'], $session->get("folders"))) { array_push($result, $q['id']); } } else { array_push($result, $q['id']); } } } return $result; }