Class DocDB

java.lang.Object
sk.iway.iwcm.DB
sk.iway.iwcm.doc.DocDB

public class DocDB extends DB
Drzi cacheable udaje z tabulky documents a nacita pozadovany necacheable
  • Field Details

    • ORDER_TITLE

      public static final int ORDER_TITLE
      Description of the Field
      See Also:
    • ORDER_ID

      public static final int ORDER_ID
      Description of the Field
      See Also:
    • ORDER_PRIORITY

      public static final int ORDER_PRIORITY
      Description of the Field
      See Also:
    • ORDER_DATE

      public static final int ORDER_DATE
      Description of the Field
      See Also:
    • ORDER_PLACE

      public static final int ORDER_PLACE
      Description of the Field
      See Also:
    • ORDER_EVENT_DATE

      public static final int ORDER_EVENT_DATE
      See Also:
    • ORDER_SAVE_DATE

      public static final int ORDER_SAVE_DATE
      See Also:
    • ORDER_RATING

      public static final int ORDER_RATING
      See Also:
    • ORDER_PRICE

      public static final int ORDER_PRICE
      See Also:
    • PUBLISH_NEW

      public static final int PUBLISH_NEW
      getDocPerex vrati iba dokumenty, co maju platny zaciatok a koniec
      See Also:
    • PUBLISH_OLD

      public static final int PUBLISH_OLD
      getDocPerex vrati iba dokumenty, co su stare
      See Also:
    • PUBLISH_ALL

      public static final int PUBLISH_ALL
      getDocPerex vrati vsetky dokumenty, bez ohladu na datum publikovania
      See Also:
    • PUBLISH_NEXT

      public static final int PUBLISH_NEXT
      getDocPerex vrati vsetky dokumenty v buducnosti (_NEW vrati iba tie, ktore maju uz platny datum zaciatku)
      See Also:
    • PUBLISH_NO_PEREX_CHECK_NEW

      public static final int PUBLISH_NO_PEREX_CHECK_NEW
      getDocPerex vrati iba dokumenty, co maju platny zaciatok a koniec neberie ohlad na to, ci je zadany text perexu
      See Also:
    • PUBLISH_NO_PEREX_CHECK_OLD

      public static final int PUBLISH_NO_PEREX_CHECK_OLD
      getDocPerex vrati iba dokumenty, co su stare neberie ohlad na to, ci je zadany text perexu
      See Also:
    • PUBLISH_NO_PEREX_CHECK_ALL

      public static final int PUBLISH_NO_PEREX_CHECK_ALL
      getDocPerex vrati vsetky dokumenty, bez ohladu na datum publikovania neberie ohlad na to, ci je zadany text perexu
      See Also:
    • PUBLISH_NO_PEREX_CHECK_NEXT

      public static final int PUBLISH_NO_PEREX_CHECK_NEXT
      getDocPerex vrati vsetky dokumenty v buducnosti (_NEW vrati iba tie, ktore maju uz platny datum zaciatku)
      See Also:
  • Method Details

    • getInstance

      public static DocDB getInstance()
      Zakladna instancia objektu
      Returns:
    • getInstance

      public static DocDB getInstance(boolean forceRefresh)
      Zakladna instancia objektu
      Parameters:
      forceRefresh - - true = refresh instancie
      Returns:
    • getInstance

      @Deprecated public static DocDB getInstance(javax.servlet.ServletContext servletContext2, boolean force_refresh, String serverName)
      Deprecated.
      Gets the instance attribute of the DocDB class
      Parameters:
      servletContext2 - Description of the Parameter
      force_refresh - Description of the Parameter
      serverName - Description of the Parameter
      Returns:
      The instance value
    • canBeShown

      public boolean canBeShown(int docId)
      Vrati ci moze byt dokument zobrazeny
      Parameters:
      docId -
      Returns:
      true/false podla toho ci moze byt dokument zobrazeny podla datumov publikovania
    • canBeShown

      public boolean canBeShown(DocDetails doc)
    • readPagesToPublic

      public void readPagesToPublic()
      nacitanie stranok na publikovanie
    • getVirtualPathDocId

      @Deprecated public int getVirtualPathDocId(String virtualPath)
      Deprecated.
    • getVirtualPathDocId

      public int getVirtualPathDocId(String virtualPath, String domain)
      Ziska docId stranky so zadanym URL a zadanou domenou
      Parameters:
      virtualPath -
      domain -
      Returns:
    • getVirtualPathDocId

      public int getVirtualPathDocId(String virtualPath, gnu.trove.TObjectIntHashMap<String> urlsByUrl)
      Vrati docId pre zadanu virtualnu cestu, alebo -1, ak zadana cesta nie je zadana
      Parameters:
      virtualPath -
      Returns:
    • normalizeVirtualPath

      public static String normalizeVirtualPath(String virtualPath)
      Znormalizuje cestu, napr. odstrani koncove lomitko (napr /produkty/ -> /produkty), prida zaciatocne lomitko (ak nie je)
      Parameters:
      virtualPath -
      Returns:
    • getDoc

      public DocDetails getDoc(int docId)
      Vrati web stranku
      Parameters:
      docId - ID stranky
      Returns:
      The doc value
    • getDoc

      public DocDetails getDoc(int doc_id, int history_id)
      vrati web stranku
      Parameters:
      doc_id - id stranky
      history_id - id historie (doc_id musi byt -1)
      Returns:
      The doc value
    • getDoc

      public DocDetails getDoc(int doc_id, int history_id, boolean useCache)
      Hodnotu useCache=false pouzivame v pripade ked vysledny docDetails modifikujeme ak je totiz nastavena premenna cacheDocDetailsNewerThanDays na true docDetails sa cachuje podobne ak ma nastaveny atribut cache
      Parameters:
      doc_id -
      history_id -
      useCache -
      Returns:
    • getDocByTitle

      public DocDetails getDocByTitle(String title, int groupId)
      Vrati web stranku na zaklade nazvu, ak je zadane groupId tak v danom adresari
      Parameters:
      title -
      groupId -
      Returns:
    • getDocByGroup

      public List<DocDetails> getDocByGroup(int group_id)
      Vrati stranky v zadanom adresari
      Parameters:
      group_id - Description of the Parameter
      Returns:
      The docByGroup value
    • getDocByGroup

      public List<DocDetails> getDocByGroup(int groupId, int orderType, boolean asc, int start, int end, boolean no_data)
      vrati stranky v zadanom adresari
      Parameters:
      groupId - id skupiny
      orderType - sposob usporiadania
      asc - smer usporiadania, ak true vzostupne
      start - poradove cislo zaciatku (strankovanie)
      end - poradove cislo konca (strankovanie)
      no_data - ak je true nevracia sa obsah stlpca data
      Returns:
      List s dokumentami v skupine groupId
    • getDocByGroup

      public List<DocDetails> getDocByGroup(int groupId, int orderType, boolean asc, int start, int end, boolean no_data, boolean onlyAvailable)
      vrati stranky v zadanom adresari
      Parameters:
      groupId - id skupiny
      orderType - sposob usporiadania
      asc - smer usporiadania, ak true vzostupne
      start - poradove cislo zaciatku (strankovanie)
      end - poradove cislo konca (strankovanie)
      no_data - ak je true nevracia sa obsah stlpca data
      onlyAvailable - ak je true vrati len stranky s availabe=1
      Returns:
      List s dokumentami v skupine groupId
    • getDocByDomainId

      public List<DocDetails> getDocByDomainId(int domainId)
      Vrati stranky v zadanom adresari
      Parameters:
      domainId - Description of the Parameter
      Returns:
      The docByDomainId value
    • getDocByDomainId

      public List<DocDetails> getDocByDomainId(int domainId, int orderType, boolean asc, int start, int end, boolean no_data)
      vrati stranky v zadanom adresari
      Parameters:
      domainId - id skupiny
      orderType - sposob usporiadania
      asc - smer usporiadania, ak true vzostupne
      start - poradove cislo zaciatku (strankovanie)
      end - poradove cislo konca (strankovanie)
      no_data - ak je true nevracia sa obsah stlpca data
      Returns:
      List s dokumentami v skupine groupId
    • getDocByUserGroup

      public List<DocDetails> getDocByUserGroup(int userGroupId)
      Vrati stranky pre zadanu userGroupId, pouziva sa pre zistenie dostupnych emailov pre danu emailovu skupinu
      Parameters:
      userGroupId -
      Returns:
    • getDocPerex

      public int getDocPerex(String groupIds, int orderType, boolean asc, int publishType, int pageSize, String arrayListDocName, String arrayListPagerName, javax.servlet.http.HttpServletRequest request, int tempId)
      Pripravi zoznam stranok, co maju perex v adresaroch groupIds a potrebne id sablony, vratane strankovania a handlovania parametrov
      Parameters:
      groupIds -
      orderType -
      asc -
      publishType -
      pageSize -
      arrayListDocName -
      arrayListPagerName -
      request -
      tempId -
      Returns:
    • getDocumentsByIds

      public int getDocumentsByIds(List<Integer> docIds, String arrayListDocName, String arrayListPagerName, javax.servlet.http.HttpServletRequest request)
    • getDocPerex

      public int getDocPerex(String groupIds, int orderType, boolean asc, int publishType, int pageSize, String arrayListDocName, String arrayListPagerName, javax.servlet.http.HttpServletRequest request, SelectionFilter<DocDetails> filter)
      Pripravi zoznam stranok pre news komponentu
      Parameters:
      groupIds - - id adresara
      orderType -
      asc -
      publishType - - typ publikovania (konstanty PUBLISH_)
      pageSize - - velkost stranky
      arrayListDocName - - pod tymto nazvom nastavi do requestu zoznam stranok
      arrayListPagerName - - pod tymto nazvom nastavi do requestu strankovanie
      request -
      filter -
      Returns:
    • getDocPerex

      public int getDocPerex(String groupIds, int orderType, boolean asc, int publishType, int pageSize, String arrayListDocName, String arrayListPagerName, javax.servlet.http.HttpServletRequest request)
      Pripravi zoznam stranok, co maju perex v adresaroch groupIds, vratane strankovania a handlovania parametrov odkazuje na /showdoc.do?docid=?
    • getDocPerex

      public List<DocDetails> getDocPerex(String groupIds, int orderType, boolean asc, int publishType)
      Vrati stranky, ktore maju zadany perex v adresaroch groupIds
    • getDocCountInGroup

      public int getDocCountInGroup(int group_id)
      Vrati pocet dostupnych (available=1) stranok v zadanom adresari
      Parameters:
      group_id - Description of the Parameter
      Returns:
      The docCountInGroup value
    • getBasicDocDetailsAll

      public List<DocDetails> getBasicDocDetailsAll()
    • getBasicDocDetails

      public DocDetails getBasicDocDetails(int docId, boolean doNotReturnNull)
      Vrati docDetails s cache, su tam len zakladne info - docId, title, navbar, externalLink, groupId, virtualPath, available, showInMenu, showInSitemap, showInNavbar, loggedShowIn...
      Parameters:
      docId - - id stranky
      doNotReturnNull - - ak je nastavene na true, tak to vzdy vrati aspon prazdny objekt
      Returns:
    • getBasicDocDetailsByGroup

      public List<DocDetails> getBasicDocDetailsByGroup(int groupId, int orderType)
      Vrati zoznam docDetails z cache (su tam len zakladne info) v zadanom adresari a so zadanym usporiadanim
      Parameters:
      groupId -
      orderType -
      Returns:
    • getDocIdFromURL

      public static int getDocIdFromURL(String url, String domain)
      Ziska docId z URL a domeny
      Parameters:
      url -
      domain -
      Returns:
    • getDomain

      public static String getDomain(javax.servlet.http.HttpServletRequest request)
      Vrati domenu podla request
      Parameters:
      request -
      Returns:
    • getDomain

      public static String getDomain(String serverName, javax.servlet.http.HttpServletRequest request)
      Vrati domenu podla zadaneho nazvu
      Parameters:
      serverName -
      request -
      Returns:
    • getDocIdFromURLImpl

      public int getDocIdFromURLImpl(String url, String domain)
      ziska docId z URL
      Parameters:
      url -
      Returns:
    • getURLFromDocId

      public static String getURLFromDocId(int docId, javax.servlet.http.HttpServletRequest request)
      ziska URL z docId
      Parameters:
      docId -
      request -
      Returns:
    • getGroupDiskPath

      public static String getGroupDiskPath(List<GroupDetails> allGroups, int groupId)
      Vrati cestu k adresaru s odstranenymi nepovolenymi znakmi
      Parameters:
      allGroups -
      groupId -
      Returns:
    • getURL

      public static String getURL(DocDetails doc, GroupsDB groupsDB)
      Ziskanie URL adresy stranky
      Parameters:
      doc -
      groupsDB -
      Returns:
    • getURL

      public static String getURL(DocDetails doc, String groupDiskPath)
      Ziskanie URL adresy web stranky
      Parameters:
      doc -
      groupDiskPath -
      Returns:
    • getURL

      public static String getURL(DocDetails doc, GroupDetails group, String groupDiskPath)
      Ziska URL adresu web stranky
      Parameters:
      doc -
      group -
      groupDiskPath -
      Returns:
    • getDocLink

      public String getDocLink(int docId)
      Vrati linku na dokument
      Parameters:
      docId -
      Returns:
    • getDocLink

      public String getDocLink(int docId, javax.servlet.http.HttpServletRequest request)
    • getDocLink

      public String getDocLink(int docId, String externalLink, javax.servlet.http.HttpServletRequest request)
      Vrati linku na zadane docId
      Parameters:
      docId - - id stranky
      externalLink - - externa linka (ak ma dokument nastavene a vieme urcit)
      request -
      Returns:
    • getDocLink

      public String getDocLink(int docId, String externalLink, boolean alwaysIncludeHttpPrefix, javax.servlet.http.HttpServletRequest request)
      Vrati linku na zadane docId
      Parameters:
      docId - - id stranky
      externalLink - - externa linka (ak ma dokument nastavene a vieme urcit)
      alwaysIncludeHttpPrefix - - ak je nastavene na true vracia sa vzdy aj s HTTP prefixom (napr. pre email...), inak sa http prefix nastavi len pre multidomain ine ako aktualna domena
      request -
      Returns:
    • getDocDomainIfDifferent

      public String getDocDomainIfDifferent(int docId, boolean alwaysIncludeHttpPrefix, javax.servlet.http.HttpServletRequest request)
      Vrati prazdny string ak aktualna domena v requeste je zhodna s domenou stranky docId, inak vrati odkaz http[s]://domenaDanehoDocId.sk
      Parameters:
      docId - - ID stranky
      alwaysIncludeHttpPrefix - - ak je nastavene na true http[s] prefix vrati vzdy
      request -
      Returns:
    • replaceTextAll

      public List<DocDetails> replaceTextAll(String oldText, String newText)
      Replace oldText na newText vo vsetkych strankach
      Parameters:
      oldText -
      newText -
      Returns:
    • getDocsForApprove

      public List<DocDetails> getDocsForApprove(int userId)
      vrati zoznam dokumentov na schvalenie pre daneho pouzivatela
      Parameters:
      userId -
      Returns:
    • deleteDoc

      public static boolean deleteDoc(int docId, javax.servlet.http.HttpServletRequest request)
      Vymazanie stranky z databazy, nemaze to historiu (aby sa dalo dostat aspon k niecomu, ked sa to zmaze omylom) PRE KOREKTNE PRESUNUTIE DO KOSA POUZITE DeleteServlet.deleteDoc
      Parameters:
      docId -
      request - - moze byt aj null
      Returns:
    • deleteDoc

      public static boolean deleteDoc(int docId, javax.servlet.http.HttpServletRequest request, boolean publishEvents)
      Vymazanie stranky z databazy, nemaze to historiu (aby sa dalo dostat aspon k niecomu, ked sa to zmaze omylom) PRE KOREKTNE PRESUNUTIE DO KOSA POUZITE DeleteServlet.deleteDoc
      Parameters:
      docId -
      request -
      publishEvents - - ak je true publikuju sa aj udalosti o zmene
      Returns:
    • getDocDetails

      public static DocDetails getDocDetails(ResultSet rs, boolean noData)
      Naplni DocDetails z ResultSetu, je treba spravit join medzi documents a users
      Parameters:
      rs -
      noData -
      Returns:
    • getDocDetails

      public static DocDetails getDocDetails(ResultSet rs, boolean noData, boolean noAuthor)
      Naplni DocDetails z ResultSetu
      Parameters:
      rs -
      noData - - ak je true nevracia sa data hodnota
      noAuthor - - ak je true nevracia sa autor (SQL nemusi robit JOIN na tabulku users)
      Returns:
    • getDocDetails

      public static void getDocDetails(ResultSet rs, DocDetails doc, boolean noData, boolean noAuthor)
      Naplni DocDetails z ResultSetu
      Parameters:
      rs -
      doc -
      noData - - ak je true nevracia sa data hodnota
      noAuthor - - ak je true nevracia sa autor (SQL nemusi robit JOIN na tabulku users)
    • getDocBySync

      public DocDetails getDocBySync(int syncId, int groupId, String title, String remoteFullPath, String syncDefaultForGroupId)
      Vrati DocDetails podla adresara a nazvu, alebo ak nenajde/nie je zadane podla syncId
      Parameters:
      syncId - - hodnota docId na remote serveri
      Returns:
    • savePerexGroup

      public boolean savePerexGroup(String groupName)
      Ulozi perex skupinu do DB, ak je vsetko OK, vrati TRUE
      Parameters:
      groupName - - nazov perex skupiny
      Returns:
    • savePerexGroup

      public boolean savePerexGroup(String groupName, int groupId)
      Ulozi perex skupinu do DB alebo vykona update, ak je vsetko OK, vrati TRUE
      Parameters:
      groupName - - nazov perex skupiny
      groupId - - id perex skupiny
      Returns:
    • savePerexGroup

      public boolean savePerexGroup(String groupName, int groupId, String availableGroups, javax.servlet.http.HttpServletRequest request)
      Ulozi perex skupinu do DB alebo vykona update, ak je vsetko OK, vrati TRUE
      Parameters:
      groupName - - nazov perex skupiny
      groupId - - id perex skupiny
      availableGroups - - skupina adresarov, pre ktore je perex skupina platna
      Returns:
      - "1" - ulozilo sa v poriadku, "-1" - nastal problem pri ulozeni do DB, "-2" - zadana group name uz existuje
    • getPerexGroups

      public List<PerexGroupBean> getPerexGroups()
      Vrati List s nazvami perex skupin
      Returns:
    • getPerexGroups

      public List<PerexGroupBean> getPerexGroups(boolean forceRefresh)
      Vrati List s nazvami perex skupin
      Parameters:
      forceRefresh -
      Returns:
    • getPerexGroupByName

      public PerexGroupBean getPerexGroupByName(String name)
    • deletePerexGroup

      public boolean deletePerexGroup(String groups)
      Zmaze zadanu perex skupinu
      Parameters:
      groups - - zoznam perex skupin oddelenych znakom ,
      Returns:
    • getPerexGroup

      public PerexGroupBean getPerexGroup(int groupId, String groupName)
      Vrati perex skupinu, bud sa zada id alebo name, ak su obe, tak sa zoberie id
      Parameters:
      groupId - - ak je -1 zoberiem name
      groupName -
      Returns:
    • convertPerexGroupIdToName

      public String convertPerexGroupIdToName(int perexGroupId)
      Skonvertuje ID skupiny na meno
      Parameters:
      perexGroupId -
      Returns:
    • convertPerexGroupIdsToNames

      public String convertPerexGroupIdsToNames(String[] perexGroupIds)
      Skonvertuje z pola IDecok perex skupin na retazec nazvov
      Parameters:
      perexGroupIds -
      Returns:
    • convertPerexGroupIdsToNames

      public String convertPerexGroupIdsToNames(int[] perexGroupIds)
      Skonvertuje z pola IDecok perex skupin na retazec nazvov
      Parameters:
      perexGroupIds -
      Returns:
    • convertPerexGroupIdToName

      public String convertPerexGroupIdToName(String perexGroupId)
      Skonvertuje ID skupiny na meno (id je ako String)
      Parameters:
      perexGroupId -
      Returns:
    • convertPerexGroupNameToId

      public int convertPerexGroupNameToId(String perexGroupName)
      Skonvertuje nazov skupiny na id
      Parameters:
      perexGroupName - meno skupiny, ktorej chceme ziskat identifikator
      Returns:
      -1 ak sa take meno nenaslo, inak vrati identifikator skupiny
    • getDateTimeCreatedString

      public static String getDateTimeCreatedString(int rootGroupId, boolean time)
      Parameters:
      rootGroupId -
      time -
      Returns:
    • getFieldDistinctValues

      public static List<String> getFieldDistinctValues(String field)
      Vrati zoznam roznych hodnot v danom fielde, pouziva sa na rendering selectu pre hodnoty vo field_X
      Parameters:
      field -
      Returns:
    • getPageNewChangedStatus

      public static int getPageNewChangedStatus(int docId, int minDaysNotChanged, int maxDaysTestChanged)
      Zistenie ci stranku mozeme povazovat za novu, zmenenu alebo nemodifikovanu nova je taka, ktora nema historiu starsiu ako zadany pocet dni zmenena je taka, kde doslo za zadany pocet dni k zmene
      Parameters:
      docId - - id stranky
      minDaysNotChanged - - pocet dni, pocas ktorych nesmelo dojst k zmene
      maxDaysTestChanged - - maximalny pocet dni, ktore sa testuju na zmenu (ak v tomto rozsahu nie je ziadna zmena, je dokument bezo zmeny)
      Returns:
      0=bez zmeny, 1=nova, 2=zmenena
    • getMaxSortPriorityInGroup

      public static int getMaxSortPriorityInGroup(int groupId)
      vrati najvacsiu prioritu so vsetkych dokumentov v skupine
      Parameters:
      groupId -
      Returns:
    • canAccess

      public static boolean canAccess(DocDetails doc, Identity user)
      Otestuje, ci stranka je pristupna aktualne prihlasenemu clovekovi
      Parameters:
      doc -
      user -
      Returns:
    • canAccess

      public static boolean canAccess(DocDetails doc, Identity user, boolean checkGroup)
      Otestuje, ci stranka je pristupna aktualne prihlasenemu clovekovi
      Parameters:
      doc -
      user -
      checkGroup - - ak je nastavene na true, skontroluju sa aj prava nastavene pre adresar
      Returns:
    • canAccess

      public static boolean canAccess(GroupDetails group, Identity user)
      Skontroluje, ci je dostupny adresar aktualne prihlasenemu pouzivatelovi
      Parameters:
      group -
      user -
      Returns:
    • getUrlsByUrlDomains

      protected gnu.trove.TObjectIntHashMap<String> getUrlsByUrlDomains(String domain, boolean createIfNull)
      Ziska urlsByUrl hashtabulku pre zadanu domenu
      Parameters:
      domain -
      Returns:
    • getDocsByTempId

      public static List<DocDetails> getDocsByTempId(int tid)
      Vrati zoznam stranok so zadanou sablonou
      Parameters:
      tid -
      Returns:
    • getAllDocsFromTo

      public static List<DocDetails> getAllDocsFromTo(String dateFrom, String dateTo, Integer authorId)
      vrati vsetky stranky medzi zadanymi datumami a so zadanym authorId
      Parameters:
      dateFrom -
      dateTo -
      Returns:
    • getDomain

      public String getDomain(int docId)
      Vrati domenu pre zadane docId
      Parameters:
      docId -
      Returns:
    • getNotApprovedDocs

      public List<DocDetails> getNotApprovedDocs(int userId)
      Vrati dokumenty pouzivatela, ktore este neboli schvalene
      Returns:
    • getTitleWithPath

      public static String getTitleWithPath(DocDetails doc)
      Nastavi title tak, ze obsahuje aj spatnu cestu k adresarom
      Parameters:
      doc -
      Returns:
    • saveDoc

      public static boolean saveDoc(DocDetails docDetails)
      Ulozi DocDetails do databazy, POZOR: NEVYKONA DocDB.getInstance(true)
      Parameters:
      docDetails -
    • saveDoc

      public static boolean saveDoc(DocDetails docDetails, boolean publishEvents)
      Ulozi DocDetails do databazy, POZOR: NEVYKONA DocDB.getInstance(true)
      Parameters:
      docDetails -
      publishEvents - - ak je true publikuju sa aj udalosti o zmene
      Returns:
    • isGroupAvailable

      public static boolean isGroupAvailable(int[] availableGroups, List<GroupDetails> groups)
    • isGroupAvailable

      public static boolean isGroupAvailable(int[] availableGroups, List<GroupDetails> groups, boolean recursive, Integer actualGropId)
      availableGroups - array of int Ids represent in which groups is perex available groups - list of parent groups of actual selected group in jsTree recursive - True (check if perexGroup is available not only for parent groups but also for child group of selected group in jsTree) actualGropId - if "recursive" if true this MUST by set (its id of selected group in jsTree)
    • getPerexGroups

      public List<PerexGroupBean> getPerexGroups(int groupId)
      Vrati perex groupy dostupne pre zadane groupId, pokial nieje zadane groupId, vrati zoznam skupin, ktore niesu priradene ziadnemu adresaru
      Parameters:
      groupId -
      Returns:
    • getPerexGroups

      public List<PerexGroupBean> getPerexGroups(int groupId, boolean recursive)
      Vrati perex groupy dostupne pre zadane groupId, pokial nieje zadane groupId, vrati zoznam skupin, ktore niesu priradene ziadnemu adresaru
      Parameters:
      groupId -
      Returns:
    • getPerexGroups

      public List<PerexGroupBean> getPerexGroups(int[] groupIds, boolean recursive)
      Returns PerexGroups available in groupIds folder (if not empty)
      Parameters:
      groupIds -
      recursive - - true to recursivelly check subfolders
      Returns:
    • getBlogs

      public static List<DocDetails> getBlogs(int authorId, int filterTopicId, String filterBlogName, Date filterDateFrom, Date filterDateTo)
      Vrati vsetky clanky t.z. webstranky, ktore vytvoril dany pouzivatel a vyfiltruje ich podla zadanych kriterii
      Parameters:
      authorId - autor webstranok, identifikator pouzivatela
      filterTopicId - identifikator rubriky - groupId
      filterBlogName - nazov clanku, pouziva sa LIKE, cize staci len cast nazvu
      filterDateFrom - datum ulozenia od
      filterDateTo - datum ulozenia do
      Returns:
    • getBlogGroupId

      public static int getBlogGroupId()
      Vrati identifikator skupiny Blog
      Returns:
    • updateInternalCaches

      public void updateInternalCaches(int docId)
    • getDocAndAddToCacheIfNot

      public DocDetails getDocAndAddToCacheIfNot(int docId)
      Skontroluje ci dany DocDetails nie je v cache, ak je vrati, ak nie je ziska z DB a prida do cache (pouziva sa primarne z TemplatesDB)
      Parameters:
      docId -
      Returns:
    • updateFileNameField

      public static void updateFileNameField(int rootGroupId)
      novy sposob vyhladavania pouziva povodne prazdny stlpec file_name pre urcenie adresara v ktorom sa ma hladat (namiesto group_id IN (sialene dlhy zoznam ideciek)) tato metoda stlpec naplni hodnotami treba volat po zmene adresara (ak sa presunie, alebo nieco podobne)
      Parameters:
      rootGroupId - - id adresara, alebo -1 pre aktualizaciu vsetkeho
    • getPublicableDocs

      public List<DocBasic> getPublicableDocs()
    • forceRefreshMasterSlaveMappings

      public void forceRefreshMasterSlaveMappings()
    • getSlavesMasterMappings

      public Map<Integer,Integer> getSlavesMasterMappings()
      inicializuje mapu master-slave stranok
      Returns:
    • getMasterMappings

      public Map<Integer,Integer[]> getMasterMappings()
      inicializuje mapu master-all_master_slaves stranok
      Returns:
    • parseDocIdFromDmailUrl

      public static int parseDocIdFromDmailUrl(String url, javax.servlet.http.HttpServletRequest request)
      Parses docid from url string, if any error or string does not contain docid if url does not contain docid, uses getVirtualPathDocId to get docId returns -1
      Parameters:
      url -
      Returns:
      docid or -1
    • updateRootGroupLevelValues

      public static void updateRootGroupLevelValues(int rootGroupId)
      novy sposob vyhladavania pouziva povodne prazdne stlpce root_group_l1, root_group_l2, root_group_l3 co obsahuju pre kazdy adresar (hodnota group_id) ID adresarov na prvej, druhej a tretej urovni, co urychli vyhladavanie news v "getDocPerex" pre adresare na prvych troch urovnich (namiesto group_id IN (sialene dlhy zoznam ideciek)) tato metoda stlpce root_group_l1, root_group_l2, root_group_l3 naplni hodnotami treba volat po zmene adresara (ak sa presunie, alebo nieco podobne)
      Parameters:
      rootGroupId - - id adresara, alebo -1 pre aktualizaciu vsetkeho
    • getRootGroupL

      public static int[] getRootGroupL(int groupId, PreparedStatement ps, int psInd)
      vrati hodnoty pre root_group_l1 - root_group_l3 a pripadne aj nastavi do PreparedStatement
      Parameters:
      groupId -
      ps -
      psInd -
      Returns:
    • udpdatePerexGroupDoc

      public static void udpdatePerexGroupDoc(int docId, String perexGroups)
      aktualizuj hodnoty v perex_group_doc
      Parameters:
      docId -
      perexGroups -
    • getMyPages

      public static List<DocDetails> getMyPages(Identity user)
      Prenesene z GroupsListAction koli kontrole na cloud WJ
      Parameters:
      user -
      Returns:
    • getMyRecentPages

      @Deprecated public static List<DocDetails> getMyRecentPages(int userId, int maxSize)
      Deprecated.
      - pouzite AdminTools.get...
      Vrati zoznam naposledy editovanych stranok podla tabulky documents_history. Vynecha stranky ktorych virtual_path zacina na /files/ co su zaindexovane subory Prenesene z GroupsListAction koli kontrole na cloud WJ
      Parameters:
      userId -
      maxSize -
      Returns:
    • changeGroupTitle

      public static boolean changeGroupTitle(int groupId, int docId, String newTitle)
      Zmeni nazov grupy. Grupa musi mat defaultne DocID > 0 a nesmie to byt v System adresari / internom / s vypnutym zobrazenim
      Parameters:
      groupId - - id grupy ktorej nazov ideme zmenit
      newTitle - - novy nazov grupy
      Returns:
      - true ak vsetko prebehlo v poriadku
    • changeGroupTitle

      public static boolean changeGroupTitle(int groupId, int docId, String newTitle, boolean forceUpdate)
      Zmeni nazov grupy. Grupa musi mat defaultne DocID > 0 a nesmie to byt v System adresari
      Parameters:
      groupId - - id grupy ktorej nazov ideme zmenit
      docId - - id web stranky ktorej zmena nastala
      newTitle - - novy nazov grupy
      forceUpdate - - ak je true, zmeni sa aj nazov interneho/nezobrazovaneho priecinka
      Returns:
    • changeUrlInUrlmap

      protected void changeUrlInUrlmap(String oldUrl, String newUrl)
    • getRecentPages

      @Deprecated public static List<DocDetails> getRecentPages(int size)
      Deprecated.
      - pouzite AdminTools.get...
    • getRecentPages

      @Deprecated public static List<DocDetails> getRecentPages(int size, Identity user)
      Deprecated.
      - pouzite AdminTools.get...
    • getDocByField

      public DocDetails getDocByField(String fieldName, String fieldValue)
    • getDocByField

      public DocDetails getDocByField(String fieldName, String fieldValue, boolean noData)
    • getSubgroups

      public static String getSubgroups(int groupId)
      Vrati zoznam podadresarov oddelenych ciarkou
      Parameters:
      groupId - - id korenoveho adresara
      Returns:
      String - zoznam podadresarov oddelenych ciarkou
    • getItemsWithPrice

      public List<DocDetails> getItemsWithPrice(boolean showOnlyAvailable)
      Vrati zoznam produktov ktore maju zadanu cenu, pouziva sa v eshope v admin_pricelist.jsp
      Parameters:
      showOnlyAvailable -
      Returns:
    • getJsonObject

      public static org.json.JSONObject getJsonObject(DocDetails d, GroupDetails group, javax.servlet.http.HttpServletRequest request)
      Vrati DocDetails ako json object, pouziva sa v ajax_docstable.jsp pre webstranky a novinky
      Parameters:
      d -
      group -
      request -
      Returns:
    • regenerateUrl

      public void regenerateUrl(int rootGroupId, Identity user, javax.servlet.http.HttpServletRequest request)
      vsetkym strankam z adresara na vstupe opatovne vygeneruje Url (virtualPath) zaroven rekurzivne prechadza aj jeho podadresare
      Parameters:
      rootGroupId -
      user -
      request -
    • fixWebpageSortOrder

      public void fixWebpageSortOrder(EditorForm editorForm, int position)
      Upravi poradie stranok v adresari po zmene stranky cez drag/drop, vsetky za touto strankou precisluje
      Parameters:
      editorForm -
      position -
    • getCreateDoc

      public DocDetails getCreateDoc(String path)
      Vrati/vytvori stranku podla zadanej cesty, pouziva sa napr. pri importe
      Parameters:
      path - - cesta vo formate /adresar1/adresar2/meno-stranky
      Returns:
    • getDocumentFields

      public static String getDocumentFields()
      Vrati zoznam SQL stlpcov pre vyber z databazy
      Returns:
    • getDocumentFieldsNodata

      public static String getDocumentFieldsNodata()
      Vrati zoznam SQL stlpcov pre vyber z databazy bez data stlpca (mensi objem dat)
      Returns:
    • getDocumentFields

      public static String getDocumentFields(boolean includeDataField)
      Vrati zoznam SQL stlpcov pre vyber z databazy
      Parameters:
      includeDataField - - ak je true, bude sa vracat aj stlpec data (je narocnejsie na pamat pri citani dat)
      Returns: