Class UsersDB

java.lang.Object
sk.iway.iwcm.users.UsersDB

public class UsersDB extends Object
Databaza registrovanych pouzivatelov
  • Field Details

  • Constructor Details

    • UsersDB

      protected UsersDB()
  • Method Details

    • getDomainIdSqlWhere

      public static String getDomainIdSqlWhere(boolean addAnd)
      Specialna verzia UsersDB.getDomainIdSqlWhere pre USERS tabulku, kde pre NIE CLOUD WJ nerozlisujeme userov podla domen
      Parameters:
      addAnd -
      Returns:
    • fillUserDetails

      public static void fillUserDetails(UserDetails usr, ResultSet rs) throws Exception
      Throws:
      Exception
    • getUsersByGroup

      public static List<UserDetails> getUsersByGroup(int userGroupId)
      Vrati zoznam pouzivatelov v danej skupine
      Parameters:
      userGroupId - - id skupiny, ak je -1 vrati zoznam vsetkych
      Returns:
    • getUsersByGroup

      public static List<UserDetails> getUsersByGroup(String groupName)
      Vrati zoznam pouzivatelov v danej skupine
      Parameters:
      groupName - - nazov skupiny
      Returns:
    • getUsersByName

      public static List<UserDetails> getUsersByName(String startsWith)
      Vrati zoznam vsetkych pouzivatelov zacinajucich retazcom
      Returns:
      zoznam vsetkych userov podla mena
    • getUsersByGroups

      public static List<UserDetails> getUsersByGroups(int[] userGroupIds)
      Ziska zoznam pouzivatelov v zadanych skupinach
      Parameters:
      userGroupIds -
      Returns:
    • getUser

      public static UserDetails getUser(int userId)
      Vrati pozadovaneho usera
      Parameters:
      userId -
      Returns:
    • getUser

      public static UserDetails getUser(String loginName)
      Vrati pouzivatela so zadanym loginName
      Parameters:
      loginName -
      Returns:
    • getUserByEmail

      public static UserDetails getUserByEmail(String email)
      Vrati pouzivatela so zadanym emailom (prveho co najde)
      Parameters:
      email -
      Returns:
    • getUserByEmail

      public static UserDetails getUserByEmail(String email, int cacheInSeconds)
      Vrati pouzivatela so zadanym emailom (prveho co najde)
      Parameters:
      email -
      Returns:
    • getUserIdByEmail

      public static Integer getUserIdByEmail(String email)
      Ziska ID uzivatela z emailu, ak uzivatel s takym emailom neexistuje vrati null
      Parameters:
      email -
      Returns:
    • getUserIdByLogin

      public static Integer getUserIdByLogin(String login)
      Ziska ID uzivatela z loginu, ak uzivatel s takym loginom neexistuje vrati null
      Parameters:
      login -
      Returns:
    • subscribeEmail

      public static int subscribeEmail(UserDetails user, javax.servlet.http.HttpServletRequest request, String emailBody, String emailSenderEmail, String emailSenderName, String emailSubject)
    • unsubscribeEmail

      public static int unsubscribeEmail(UserDetails user, javax.servlet.http.HttpServletRequest request, String emailBody, String emailSenderEmail, String emailSenderName, String emailSubject)
    • authorizeEmail

      public static UserDetails authorizeEmail(javax.servlet.http.HttpServletRequest request, String hash)
    • sendPassword

      @Deprecated public static boolean sendPassword(javax.servlet.http.HttpServletRequest request, String login)
      Deprecated.
      UserChangePasswordService.sendPassword
      Deprecated, use UserChangePasswordService.sendPassword
      Parameters:
      request -
      login -
      Returns:
    • sendPassword

      @Deprecated public static boolean sendPassword(javax.servlet.http.HttpServletRequest request, String login, String emailParams)
      Deprecated.
      UserChangePasswordService.sendPassword
      Deprecated, use UserChangePasswordService.sendPassword
      Parameters:
      request -
      login -
      emailParams -
      Returns:
    • deleteUser

      public static String deleteUser(int userId)
      Vymaze z DB pozadovaneho usera
      Parameters:
      userId -
      Returns:
    • deleteUser

      public static String deleteUser(int userId, String descriptionPrefix)
    • saveUser

      public static boolean saveUser(UserDetails user)
      Ulozenie pouzivatela do DB
      Parameters:
      user -
      Returns:
    • getGenerateAuthorizeHash

      public static String getGenerateAuthorizeHash(int userId)
      Vygeneruje a nastavi do DB authorize_hash
      Parameters:
      userId -
      Returns:
    • checkHast

      public static boolean checkHast(int userId, String hash)
    • checkHash

      public static boolean checkHash(int userId, String hash)
    • getUsers

      public static List<UserDetails> getUsers(SelectionFilter<UserDetails> filter)
    • getUsers

      public static List<UserDetails> getUsers()
      Vrati zoznam vsetkych pouzivatelov v DB
      Returns:
      zoznam vsetkych uzivatelov
    • authorizeUser

      public static void authorizeUser(int userId)
      autorizuje uzivatela
      Parameters:
      userId -
    • getAdmins

      public static List<UserDetails> getAdmins()
      Vrati zoznam vsetkych adminov
      Returns:
      zoznam vsetkych adminov
    • getUserGroupVerify

      public static UserGroupVerify getUserGroupVerify(int userId)
      Returns:
      UserGroupVerify pre usera
    • addUserGroups

      public static void addUserGroups(UserDetails usr, String[] groupsParams)
      Prida zadanemu pouzivatelovi nove user skupiny
      Parameters:
      usr -
      groupsParams -
    • getCurrentUser

      public static Identity getCurrentUser(javax.servlet.http.HttpSession session)
      Ziska objekt aktualne prihlaseneho pouzivatela, alebo null
      Parameters:
      session -
      Returns:
    • getCurrentUser

      public static Identity getCurrentUser(javax.servlet.http.HttpServletRequest request)
      Ziska objekt aktualne prihlaseneho pouzivatela, alebo null
      Parameters:
      request -
      Returns:
    • getCurrentUser

      public static Identity getCurrentUser(net.sourceforge.stripes.action.ActionBeanContext context)
      Ziska objekt aktualne prihlaseneho pouzivatela, alebo null
      Parameters:
      context -
      Returns:
    • getRandomLogin

      public static String getRandomLogin()
      Vrati nahodny 16 znakovy retazec pouzitelny pre vygenerovanie prihlasovacieho mena
      Returns:
    • generateNameLogin

      public static String generateNameLogin(String firstName, String lastName)
      Vytvori login z mena a priezviska. Pre meno: Maros Urbanec Primarne vytvori login ako priezvisko.toLowerCase() - urbanec Ak existuje, skusi pridat prve pismeno z mena - urbanecm Ak existuje, skuska postupne loginy urbanecm1,urbanecm2,... az pokym nenajde cislo, pre ktore login este neexistuje. Vyhodi IllegalArgumentException ak su mu dodane prazdne parametre
    • fillSettingsBean

      public static void fillSettingsBean(SettingsBean settings, ResultSet rs) throws Exception
      Naplni SettingsBean z rs objektu
      Parameters:
      settings -
      rs -
      Throws:
      Exception
    • getSettings

      public static Map<String,SettingsBean> getSettings(int userId, int countDown)
      Vrati nastavenia pouzivatela z tabulky user_settings
      Parameters:
      userId -
      countDown - max pocet rekurzivnych volani pri neuspesnom nacitani settingsov
      Returns:
    • getSettings

      public static Map<String,SettingsBean> getSettings(int userId)
    • filterSettingsByPrefix

      public static List<SettingsBean> filterSettingsByPrefix(String prefix, Map<String,SettingsBean> allSettings)
      Odfiltruje nastavenia podla nejakeho prefixu a usporiada podla nazvov
      Parameters:
      prefix - - mojeOdkazy
      allSettings -
      Returns:
      vrati hodnoty ako mojeOdkazy@1, mojeOdkazy@2.. usporiadane podla cisla za znakom @
    • setSettings

      public static boolean setSettings(int userId, Map<String,SettingsBean> settings)
      Ulozi nastavenie pouzivatela do databazy
      Parameters:
      userId -
      settings -
      Returns:
    • settingsInsertFirst

      public static boolean settingsInsertFirst(Map<String,SettingsBean> settings, String prefix, SettingsBean sb)
      Ak mame indexovane nastavenia, napr. mojeOdkazy, tak prida novu hodnotu na zaciatok zoznamu a vsetky ostatne posunie o 1
      Parameters:
      settings -
      prefix -
      sb -
      Returns:
    • deleteApproveGroup

      public static void deleteApproveGroup(int userId, int groupId)
    • addApproveGroup

      public static void addApproveGroup(int userId, int groupId, int mode)
    • getApproveMode

      public static int getApproveMode(int userId, int groupId)
    • setDisabledItems

      public static void setDisabledItems(Identity user)
      Nastavi pouzivatelovi zakazane polozky/moduly
      Parameters:
      user -
    • loadDisabledItemsFromDB

      public static void loadDisabledItemsFromDB(Identity user)
      Prakticky private metoda pre nahratie dat z DB, je to takto spravene kvoli CloudTools a multiwebu a donahratiu prav
      Parameters:
      user -
    • loadDisabledItemsFromDB

      public static void loadDisabledItemsFromDB(Identity user, boolean alsoGroups)
      Read disabled items for user
      Parameters:
      user -
      alsoGroups - - true to load perms from groups
    • getApproveGroups

      public static List<Number> getApproveGroups(int userId)
    • clearApproveGroups

      public static void clearApproveGroups(int userId)
    • disableItem

      public static void disableItem(int userId, String whichItemToDisable)
    • enableItem

      public static void enableItem(int userId, String whichItemToEnable)
    • addUserToPermissionGroup

      public static void addUserToPermissionGroup(int userId, int permId)
    • deleteUserFromPermissionGroup

      public static void deleteUserFromPermissionGroup(int userId, int permId)
    • isFolderWritable

      public static boolean isFolderWritable(String writableFoldersParam, String folderParam)
    • getUsersByParentId

      public static List<UserDetails> getUsersByParentId(int userId)
      Vrati zoznam userov ktori maju ako parent_id nastavene userId z parametra
      Parameters:
      userId -
      Returns:
      zoznam userov ktorum je userId parent, ak taky nie je tak vrati prazdny list
    • filterUserByGroupName

      public static List<UserDetails> filterUserByGroupName(List<UserDetails> users, String groupName)
      Prefiltruje zoznam pouzivatelov cez meno skupiny
      Parameters:
      users -
      groupName -
      Returns:
      zoznam pouzivatelv ktori patria do danej skupiny
    • getUsersWithoutParent

      public static List<UserDetails> getUsersWithoutParent()
      Vrati zoznam userov ktori maju ako parent_id nastavene 0
      Returns:
      zoznam userov ktorum je 0 parent a maju prava na intranet ak taky nie je tak vrati prazdny list
    • checkUserPerms

      public static boolean checkUserPerms(Identity user, String perms)
      Kontroluje prava pouzivatela na admin cast a moduly, medzi perms je pouzity OR mod, zapisuje sa ako admin|editableGroupsNotEmpty Pozna aj specialne prava admin (kontrola na isAdmin) a editableGroupsNotEmpty (editableGroups nie je prazdne)
      Parameters:
      user -
      perms -
      Returns:
    • getUsersByWhereSql

      public static List<UserDetails> getUsersByWhereSql(String whereSql)
      Ziska zoznam pouzivatelov, ktori splnaju zadane podmienky
      Returns:
    • saveApproveGroups

      public static boolean saveApproveGroups(int userId, Map<String,LabelValueDetails> approveGroups)
      Ulozi schvalovanie pre webove adresare.
      Parameters:
      userId -
      approveGroups -
      Returns:
      true ak sa vsetko podari ulozit
    • saveDisabledItems

      public static boolean saveDisabledItems(int userId, String disabledItems)
      Ulozi zakazane pravomoci do DB
      Parameters:
      userId -
      disabledItems - retazec pravomoci oddeleny Ĩiarkami (bez medzier)
      Returns:
      true ak sa vsetko podari ulozit
    • getUserCached

      public static UserDetails getUserCached(int userId)
    • removeUserFromCache

      public static void removeUserFromCache(int userId)
    • getSalt

      public static String getSalt(int userId)
      Get password_salt for user
      Parameters:
      userId -
      Returns: