Skip to content

xm74/Landing-CMS

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Landing CMS

A simple CMS for Landing Pages.

v0.0.4 Be careful! While that is an alpha version.

Hello guys!

I wrote this CMS for myself and want to share it for everyone. Landing CMS is a simple tool for management landing pages. It don't use any databases. All data stores in a plain text files. You need only web-server with PHP 5.2 and early!

For the rapid development of the project, you can make a donation!

Donate


Installation

For using the CMS you should copy all files from this repository to root directory of your site. Now you need config permissions.

For checking configs you can use helper: open https://your_site.com/install.php Installation helper

You should set 777 permissions for upload and DB directories:

  • web/_cms/uploads/tinymce/source/
  • web/_cms/uploads/tinymce/thumbs/
  • cms/_db/

If helper show that all is done you should going to Admin panel: https://your_site.com/cms/

Now you need to create your password. Creating password

All is done! You can create your first Field and use it in your code. Welcome to Landing CMS


How to use

In the Admin panel you can create Fields with 7 formats:

  • String
  • Multiple line text
  • WYSIWYG Field
  • Checkbox
  • Color Picker
  • File Uploader
  • Group of Fields

When you creating a Field you need to enter an Alias. Adding a new Field

Filled Admin panel will look something like this: Filled CMS

Then, when you want to use your Fields in your files you need to connect Controller to your file.

Example:

<?php

// Connecting the public controller
require_once('web/index.php');

?>

<html>
  ...

Text

You can to call your Fields by Alias.

Example:

<html>
  <head>
    <title><?=$get['title'];?></title>
    ...

Demo page

Checkbox

If you want to use checkboxes you need to check the values of equality 'on'.

Example:

<body>

...

  <?php if($get['maintenance_mode'] == 'on'): ?>
    <h1>Try again later</h1>
  <?php else: ?>
    <h1>Hello, World!</h1>
  <?php endif; ?>

...

</body>

Groups

If you created a Group, you can call its specific element.

Example:

<p>
   <?=$get['main_group']['item1'];?>
</p>

You can also iterate through each of the Group's elmenets. (Subgroup or Field).

Example:

<?php foreach($get['main_group'] as $name => $item): ?>
   <ul>
      <li><b><?=$name;?>:</b> <?=$item;?>;</li>
   </ul>
<?php endforeach; ?>

Modules

If you need use any modules you can creat these in modules directory. For using your Fields in your modules you should connect DB before connected this modules.

Example:

<?php

// Connecting the public controller
require_once('web/index.php');

// Connecting a module
require_once('modules/rand_num.php');

?>

  <html>
    <head>

  ...

  <b>Random number module:</b> <?=$rand_num;?>

  ...

That so... In my opinion this functionality enough for all landing pages. If you don't think so you can fork my project or suggest me some features ;)


To do

v 0.0.5:

  • Update vendor dependency injections;
  • Fix Color Picker and File Uploader for IE9;
  • Add Security Key to Responsive File Manager;
  • Add JS-less accessebility for File Uploader;
  • Fix Ghost Bug for Color Picker (sometimes just do not work);
  • Add supporting RGB/RGBA/HEX to Color Picker;
  • Set Transliteration to Responsive File Manager;

v 1.0:

  • Add Admin icon to frontend;
  • Add dictionary array with all texts;
  • Add Plugins support
  • Add Drag'n'Drop for Groups and Fields sorting;

v 2.0

  • Add Pages;

Thanks

About

A simple CMS for landing pages

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 52.2%
  • PHP 29.6%
  • Java 10.1%
  • CSS 3.8%
  • ActionScript 3.3%
  • HTML 1.0%