Beispiel #1
0
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;
    }
}
Beispiel #2
0
 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;
 }