用户打开新票证时的osticket电子邮件验证

时间:2017-03-02 04:02:53

标签: php osticket

  

osticket 版本1.10中,我希望在电子邮件输入字段中应用验证规则,以便仅具有来自特定域的电子邮件ID的用户可以打开新票证或申请注册,即电子邮件地址始终应该看起来喜欢id@specificdomain.com。但我试图编辑 includes / class.validator.php 中的 is_email()函数,如下所示

static function is_email($email, $list=false, $verify=false){
        $domains = array('specificdomain.com');
        $pattern = "/^[a-z0-9._%+-]+@([a-z0-9.-]+.)*(" . implode('|', $domains) . ")$/i"; 
        if (!preg_match($pattern, $email)) {
            return false;
        }

    }
  

但没用。在这方面,任何人都可以帮助我。

2 个答案:

答案 0 :(得分:1)

请尝试此模式/(\W|^)[\w.+\-]*@specificdomain\.com(\W|$)/

     static function is_email($email, $list=false, $verify=false){        
        $domains = 'specificdomain.com';
        $pattern = "/(\W|^)[\w.+\-]*".$domains."(\W|$)/"; 
          if (!preg_match($pattern, $email)) {
            return FALSE;               
          }else{
            return TRUE;
          }

      }

答案 1 :(得分:0)

您可以为每个域创建一个组织。继续用户 - >组织 - >定义一个,然后点击它的名字 - >设置标签 - >定义域

这将允许该域中的所有用户打开呼叫。它们也将作为用户添加到组织页面下。

如果要阻止其他域,则必须转到管理面板,然后设置 - >用户 - >按需要注册,并在注册方法中选择“只有代理可以注册用户”。尽管看起来如果用户是域名的一部分,即使他尚未注册,他也可以打开电话。

有点晚了,但我希望它能帮到你。