Ticket #417: UserEmailSearch.diff

File UserEmailSearch.diff, 3.7 KB (added by networkfusion, 3 years ago)

Updated Patch to include getUserByUsernameOrEmail

  • wifidog/classes/User.php

     
    172172    } 
    173173 
    174174    /** Instantiate a user object 
     175     * @param $usernameOrEmail The username or the email address of the user 
     176     * @param &$errMsg An error message will be appended to this if the username is not empty, but the user doesn't exist. 
     177     * @return a User object, or null if there was an error 
     178     */ 
     179    public static function getUserByUsernameOrEmail($usernameOrEmail, &$errMsg = null) { 
     180        $db = AbstractDb::getObject(); 
     181        $object = null; 
     182 
     183        $usernameOrEmail_str = $db->escapeString($usernameOrEmail); 
     184        $db->execSqlUniqueRes("SELECT user_id FROM users WHERE username ILike '$usernameOrEmail_str' OR email ILike '$usernameOrEmail_str'", $user_info, false); 
     185 
     186        if ($user_info != null) { 
     187            $object = self::getObject($user_info['user_id']); 
     188        } 
     189        else if (!empty($usernameOrEmail)) { 
     190            $errMsg .= sprintf(_("There is no user with username or email %s"),$usernameOrEmail); 
     191        } 
     192        return $object; 
     193    } 
     194  
     195 
     196   /** Instantiate a user object 
    175197     * @param $url The OpenId url 
    176198     * @return a User object, or null if none matched 
    177199     */ 
     
    812834            )); 
    813835            $userSelector .= InterfaceElements :: generateInputSubmit($add_button_name, $add_button_value); 
    814836        } else { 
    815             $userSelector = _("Username") . ": " . InterfaceElements :: generateInputText("select_user_" . $user_prefix . "_username"); 
     837            $userSelector = _("Search for Username or Email Address") . ": " . InterfaceElements :: generateInputText("select_user_" . $user_prefix . "_username"); 
    816838        } 
    817         $html = "<div class='user_select_user_ui_container'>".$networkSelector . $userSelector . "</div>\n"; 
     839        $html = "<div class='user_select_user_ui_container'>".$networkSelector . "<br>" . $userSelector . "</div>\n"; 
    818840        return $html; 
    819841    } 
    820842 
     
    830852            $name = "select_user_{$user_prefix}_username"; 
    831853            if (!empty ($_REQUEST[$name])) { 
    832854                $username = $_REQUEST[$name]; 
    833                 return self :: getUserByUsernameAndOrigin($username, $network, $errMsg); 
     855                return self :: getUserByUsernameOrEmail($username, $errMsg); 
    834856            } else 
    835857            return null; 
    836858        } catch (Exception $e) { 
     
    864886            $title = _("Username"); 
    865887            $name = "user_" . $this->getId() . "_username"; 
    866888            $content = "<input type='text' name='$name' value='" . htmlentities($this->getUsername()) . "' size=30><br/>\n"; 
    867             $content .= _("Be carefull when changing this: it's the username you use to log in!"); 
     889            $content .= _("Be careful when changing this: it's the username you use to log in!"); 
    868890            $userPreferencesItems[] = InterfaceElements::genSectionItem($content, $title); 
    869891 
     892 
     893            /* Email */ 
     894            $title = _("Email"); 
     895            $name = "email_" . $this->getId() . "_email"; 
     896            $content = "<input type='text' name='$name' disabled='disabled' value='" . htmlentities($this->getEmail()) . "' size=30><br/>\n"; 
     897            $content .= _("If you wish to change this address, please Email Support!"); 
     898            $userPreferencesItems[] = InterfaceElements::genSectionItem($content, $title); 
     899 
     900 
     901 
    870902            /* Change password */ 
    871903            $changePasswordItems=array(); 
    872904            if($this == $currentUser) {//Don't enter the old password if changing password for another user 
     
    10981130 * c-basic-offset: 4 
    10991131 * c-hanging-comment-ender-p: nil 
    11001132 * End: 
    1101  */ 
    1102  No newline at end of file 
     1133 */