Arquivos
- ssckng-album.php
- Implementa a classe TSSAlbum que gera album simples a partir do arquivo contido na pasta. Localização é suportado se o objeto TSSL10n for fornecido
- ssckng-csvlist-reader.php
- Implementa a classe TSSCsvList que gera a list a partido do arquivo CSV ou array. Ele suporta localização se o objeto TSSL10n for fornecido.
- ssckng-csvtable-reader.php
- Implementa a classe TSSCsvTable que gera a tabela a partido do arquivo CSV ou array. Ele suporta localização se o objeto TSSL10n for fornecido
- ssckng-file-sender.ph
- Implementa a classe TSSDownload para enviar arquivos, com o objetivo de implementar o servidor de download. Atenção: Para implementar o servidor de 'download', evite de permitir download de arquivos genericos (por exemplo, permitir download somente dos arquivos que está na lista) para prevenir download dos arquivos protegidos como php ou similar..
- ssckng-html-reader.php
- Implementa a class TSSHtml para ler e mostrar parte do arquivo html delimitado pelo tag desejado.
- ssckng-l10n.php
- Implementa a classe TSSL10n que é um módulo de tradução do string para implementar a funcionalidade de localização
- ssckng-menu.php
- Implementa a classe TSSMenu que cria o elemento de navegação a partir do arquivo json ou 'array'. Ele suporta a localização se o objeto TSSL10n for fornecido./dd>
- ssckng-page-counter
- Providencia a classe de contagem do acesso as páginas TSSPageCounter que pode ser usado para contador próprio das páginas ou de downloads.
- ssckng-page-gerenator.php
- A classe principal TSSPageGenerator que pode ser usado para gerar páginas, usando o arquivo de configuração no formato json. Com ele, poderá converter conjunto de páginas estáticas HTML (ou gerado pelo PHP) facilmente nas páginas com menu de navegação e similar. A parte do corpo da página gerada são divididas em 'header contents', 'navegation contents', 'main contents', 'aside contents', e 'footer contents'. Cada um delas podem ser gerados a partir da parte do HTML e/ou pelo PHP. Menu e seleção dos idiomas (se for usada) serão gerados a partir do arquivo json. Depende do
ssckng-l10n.php
,ssckng-menu.php
, essckng-html-reader.php
.
Estrutura da pagina gerada pelo TSSPageGenerator
O método principal é 'Generate()'
"PREAMBLE"
Prepara o módulo L10n (para localização).
Executa o código de PreamblePhpFile
(arquivo PHP) para propósito de suporte a programação. Por exemplo, ele pode efetuar a verificação de autenticação do usuário, ou carregar arquivo de traduções adicionais não especificados o arquivo de configuração.
<HEAD>
Parte de 'head' do HeadHtmlFile
(arquivo HTML)
Conteúdo (conteúdo de 'head') gerado dinamicamente peloHeaderPhpFile
(arquivo PHP)
Url adicional de CSS do HeaderCssUrl
Titulo do PageTitle
</HEAD>
<BODY>
<HEADER id="HeaderContents">
Parte de 'header' de HeaderContentsHtmlFile
(arquivo HTML)
(Se HeaderContentsHtmlFile
for 'true', pega do arquivo HeadHtmlFile
)
Conteúdo gerado dinamicamente de HeaderContentsPhpFile
(arquivo PHP)
</HEADER>
<NAV id="L10nSelectionContents">
Menu gerado de L10nMenuFile
(arquivo JSON)
Conteúdo gerado dinamicamente (como o menu dinâmico) pelo L10nMenuPhpFile
(arquivo PHP)
Observação: Se L10nLangOptionName
for vazio, ignora este elemento na página.
Observação: Se L10nSelectionOnTop === true
, coloca eles elemento antes do 'HeaderContents'
</NAV>
<NAV id="NavegationContents">
Menu gerado de MenuFile
(arquivo JSON)
Conteúdo gerado dinamicamente (como o menu dinâmico) de MenuPhpFile
(arquivo PHP)
</NAV>
<MAIN id="MainContents">
Parte de 'main' do MainContentsHtmlFile
(arquivo HTML)
Conteúdo gerado dinamicamente de MainContentsPhpFile
(arquivo PHP)
</MAIN>
<ASIDE id="ASideContents">
Parte de 'aside' (primeira ocorrencia) de ASideContentsHtmlFile
(arquivo HTML)
Conteúdo gerado dinamicamente de AsideContentsPhpFile
(arquivo PHP)
</ASIDE>
Observação: Se ASideBeforeMain === true
, coloca este elemento antes de 'MainContents'
<NAV id="BottomNavegationContents">
Menu gerado de BottomMenuFile
(arquivo JSON)
Conteúdo gerado dinamicamente (como o menu dinâmico) pelo BottomMenuPhpFile
(arquivo PHP)
</NAV>
<FOOTER id="FooterContents">
Parte de 'footer' do FooterContentsHtmlFile
(arquivo HTML)
Conteúdo gerado dinamicamente pelo FooterContentsPhpFile
(PHP file)
</FOOTER>
</BODY>
Arquivo de configuração para TSSPageGenerator
O arquivo de configuração é um arquivo JSON com o mesmmo nome do script, que fica na mesma pasta do script.
Variáveis para arquivo de configuração:
Note que, a variável 'Foo' dentro da classe é 'FFoo' (precedido pelo 'F'). Assim, '$this->GetFoo()' toma o valor de '$this->FFoo', que no arquivo de configuração será especificada como 'Foo'. Esta regra se aplica a todas as outras classes.
- ContentsFolder
- Assume que o arquivos json, html e php são armazenado aqui.
- L10nFolder
- Se desejar armazenar arquivos de localização (arquivos de tradução e/ou html traduzidos) na pasta diferente da pasta 'ContentsFolder', configure esta variável.
- HtmlFileExtension
- Extensão padrão para arquivo html
- JsonFileExtension
- Extensão padrão para arquivos json
- PhpFileExtension
- Extensão padrão para arquivos php
- UseHtml4ForInput
- Se for 'true' então 'header contents', 'main contents', 'aside contents', e 'footer contents' são considerados parte do arquivo html dlimitados pelo tag 'body' em vez dos tags correspondentes.
- PreamblePhpFile
- Este arquivo é carregado bem no começo, antes de iniciar a geração da página. Pode ser usado para checar a autenticação do usuário e similar. Note que o módulo de localização 'L10n' já está preparada neste ponto.
- HeadHtmlFile
- Parte de 'head' deste arquivo HTML é usado para gerar 'head' da página.
- HeadPhpFile
- Conteúdo dinâmico gerado pelo este arquivo PHP será inserido no 'head' da página.
- PageTitle
- Se presente, este será o título da página.
- HeadCssUrl
- string (para url do unico arquivo css) ou array de string (url's para múltiplos arquivos css)
- CssUrlPrefix
- Se for true (padrão), assume o valor de FContentsFolder. Se ele não for vazio, o css que não seja de url absoluto, são relativamente ao CssUrlPrefix.
- BodyOptions
- Se não for vazio, passa como opção do tag 'body'
- Title
- Titulo do conteúdo colocado em 'header'. Se o seu valor for true, assume que o título é mesmo de 'PageTitle'
- TitleEnclosure
- Tag para delimitar 'Title', para fins de formatação pelo css.
- TitleOptions
- If not empty, passed to 'TitleEnclosure' tag.
- HeaderContentsOptions
- Se não for vazio, ele será passado como opção do tag 'header'.
- HeaderContentsHtmlFile
- A parte de 'header' deste arquivo HTML será usada como conteúdo de 'header'.
- HeaderContentsPhpFile
- Conteúdo dinâmico gerado pelo este arquivo PHP será inserido no 'header'.
- L10nSelectionContentsOptions
- Se não for vazio, será passado para o tag 'nav' do 'L10nSelection'
- L10nSelectionOnTop
- Se 'true', o menu 'L10nSelection' vem antes do 'header'.
- L10nLangOptionName
- Se não for vazio, ativará o menu de seleção de idiomas ('L10nSelectionContents'). Este nome será usado para passar o código de idioma de uma página para outra pelo método GET. Se for vazio, menu de seleção de idiomas ('L10nSelectionContents') não será gerado.
- L10nMenuToagle
- Se for 'true', gera o código de esconder/mostrar o menu, caso o parâmetro de 'toagle' for especificado no arquivo de menu.
- L10nMenuType
- Tipo de menu: 'ul', 'ol', 'div', ou 'span'
- L10nMenuId
- Id para o tag especificado em 'L10nMenuType', necessário quando 'L10nMenuToagle' for true. Também pode ser usado para formatar L10nSelection menu usando css.
- L10nMenuOptions
- Se não for vazio, será passado para o tag especificado em 'L10nMenuType'.
- L10nCurrentLang
- Id (código do idioma) para módulo de locatlização L10n e menu de seleção. Seu valor será obtido automaticamente da variável passado em URL (método GET), cuja nome é dado em L10nLangOptionName. Se ele estiver ausente, toma o valor do campo do arquivo de configuração, de nome especificado em L10nLangOptionName. Se ambos estiverem ausentes, manterá este valor (Assim, normalmente, não configura este valor manualmente).
- L10nMenuFile
- Arquivo JSON que contém especificação do menu 'L10NSelection'
- L10nMenuPhpFile
- O conteúdo gerado dinamicamente pelo este arquivo PHP será incluido dentro do 'nav' correspondente ao menu 'L10nSelection'.
- NavegationContentsOptions
- Se não for vazio, será passado para tag 'nav' do menu de nvaegação.
- MenuToagle
- Se for 'true', gerá o código de esconder/mostrar o menu, caso o parãmetro de 'toagle' for especificado no arquivo de menu.
- MenuType
- Tipo de menu: 'ul', 'ol', 'div', ou 'span'
- MenuId
- Id para o tag especificado em 'MenuType', necessário quando 'MenuToagle' for true. Também pode ser usado para formatar menu de navegação usando css.
- MenuOptions
- Se não for vazio, será passado para tag especificado em 'MenuType'.
- SubMenuOptions
- Se não for vazio, será passado ao tag specificado em 'MenuType' para sub menus.
- MenuDisabledItem
- item, ou list de itens (se tiver sub menu), que desativa do menu.
- MenuFile
- Arquivo JSON que contém a especificação do menude navegação.
- MenuPhpFile
- Conteúdo dinâmico gerado pelo este arquivo PHP será incluido dentro de 'nav' correspondente ao menu de navegação.
- MainContentsOptions
- Se não for vazio, será passado para o tag 'main'.
- MainContentsHtmlFile
- O conteúdo delimitado pelo tag 'main' deste arquivo HTML será usada para 'MainContents' da página.
- MainContentsPhpFile
- O conteúdo gerado dinamicamente pelo este aruivo PHP será inserido dentro do 'MainContents'.
- ASideBeforeMain
- Se for 'true', coloca o 'ASideContents' antes do 'MainContents'.
- ASideContentsOptions
- Se não for vazio, será passado para o tag 'aside'.
- ASideContentsHtmlFile
- A parte delimitada pela primeira ocorrência do tag 'aside', deste arquivo HTMLserá usada para 'ASideContents'.
- ASideContentsPhpFile
- O conteúdo dinâico gerado pelo este arquivo pho será inserido dentro do 'ASideContens'.
- BottomNavegationContentsOptions
- Se não for vazio, será passado para o tag 'nav' do menu 'BottomNavegation'
- BottomMenuToagle
- Se for 'true', gerará o código de esconder/mostrar o 'Bottommenu', caso os parãmetros de 'toagle' for especificado no arquivo de menu.
- BottomMenuType
- Tipo do menu: 'ul', 'ol', 'div', ou 'span'
- BottomMenuId
- Id para o tag especificado em 'BottomMenuType', necessário quando 'BottomMenuToagle' for true. Também pode ser usado para formatar bottom menu usando css.
- BottomMenuOptions
- Se não for vazio, será passado para o tag especificado em 'BottomMenuType'
- BottomSubMenuOptions
- Se não for vazio, será passado ao tag specificado em 'BottomMenuType' para sub menus.
- BottomMenuDisabledItem
- item, ou list de itens (caso de sub menu), que será desabilitada do 'BottomMenu'
- BottomMenuFile
- O arquivo JSON que contém a especificação do 'BottomMenu'.
- BottomMenuPhpFile
- O conteúdo gerado dinamicamente deste arquivo php será incluido dentro do tag 'nav' correspondente ao 'BottomMenu'.
- FooterContentsOptions
- Se não for vazio, será passado para tag 'footer'.
- FooterContentsHtmlFile
- O conteúdo delimitado pela primeira ocorrencia do tag 'footer' deste arquivo HTML será usado para 'FooterContents' da página.
- FooterContentsPhpFile
- O conteúdo dinâmico gerado por este arquivo php será inserido dentro do 'FooterContents'.
- L10nFile
- Arquivo de localização (tradução), ou lista de arquivos de localizações principais. Note que, após estes arquivos, será efetuado uma busca pelo arquivo com mesmo nome do 'script' com extensão json e adiciona sobre este. Se necessário,
$this->FL10n
é a classe de localização que pode ser usada dentro do arquivo php.
Algumas observações sobre TSSCKPageGenerator
- Nome dos parametros não distingue maiúsculo/minusculo (mas, em ph, os campos e variáveis são sensíveis a maiusculo/minusculo). Se quer pegar todos os parametros (variaveis listados anteriormente) como array associativa, use o
$this->GetParam()
. Note que as chaves usados para acessar elementos de array em php distingue o maiusculo e minusculo. - os parâmetros carregados do arquivo (ou recebido como array) que não corresponde aos campos (listados anteriormente), são armazenadona no 'array' 'Options' que pode ser verificados os seus valores pelo método
$this->GetOption(
. O nome das optições não distingue maiúscuo/minusculo. Se que obter todos os valores como um 'array' associado, use) $this->GetOptions()
. Note que a chave para acessar elementos de array em php distingue o maiusculo/minusculo. - Os arquivos php serão executados dentro do método de TSSCKPageGenerator. Assim, todas as funções (incluindo os privados) e campos tornam acessíveis (tome cuidado adicional por conta disso).
- O método
str()
efetua a chamada deFL10n->str()
para traduzir um string para o idioma designada. O arquivo HTML traduzido é assumido que está na subpasta pasta <lang code> dentro do 'ContentsFolder'. Por exemplo, se 'ContentsFolder' for 'main' e o arquivo html do conteúdo principal for 'contents.html', com a opão de idioma 'pt', procurará o 'contents.html' dentro de 'main/pt'. Se não for encontrado, procurará em 'main' para contornar a falha. No caso de arquivo de traduções, procurará dentro de 'L10nFolder' (se ele for 'true', assume que será 'ContentsFolder') usando a mesma lógica. Se 'L10nFolder' for 'main', 'L10nFile' é 'translation.json', e 'lang code' é 'pt', efetuará a busca 'translation.json' dentro de 'main/pt'. Se não for encontrado, procurará em 'main' para contornar a falha. Após ler arquivos especificados em 'L10nFile', carrega o arquivo json de mesmo nome do script (a pasta de busca feito de mesma forma que 'L10nFile') para tradução. Para o arquivo PHP, será assumido que a tradução já é efetuada pelo '$this->str()' e consequentemente, buscará somente dentro de 'ContentsFolder'. - Note que, se definir uma função dentro do arquivo php a ser incluído, ele torna uma função genérica é não um método da classe. Assim, campos e funções ficam indisponíveis para esta nova função definida.
Se precisar de módulo 'L10n' para esta função, passe o
$this->FL10n
como parâmetro da função definida. - Para fixar um idioma no sistema multi lingue, sem criar menu de seleção de idiomas, coloque L10nLangOptionName como vazio e L10nCurrentLang como código de idioma desejada.
Outros módulos
Os módulos que podem ser usados com ou sem SSCKPageGenerator.TSSAlbum
Esta classe pode ser usado para gerar automaticamente um album de imagem;video a partir de conteúdo de uma pasta. O método principal é 'Generate()', que aceita o argumento opcional qque é o título. Para imagem;video dentro da subpasta, o nome do subpasta será usado para título do conjunto. Se 'L10n' for especificado, aplica o 'FL10n->str()' para efetuar a localização. Para gerar as miniaturas para conteúdos do album na plataforma linux, use o 'mkthumb.sh' da pasta 'tool'.Variáveis
- Folder
- A pasta raiz que contém imagem/video. O método 'Generate()' busca nesta pasta e nas suas subpastas.
- Options
- Caso não for vazio, será usado como opção para tag título do album que é '<h3>'
- AlbumEnclosureTag
- Se não for vazio, usa para delimitar o album e sub albuns (bloco dentro das subpastas)
- AlbumOptions
- Optição para o tag especificado em AlbumEnclosureTag para album inteiro.
- SubAlbumOptions
- Optioções para tag especificado em AlbumEnclosureTag para sub albuns (bloco dentro das subpastas).
- ImageExtensions
- Lista de extensões das imagens admitidas.
- MovieExtensions
- Lista de extensões admitidos para videos.
- ImageOptions
- Se não for vazio, será uado como opção do tag '<img>' para miniatura de imagens.
- MovieOptions
- Caso não for vazio, será usado como opção para o tag '$lt;img>' para miniatura de videos.
- ImageUrlOptions
- Caso não for vazio, será usado como optição para o tag '<a>' que tem o destino como imagem
- MovieUrlOptions
- Caso não vazio, será usado como opção para o tag '$lt;a>' que tem o destino como video.
- MovieAfterThumbOptions
- Opção para o tag 'span' que sucede o tag 'img' da miniatura de video. permitindo a formatação pelo css (como sobrepor ícone de 'play'.
- ThumbFolder
- Defina caso quer que miniaturas da imagem/video fiquem na pasta raiz diferente da imagem/video do álbum em si. Caso for 'false', usará a mesma pasta raiz que do álbum.
- ThumbSubFolder
- Subpasta para armazenar miniaturas. É recomendado ter o valor no caso de 'ThumbFolder' ser 'false'.
- ThumbPrefix
- Prefixo do nome de miniaturas para diferenciar da imagem/video.
- ThumbPostfix
- Posfixo par anome de miniaturas par adiferenciar do nome da imagem;video.
- ThumbDisplayWidth
- Largura da imagem de miniatura. Recomendado que tenha o valor, principalmente se nem todas imagens tenham a miniatura.
- L10n
- Módulo de localização que tem o método 'str()' para traduzir o string. Se ele não for null, tentará a tradução de titulos do album e titulo de conjuntos.
TSSCsvListReader
Esta classe pode ser usado para gerar lista a partir do arquivo csv pelo método 'Read()' (ou do 'array' fornecido, pelo método 'Print()').
Variáveis
- FileName
- Nome do arquivo CSV para gerar a lista.
- Separator
- Separador de colunas no arquivo csv. Normalmente, vírgula ou ponto e vírgula.
- Enclosure
- Delimitador para elementos de colunas no arquivo csv. Normalmente, aspas.
- TrimmingChars
- Caracteres a serem ignorados no começo do elemento das colunas. Normalmente, sem.
- OnlyEmptyItemsIsEmptyRow
- Caso todos elementos de colunas são strings vazios, assume que é uma linha vazia (que separ auma tabela da outra).
- Type
- Tipo de lista que podem ser 'ul', 'ol', ou 'dl'.
- HeadFragmentEnclosureTag
- Tag usado para delimiar o primeiro fragmento (primeira coluna no arquivo csv) do item (linha do arquivo csv). Normalmente, é 'span'.
- HeadFragmentOptions
- Se não for empty, será usado como opção para tag definido em 'FirstFragmentEnclosureTag' (se for do tipo 'dl', será opção de 'dt').
- TailFragmentEnclosureTag
- Tag usado para delimiar a parte de 'tail' (exceto o primeiro fragmento -- primeira coluna no arquivo csv) do item. Normalmente, é 'span'.
- TailFragmentOptions
- Se não for empty, será usado como opção para tag definido em 'FirstFragmentEnclosureTag' (se for do tipo 'dl', será opção de 'dd').
- FragmentSeparator
- Inserido entre dois fragmentos (colunas no arquivo csv) na parte de tail. Se HeadFragmentEnclosureTag foor empty, será usado também entre primeiro e segundo fragmento. Normalmente, é espaço.
- Link
- Se true, a (2i+1)-ésima coluna no arquivo csv (se não for vazio), será usado coo URL do fragmento de (2i)-ésima coluna do arquivo csv.
- LinkPrefix
- Este string será prefixado em todas url's que não sejam url absoluto, se Link for true.
- NumBlocks
- Número de blocos a serem lidos. É assumido que a linha vazia separa um bloco do outro.
- CommentMark
- Caso não for vazio, toda linha iniciada com este caracter será desconsiderada (comentário). Note que só terá efetito quando este caracter for a primeira da linha. Se for delimitado pelo aspas ou similar, ou precedido de espços ou simlar, não será considerado como linha de ocmentário.
- L10n
- Módulo de localização que implementa o método 'str()' para traduzir o string. Se não for 'null', tentará traduzir o cabeçalho da tabela (assim como o título).
- TranslateFirstFragment
- Tentará traduzir o primeiro fragmento (primeira coluna no arquivo csv) de cada item (linha do arquivo csv).
- TranslateAllFirstFragment
- Se for 'true', tentará traduzir todo fragmento (colunas do arquivo csv) em vez do primeiro fragmento.
TSSCsvTableReader
Esta classe pode ser usado para gerar tabela a partir do arquivo csv pelo método 'Read()' (ou do 'array' fornecido, pelo método 'Print()').
Variáveis
- FileName
- Nome do arquivo CSV para gerar a tabela.
- Separator
- Separador de colunas. Normalmente, vírgula ou ponto e vírgula.
- Enclosure
- Delimitador para elementos de colunas. Normalmente, aspas.
- RowSeparator
- Separador de linhas. Normalmente, caractere de nova linha.
- TrimmingChars
- Caracteres a serem ignorados no começo do elemento das colunas. Normalmente, sem.
- OnlyEmptyItemsIsEmptyRow
- Caso todos elementos de colunas são strings vazios, assume que é uma linha vazia (que separ auma tabela da outra).
- ContentsOnly
- Se for 'true', lê e gera as linhas da tabela sem o tag 'table' e 'tbody'. Se linha de cabeçalho ou rodapé estiverem presentes, ignora na leitura (Na impressão de array pelo Print, se tiver linha de cabeçalho ou de rodapé, ignora). Útil para complementar a tabela já existente.
- SkipHeadRow
- Caso for 'true', pula a leitura da linha de cabeçãlho da tabela (a primeira linha da tabela).
- FootRow
- Se for 'true', assume que última linha da tabela é linha de rodapé.
- SkipFootRow
- Se for 'true', pula a leitura de leitura de rodapé da tabela (a última linha).
- NumBlocks
- Número de blocos a serem lidos. É assumido que a linha vazia separa um bloco do outro.
- CommentMark
- Caso não for vazio, toda linha iniciada com este caractere será desconsiderada (comentário). Note que só terá efetito quando este caracter for a primeira da linha. Se for delimitado pelo aspas ou similar, ou precedido de espços ou simlar, não será considerado como linha de ocmentário.
- Caption
- Caso não for vazio, será usado como título de tabela.
- L10n
- Módulo de localização que implementa o método 'str()' para traduzir o string. Se não for 'null', tentará traduzir o cabeçalho da tabela (assim como o título).
- TranslateFirstColumn
- Tentará traduzir a primeira coluna de rodapé (última linha) da tebela.
- TranslateAllFirstColumn
- Se for 'true', tentará traduzir a primeira coluna de todas linhas em vez de somente da linha de rodapé (última linha).
TSSFileSender
Esta classe oferece os métodos para implementar o servidor de 'download'. O método principal é o 'Send()', mas o cabeçalho e o arquivo em si podem ser enviados separadamente pelos métodos 'SendHead()' e 'SendFile()' respectivalemnte. Tome cuidado ao implementar o servidor de download para não permitir o download de arquivos sensíveis como php e similares. Para isso, filtre os arquivos (por exemplo, permitir o download somente de arquivos especificados na lista especificada).
Variáveis
- BufferSize
- Tamanho de blocos a ser lido por vez.
- DefaultCType
- 'ctype' assumido como padrão quando não consegue identificar pelq extensão do arquivo.
TSSHtmlReader
Esta classe oferece o método para ler a parte do arquivo htmldelimitado pelo tag escolhido. Cada parte delimitado pelo tag escolhido será considerado um bloco. ele suporta tag's aninhados (como listas dentro de lista, ou 'span' dentro de 'span', etc). O métod principal é 'Read()'.
Variáveis
- FileName
- Nome do arquivo de entrada (arquivo HTML)
- KeepCommment
- Se for 'true', re o comentário também (se 'false', desconsidera o comentário).
- ContentsOnly
- Se 'false', lê tag+(opçao de tag) também.
- NumBlocks
- Número de clocos a ser lidos.
TSSL10n
Esta classe fornece método para tradução de string para implementar a localização. A tradução é lido do arquivo json. Use 'SetFromFile()'/'AddFromFile()' para ler tradução do arquivo, e use 'str()' para traduzir string. O 'PreferedLang()' pode ser útil para detectar o idioma preferida do lado do cliente (browser).
Variáveis
- AppName
- Nome do aplicativo
- AppVersion
- Versão do aplicativo
- LangName
- Nome do idioma destino da tradução.
- LangCode
- Código do idioma de destino da tradução.
TSSMenu
Esta classe fornece métodos para gerar menu a partir do arquivo json usando 'AddFromFile() (ou pelo 'array' usando 'Add()'). O método principal para gerar menu é 'Print()'. Se o mudulo 'L10n' for fornecido, traduzirá o menu através dele.
Variáveis
- Id
- Id do menu, necessário caso usar o recurso de esconder/mostrar menu.
- Options
- Caso não for vazio, será passado para tag que delimita o menu.
- SubMenuOptions
- Se não for vazio, será passado para tag que delimita o submenu.
- Toagle
- Se for 'true', processa o elemento de 'toagle' (que esconde/mostra o menu) especificado no arquivo json (ou array). Se 'false', o elemento 'toagle' será ignorado quando gera o menu.
- PrefixTagOptions
- Se não for vazio e menu 'prerfix' for presente no arquivo de menu (ou array), passa como opção para o tag delimitador do prefixo do menu.
- SubMenuPrefixTagOptions
- Se não for vazio e prefixo do submenu estiver presente no arquivo (ou array), passa como opção para o tage delimitador de prefixo do submenu.
- ItemSeparator
- Inserido entre um ítem do outro, do menu, usado para facilitar a leitura do código de saída.
- DisabledItem
- O ítem que será desativada do emnu (ítem atual -- que será mardaco domo 'disabled'). Se ítem for do submenu, precisará passar a sequencia de itens (itens anteriores e item atual) para marcar sucessivamente (os anteriores também serão marcados como 'disabled', mas ítens que forem lista de único elemento em vez de string, será marcado como 'selected' -- e url continuará ativa -- ).
- EnabledItemTagOptions
- Caso não for vazio, será passado como opção para tag do ítem marcado como 'enabled', para permitir formatação pelo css.
- DisabledItemTagOptions
- Caso não vazio, será passado par ao tag de item marcado como 'disabled'.
- SelectedItemTagOptions
- Caso não vazio, será passado para opção do tag do item marcado como 'selected' (Para marcar como 'selected', especifique na lista de 'DisabledItem', como uma lista de único elemento, em vez de string).
- L10n
- Módulo de tradução. Se não for 'null', efetua a tradução do menu usando 'FL10n->str()'.
- UseUrl
- O valor padrão é 'true' que usa o URL para menu. em vez do código javascript.
- UrlParam
- O valor do elemento desta lista na forma 'key'=>'value' será passado como 'key=value' para parâmetro de todo url do menu (pelo método GET)
TSSPageCounter
Esta classe fornece o método para contagem de acesso das páginas usando o arquivo json. Para que funcione, o arquivo json a ser acessada precisará de permissão de escrita eplo servidor web (como o apache). Se o arquivo não estiver presente, precisará da permissão de escrita para criar um). O método principal é 'Step()'.
Variáveis
- File
- Nome do arquvio de contagem json. Ele pode ser passado também como primeiro parãmetro quando cira a classe pelo 'new', mas pode ser alterado posteriormente.
- Id
- Identificador usado no contador dentro do arquivo json. Ele pode ser passado também como primeiro parâmetro de 'Step()', mass também pode configurar este parâmetro chamar o 'Step()' sem parâmetro.
- AutoAdd
- Se for 'true', o contador que não estiver presente no arquivo será criado e receberá o valor 1 quando chamar o Step().
- UnknownId
- Caso o 'Iid' do contador não for especificado, usará este 'Id' para contar o acesso.
Licença
Todos arquivos, exceto fotos e video, são distribuídos em termos de GNU GPL versão 3, ou (se for a sua escolha) qualquer outra versão posterior.https://www.gnu.org/licenses/licenses.pt-br.html