FlatPress CMS

logotipo do FlatPress CMS

Seu ponto de partida sobre o FlatPress CMS no idioma português

GitHub deste site

Estrutura do FlatPress CMS

Tecnologias

Basicamente as tecnologias utilizadas no CMS são: arquivos HTML, CSS, JavaScript e PHP.

Para o conteúdo é utilizado o SCEditor

Frameworks e Bibliotecas: Smarty Template Engine, BBCode Parser, jQuery, jQuery UI, SlimBox2 e PhotoSwipe.

Arquivos suportados para upload jpg, jpeg, gif e png


Banco de dados

Abaixo de forma resumida como é estruturado os arquivos da pasta content dentro da fp-content.

	[content]
		|
		|-- [$year] 								<- 2 dígitos para o ID do ano ('05' para 2005)
		|       |
		|       |-- [$month]  						<- dois dígitos para o ID do mês ('01' para Janeiro)
		|               |					    
		|               |-- entryYYMMDD-HHMMSS.txt
		|               |-- [entryYYMMDD-HHMMSS]
		|	                		|
		|							|-- rating.txt		
		|			        		|-- view_counter.txt
		|			        		|-- [comments]
		|			                		|
		|				     	    		|-- commentYYMMDD-HHMMSS.txt
		|
		|-- [static]
		|		|
		|		|-- namepage.txt
		|
		|-- [draft]
		|		|
		|		|-- entryYYMMDD-HHMMSS.txt
		|
		|-- categories.txt		
		|-- categories_enconded.dat

A entrada entryYYMMDD-HHMMSS.txt deve ser única e, portanto, pode ser considerado como o campo ID de uma tabela em um banco de dados.

Para postagem comum, rascunho e página estática o formato padrão de conteúdo do arquivo entry***.txt é separado por uma palavra chave e pelo caractere PIPE '|'. Ao salvar ou pré-visualizar o '|' será convertido para '|'. A posição de um campo dentro de um arquivo não importa. O exemplo abaixo é da página estática About.

SUBJECT|About|CONTENT|Write something about yourself here. ([url=admin.php?p=static&action=write&page=about]Edit me![/url])|DATE|1650311388|VERSION|fp-1.2.1|

  • SUBJECT|About| - A chave SUBJECT informa após o '|' o título dessa página, nesse caso 'About'
    Esta é a única chave obrigatória, as demais abaixo são opcionais
  • CONTENT|Write ...| - Refere-se ao conteúdo até encontrar outro '|'
  • DATE|1650311388| - Data de publicação no formato unix timestamp
    Este campo não será atualizado quando você editar uma página
  • VERSION|fp-1.2.1| - Informa a versão do CMS

Podemos também ter os campos abaixo:

  • AUTHOR|NomeDoAutor| - Quem foi o autor que publicou essa página
  • CATEGORIES|draft,commslock,1,5| - Número de identificação da categoria à qual uma página pertence, rascunho ou quando os comentários são permitidos. Os valores múltiplos são separados por vírgula. Para esse exemplo significa que essa página é um rascunho 'draft', os comentários estão bloqueados 'commslock' e é arquivado nas categorias 1 e 5.

No que tange a comentários "comment***.txt", além dos campos CONTENT, DATE e VERSION são adicionais:

  • NAME|Nome| - O nome de quem comentou
  • EMAIL|visitante@seusite.com.br| - Seu endereço de e-mail (se fornecido)
  • URL|https://sitevisitante.com.br| - Seu endereço da web (se fornecido)
  • IP-ADDRESS|194.117.254.64| - O endereço IP de quem comentou

Organização versão 1.2.1 default

De forma resumida:

admin/ <-- Pasta com arquivos voltados ao painel de administração docs/ <-- Algumas informações de documentação fp-content/ <-- Contém informações do usuário, postagens, imagens dentre outros Ao término da instalação essa pasta fica vazia fp-defaults/ <-- Guarda as informações de configuração padrão fp-includes/ <-- Contém os arquivos do coração do CMS e o Smarty fp-interface/ <-- Contém a camada de apresentação, temas e traduções fp-plugins/ <-- Apresenta os plugins e arquivos de idiomas dos mesmos setup/ <-- Pasta de instalação do FlatPress

De forma completa:

/ <-- Diretório raiz. Arquivos PHP de inicialização do sistema. CHANGELOG.md CONTRIBUTORS.md LICENSE.md README.md setup.php admin.php blog.php comments.php contact.php defaults.php index.php login.php rss.php search.php sitemap.php static.php admin/ admin-inline.tpl index.php main.php main.tpl imgs/ config.png entries.png maintain.png newentry.png plugins.png widgets.png includes/ panels.prototypes.php panels/ admin.defaultpanels.php config/ admin.config.php admin.config.tpl entry/ admin.entry.cats.php admin.entry.cats.tpl admin.entry.commedit.php admin.entry.commedit.tpl admin.entry.commentlist.php admin.entry.commentlist.tpl admin.entry.conf.php admin.entry.delete.php admin.entry.delete.tpl admin.entry.list.php admin.entry.list.tpl admin.entry.php admin.entry.stats.php admin.entry.stats.tpl admin.entry.tpl admin.entry.write.php admin.entry.write.tpl shared.entry.form.php shared.entry.form.tpl main/ admin.main.tpl maintain/ admin.maintain.php admin.maintain.tpl admin.maintain.updates.tpl plugin/ admin.plugin.php admin.plugin.tpl static/ admin.static.delete.php admin.static.delete.tpl admin.static.list.php admin.static.list.tpl admin.static.php admin.static.write.php admin.static.write.tpl themes/ admin.themes.php admin.themes.style.php admin.themes.style.tpl admin.themes.tpl preview-default.png uploader/ admin.uploader.browse.php admin.uploader.browse.tpl admin.uploader.php admin.uploader.thumb.php admin.uploader.tpl widgets/ admin.widgets.default.php admin.widgets.default.tpl admin.widgets.js admin.widgets.php admin.widgets.raw.php admin.widgets.raw.tpl res/ admin.css docs/ README-SmartyValidate spb_db.txt fp-content/ delete.me %%setup.lock <-- Evita nova instalação caso tenha perdido a senha, delete esse arquivo, faça backup da pasta 'fp-content/config/', execute o setup.php e recrie a conta do mesmo modo anterior, após isso restaure a pasta 'fp-content/config/' novamente attachs/ cache/ config/ hashsalt.conf.php plugins.conf.php settings.conf.php widgets.conf.php content/ <-- conteúdo categories.txt categories_encoded.dat drafts/ entry220702-000622.txt static/ about.txt menu.txt 22/ <-- ano em 2 dígitos 06/ <-- mês em 2 dígitos 07/ entry220701-194136.txt <-- arquivo com conteúdo da postagem no formato 'entryANOmesDIA-hora.txt' ou 'entryYYMMDD-HHMMSS.txt' images/ imguploaded.jpg index/ index-0.dat index.strings.dat plugin_commentcenter/ users/ idusuario.php <-- Onde idusuario é o nome de usuário que foi escolhido na instalação fp-defaults/ plugins.conf.php settings-defaults.php widgets.conf.php fp-includes/ core/ core.administration.php core.blogdb.php core.bplustree.class.php core.cache.php core.comment.php core.config.php core.cookie.php core.date.php core.draft.php core.entry.php core.fileio.php core.filesystem.php core.fpdb.class.php core.language.php core.layout.php core.plugins.php core.session.php core.static.php core.system.php core.theme.php core.users.php core.utils.php core.widgets.php core.wp-default-filters.php core.wp-formatting.php core.wp-functions.php core.wp-functions-compat.php core.wp-options.php core.wp-pluggable-funcs.php core.wp-pluggable-funcs_old.php core.wp-plugin-interface.php function.list_categories.php includes.php smarty/ Smarty.class.php Smarty_Compiler.class.php SmartyValidate.class.php Config_File.class.php debug.tpl internals/ plugins/ fp-interface/ <-- Detalhes no link Temas fp-plugins/ <-- Detalhes no link Extensões setup/ index.php main.php imgs/ loading.gif logo-small.gif shade.png tile.png lang/ lang.cs-cz.php ... lang.pt-br.php lib/ main.lib.php step1.lib.php step2.lib.php res/ setup.css tpls/ footer.tpl.php header.tpl.php locked.tpl.php step1.tpl.php step2.tpl.php step3.tpl.php