Example #1
0
 /**
  * Returns true if user should be coursecreator.
  *
  * @param mixed $username    username (without system magic quotes)
  * @return mixed result      null if course creators is not configured, boolean otherwise.
  */
 function iscreator($username)
 {
     if (empty($this->config->creators) or empty($this->config->memberattribute)) {
         return null;
     }
     $extusername = core_text::convert($username, 'utf-8', $this->config->ldapencoding);
     $ldapconnection = $this->ldap_connect();
     if ($this->config->memberattribute_isdn) {
         if (!($userid = $this->ldap_find_userdn($ldapconnection, $extusername))) {
             return false;
         }
     } else {
         $userid = $extusername;
     }
     $group_dns = explode(';', $this->config->creators);
     $creator = ldap_isgroupmember($ldapconnection, $userid, $group_dns, $this->config->memberattribute);
     $this->ldap_close();
     return $creator;
 }
Example #2
0
 /**
  * Returns true if user should be coursecreator.
  *
  * @param mixed $username    username (without system magic quotes)
  * @return boolean result
  */
 function iscreator($username)
 {
     if (empty($this->config->host_url) or empty($this->config->attrcreators) && empty($this->config->groupecreators) or empty($this->config->memberattribute)) {
         return false;
     }
     $extusername = core_text::convert($username, 'utf-8', $this->config->ldapencoding);
     // Test for group creator
     if (!empty($this->config->groupecreators)) {
         $ldapconnection = $this->ldap_connect();
         if ($this->config->memberattribute_isdn) {
             if (!($userid = $this->ldap_find_userdn($ldapconnection, $extusername))) {
                 return false;
             }
         } else {
             $userid = $extusername;
         }
         $group_dns = explode(';', $this->config->groupecreators);
         if (ldap_isgroupmember($ldapconnection, $userid, $group_dns, $this->config->memberattribute)) {
             return true;
         }
     }
     // Build filter for attrcreator
     if (!empty($this->config->attrcreators)) {
         $attrs = explode(';', $this->config->attrcreators);
         $filter = '(& (' . $this->config->user_attribute . "={$username})(|";
         foreach ($attrs as $attr) {
             if (strpos($attr, '=')) {
                 $filter .= "({$attr})";
             } else {
                 $filter .= '(' . $this->config->memberattribute . "={$attr})";
             }
         }
         $filter .= '))';
         // Search
         $result = $this->ldap_get_userlist($filter);
         if (count($result) != 0) {
             return true;
         }
     }
     return false;
 }