Giter Club home page Giter Club logo

feindura-flat-file-cms's Introduction

feindura - Flat File Content Management System

Copyright (C) Fabian Vogelsteller [frozeman.de] published under the GNU General Public License version 3

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not,see http://www.gnu.org/licenses/.


AUTHOR

Fabian Vogelsteller http://frozeman.de

STAY IN TOUCH

http://feindura.org http://twitter.com/feindura http://facebook.com/feindura.cms

DESCRIPTION

feindura is lightweight flat file based content management system for webdesigners, written in PHP and ideal for small and medium websites. And it's just beautiful.

BACKEND

The CMS has an easy to use interface with a simple structure, which can be fast understood by the users, even with less technical understanding.

NECESSARY KNOWLEDGE FOR THE IMPLEMENTATION

HTML/CSS and a little bit of PHP

FEATURES

for a full list see: http://feindura.org/page/features/

  • no database required
  • easy to use backend-interface through the use of mootools
  • multi-language backend interface (currently english, german, french, italian and russian)
  • website statistics
  • uses CKEditor
  • no templating, just create your design like you want it and say where to put what (menu, content, etc)
  • upload images and files
  • backup system
  • plugin system (adds additional functionality to pages like contact form and image gallery)
  • add-on system
  • HTML5 ready

FUTURE FEATURES

  • modul system (like search)

REQUIREMENTS

  • PHP >= 5.1 (PHP as FastCGI)
  • apache with mod_rewrite modul if you want to have Pretty URLs like: "domain.com/page/welcome"

APPROPRIATE USES

It's not tested yet, but it should work well on websites with up to 100 vistiors per Minute. Your pages should not exceed more than 2000 pages, because then the flat file system becomes slow.

INSTALLATION

Just copy the feindura folder on your webserver in a folder, like e.g. "/cms/". Impelement the feindura class in your websites index.php and use the feindura class methods to get your websites content from feindura.

IMPLEMENTATION

To implement feindura in you're website copy the /cms/ folder in your website's folder and add the following lines on the beginning of your index.php, before the header is sent, which means before any HTML tag:

#PHP
<?php

include('cms/feindura.include.php');

$feindura = new Feindura();

?>

After this you can refer to the feindura class an it's methods through the $feindura->... instance.

Read http://feindura.org/page/getting-started/. For details and more methods, see the feindura class - documentation http://feindura.org/docs/[Implementation]/Feindura.html.

NOTE

Javascript Frameworks

All javascript frameworks, except Prototype, should work with the frontend editing mode. If Prototype is detected the frontend editing will be automatically blocked .

MooTools

If you want to use the MooTools framework in your website and you have activated the fronend editing mode, you should include the script at the end of your page (before the closing tag) as follow.

<script>window.MooTools || document.write(unescape('<script src="//ajax.googleapis.com/ajax/libs/mootools/1.4.5/mootools-yui-compressed.js"><\/script>'))</script>

feindura-flat-file-cms's People

Contributors

frozeman avatar siteroller avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

feindura-flat-file-cms's Issues

Pagination plugin and disabled cookies in the frontend

Hello, Fabian, I just develop a pagination plugin for Feindura you could take a look at https://github.com/victorgavilan/feindura-flat-file-cms in the plugins folder.

If you like I can do a pull request to include it in the master feindura repository.

Another thing that I would like you take a look is the cookies branch in my fork repository of feindura. There I have added the posibility for the user to disabled the use of sessions and cookies in the front end. This is useful in some european countries where there is not allowed to install cookies without the autorization of the user that visit our site.

If you think it is right and want to include this changes into feindura I could do another pull request to the master or development branch.

not working on hoster one.com

i got a problem.
if i delete the htaccess it works, if i put it back it wont.

so the settings made in the htaccess wont work on the hoster one.com.

What can i do now

XSS is Possible in URL function

Hi,

XSS is possible in URL function that is available here:

public static function url($data, $encode = false, $default = false){

The vector is:
javascript://www.xss.com?%0aalert%281%29

The regular expression you are using happily parse the above vector and attacker can execute JavaScript. The easiest fix would be instead of having a-z and A-Z in regular expression ... It should be something like http or https ...

Strict Standards: Non-static method StatisticFunctions::getCurrentCategoryId() should not be called statically

Hello Developers,
with me is need for assistance and I have installed the latest version of Feindura.

It was a demo site package. I have renamed only the directory "feinduraDemoSite" in "Feindura". Now I have this error in the frontend.

Strict Standards: Non-static method StatisticFunctions::getCurrentCategoryId() should not be called statically, assuming $this from incompatible context in /www/htdocs/xxxxxxxx/feindura/cms/library/classes/FeinduraBase.class.php on line 325

Strict Standards: Non-static method GeneralFunctions::replaceLinks() should not be called statically, assuming $this from incompatible context in /www/htdocs/xxxxxxxxx/feindura/cms/library/classes/FeinduraBase.class.php on line 1150

Strict Standards: Non-static method GeneralFunctions::replaceSnippets() should not be called statically, assuming $this from incompatible context in /www/htdocs/xxxxxxx/feindura/cms/library/classes/FeinduraBase.class.php on line 1151

Who can help. Unfortunately I'm unable to continue.

Thank you in advance.

Disable Captcha on ContactForm

I'd like to see a option to disable the captcha in a contact form. It fails do appear where I installed it, and I don't need it. All others field are pretty easy to enable or disable in the settings. A option for the captcha would be great!

Feindura demo-site CSS broken in small windows

The header of the demo-site has no background color to the right of the window edge.

To reproduce, open the demo-site, resize the browser window to be much smaller than the site and scroll to the right.

I think the attached image makes it all clear.

bug

use mostly ajax in the feindura interface

change the feindura interface to ajax.
when changing things, like set the age status etc, always reload the by ajax, rather then reloading the whole page.

could be done easily?
loading the view, an putting it in the content div.

create a function called: loadContent()?

Reflected cross site scripting found (XSS)

• Fiendura version: 2.0.7
• PHP Version: 5.6.35
• Apache Version: 2.4.33
• Operating system: microsoft windows v10

VULNERABILITY TYPE: cross-site scripting.

Cross-Site Scripting (XSS) attacks are a type of injection, in which malicious scripts are injected into otherwise benign and trusted websites. XSS attacks occur when an attacker uses a web application to send malicious code, generally in the form of a browser side script, to a different end user. Flaws that allow these attacks to succeed are quite widespread and occur anywhere a web application uses input from a user within the output it generates without validating or encoding it.

An attacker can use XSS to send a malicious script to an unsuspecting user. The end user's browser has no way to know that the script should not be trusted, and will execute the script. Because it thinks the script came from a trusted source; the malicious script can access any cookies, session tokens, or other sensitive information retained by the browser and used with that site. These scripts can even rewrite the content of the HTML page.

STEPS TO REPRODUCE:

1: login in Fiendura.
2: Go for creating a new page by clicking on the new page.
3: In the tags parameter, type the malicious javascript /default.aspx#"><img src=x onerror=prompt('0');>
4: The malicious javascript will be reflected in the browser.

PROOF OF CONCEPT:

Vulnerable URL: http://127.0.0.16/index.php?category=0&page=new
Vulnerable parameter: Tags
Malicious script: /default.aspx#"><img src=x onerror=prompt('0');>

1: enter the malicious javascript in the Tags parameter.
new11

2: after entering the payload an XSS prompt will be reflected on the browser.
new12
Submitted: Ritesh Kumar
Reference: https://www.owasp.org/index.php/Crosssite_Scripting_(XSS)

Ugly interface, no labels, too wide

This is how the Feindura demo looks on my Safari / Mac OS X:
Feindura

I cannot see most of the labels (in Web Inspector there are empty <span></span>).
The interface is too wide and doesn't fit in 1024px.
The header is too tall and I have to scroll down to see anything.

Apart from that, it is a very fast CMS. Merry Christmas!

add xml-rpc import

Hi, developer!
Today I first time found your CMS, and fascinated how it looks very cute! Well, documented at user-view from first entrance to your site, fancy admin backend.
Nice work, but looks like this CMS not good for me. Yes, I understand that I need specific feature.
Did you think about remote publishing (xml-rpc) or content import feature?
Today blogging engines (if you decide your CMS need more blogging features) may come with remote publishing (xml-rpc). Windows Live Writer is free tool, many people use it now, especially for fancy image manipulation (shadows etc) and nice MS integration with many things.
Here is screenshot of xml-rpc client I use, in my case it is BlogJet: http://s019.radikal.ru/i638/1203/41/a6b6e0017737.jpg
At top-right you can see in drop-down menu I use few different accounts to post to. It is few different sites with different types of CMS.
Advantage of this technology - you can post more spam to web (not my case) or you can maintain blogs on different sites with different CMS. Not need to remember all the hell from all CMS using, just set-up CMS ones and forget about admin backend for content adding.

I think xml-rpc today really helps to publish content...

editing snippets in browser

I have 2.0.7 installed on MS Server 2003, and all works well...except:
when in the admin panel and I expand the snippets or css divs, and select a file to edit, the page refreshes but nothing else happens and I never have the option to edit the file.
Help?

Thank you for your time and a wonderful product.

Jeremy Spaulding

small plus

Some small functions or adds to optimize feindura...

date timezone get selected wrong

Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. You are required to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Berlin' for 'CET/1.0/no DST' instead in .../cms/library/classes/StatisticFunctions.class.php on line 307

Add Template support

Add the abbility to eg. create a site Stub (maybe within a Category) and than be able to use that in a Page as a Template.

An example :

I have a Page with a Discography. Everytime a new Album is released the Author has to update the Site.

I create a new Site in Category 'Layout Elements' with the Template for a Album entry.
If the Author has to add a new Album he then can select the Template in the editor and change all needed Content.

Any recommendation how to implement that Feature?

Problems with Upgrade

Hi,

I am trying to upgrade to the new version, but i get serveral issues.

  1. Some functions being called should be declared as static in GeneralFunctions.class.php
  2. When I try to upgrade the content the script stops working.
    In XAMPP it is showing the following logs

[Fri Jun 24 15:35:02.431980 2016] [core:notice] [pid 6168:tid 256] AH00094: Command line: 'c:\\xampp\\apache\\bin\\httpd.exe -d C:/xampp/apache' [Fri Jun 24 15:35:02.433980 2016] [mpm_winnt:notice] [pid 6168:tid 256] AH00418: Parent: Created child process 516 [Fri Jun 24 15:35:02.875980 2016] [ssl:warn] [pid 516:tid 268] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name [Fri Jun 24 15:35:03.136980 2016] [ssl:warn] [pid 516:tid 268] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name [Fri Jun 24 15:35:03.262980 2016] [mpm_winnt:notice] [pid 516:tid 268] AH00354: Child: Starting 150 worker threads.

On my WebSpace I can not see any logs, but the script is also interrupted.
Can I call the update manually?

I am updateing from 2.0.4 Build 1025 → 2.0.7 Build 1028

Unicode page names do not work

Hello!
I discovered Feindura only recently, when I was looking for a CMS for my small page. It looks nice and well designed to me, however I found some disadvantages which prevent me from using it for my tasks. I thought it would be useful to report them.
First of all, I want to build a multi-language website with the Russian as a primary language. However, Feindura does not let me choose the 'latin' page name for a page with a name in Russian. I believe, it would be convenient to have an ability to edit a link to the page by hand in such cases (although, the Unicode URLs are allowed nowadays as well, if I'm not mistaking).
The second disadvantage is the flash-based file upload only. It is inconvenient for the users like me, that do not use Flash-plugin. I wrote some of my thoughts about this problem in the 'Ideas' section here: https://getsatisfaction.com/feindura/topics/flash_free_file_upload

Unless these two issues are fixed or I find a way to work-around them, I cannot use Feindura for my web-site. Which is a pity, because I like Feindura look&feel very much!

Regards,
Vladimir

GeneralFunctions::replaceSnippets() breaks content with images

the regexp to replace the <img class="feindura..." also matches img tags without a class attribute.
If my page contains

<p>
some text
<img src="image1.jpg" />
<img src="image2.jpg" />
some more text
</p>
and some more text
<p>
<img class="feindurasnippet" />
</p>
after snippet

the resulting page after replacing the snippet is

<p>
some text
<<content of snippet>>
</p>
after snippet

.htaccess FilterProvider syntax changed in Apache 2.4

While trying out feindura on my local system, I encountered the following error trying to access the admin interface (/cms):

[Wed Jun 12 16:14:50.852913 2013] [core:alert] [pid 6761] [client ::1:39466] /opt/lampp/htdocs/dev/feindura/feinduraDemoSite/cms/.htaccess: FilterProvider takes three arguments, filter-name provider-name match-expression

I'm running Apache/2.4.3 (Unix), and it seems that in version 2.4, the FilterProvider syntax has changed.

The directive is only in use in cms/.htaccess; commenting out the offending lines seems a viable workaround.

$ grep -Rn FilterProvider feinduraDemoSite
feinduraDemoSite/cms/.htaccess:126:  FilterProvider  COMPRESS  DEFLATE resp=Content-Type /text/(html|css|javascript|plain|x(ml|-component))/
feinduraDemoSite/cms/.htaccess:127:  FilterProvider  COMPRESS  DEFLATE resp=Content-Type /application/(javascript|json|xml|x-javascript)/

Ideally, the filters should of course work in new Apache versions, too.

add multi language pages

each page created in feindura should have the option to be multi language, means adding different languages for the content, description and title.

Add search module

have to be done manual, right know using the search class (see /library/classes/search.class.php)

chapta -> captcha

I just saw a typo while browsing the source of a HTML file.

Plugin ContactForm generates class="chapta_..." but I think you meant Captcha?

"Completely Automated Public Turing test to tell Computers and Humans Apart"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.