Code Monkey home page Code Monkey logo

csphere's Introduction

cSphere

Generic PHP Web-CMS with low footprint and high extensibility

The current version is available under the terms of the 'Simplified BSD License'

Website: http://www.csphere.eu

Build Status

Quality Score

Table of contents

  1. Features
  2. Requirements
  3. Installation
  4. Documentation

Features

This Web-CMS can be used for nearly every use case from a blog to a large community driven website with a forum and additional services. It is mainly optimized for fast creation and long-time maintenance of highly dynamic content. Thanks to advanced caching techniques it is able to scale up alot. It includes e.g.:

  • Complete multi language support with English and German shipped already
  • Modern and slim HTML5 interface using jQuery, Bootstrap and FontAwesome
  • Plugins to easily add more functionality
  • Themes to change the design and even override the design of all plugins
  • Flawless underlying framework with high quality and zero external requirements
  • Powerful debug and error functionality for developers
  • Fast development of new plugins with rapid application development tools
  • Full AJAX support for title, content and every sub-content (called box)
  • All you need to start: users, groups, a blog with tags and a contact form

We have over 10 years experience in providing OpenSource Web-CMS with PHP. This project started back in 2003 as a CMS for esport related pages and is now reduced to only contain the lowest possible feature set every website needs.

If you (mainly) need the following functionality you might NOT want to use cSphere:

  • cSphere does NOT and won't ever provide any console tools to tamper with
  • cSphere does NOT provide anything to assist with the creation of rich web APIs
  • cSphere does NOT support any kind of PHP annotations or alike magic behavior
  • cSphere does NOT use old autoloading techniques, it depends on namespaces instead

Requirements

At least PHP 5.4.0 or HHVM 2.4.0 on any webserver (PHP builtin webserver works, too)

The following PHP extensions must be available:

  • date, fileinfo, filter, json, mcrypt, pcre, session, xml

One of the following database servers (with PDO extension in PHP):

  • Microsoft SQL Server 2012+ / Microsoft LocalDB 2012+ (pdo_sqlsrv)
  • MySQL 5.5+ / MariaDB 5.5+ (pdo_mysql)
  • PostgreSQL 9.0+ (pdo_pgsql)
  • SQLite 3.0+ (pdo_sqlite)

Legend: + means that the given version or any newer one will work

Installation

  1. Download a release version or clone the GIT repository

  2. Upload the whole csphere directory and index.php

  3. Look into the webserver directory to grab the corresponding settings file

  4. Change that file to match your environment and upload it to where index.php is located

  5. Grant the csphere/config directory write access so that install can create a config file

  6. Grant the csphere/storage directory and all subdirectories write access on filesystem

  7. Do the following when running it on a self-managed webserver:

  • Start your webserver, e.g. the PHP builtin webserver in tools/server directory

  • Start your database server when not using SQLite, since SQLite is already builtin in PHP

Now open your website and follow the installation instructions

Documentation

For further information look into the docs directory or visit our website

The API documentation can be generated inside the tools/documentor directory

Afterwards the API documentation is available in tools/tmp/api and includes all core classes

For support use our forums on the official website:

If you've found a bug or have a feature request use the Github Issue Tracker:

csphere's People

Contributors

daniel-burke avatar dschalla avatar ebroda avatar fr33z3m4n avatar hajo-p avatar ichraffsnicht avatar sgraewe avatar

Stargazers

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

Watchers

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

csphere's Issues

Mitglieder / Aufgaben eintragen

Es wäre schön, wenn man beim Erstellen und Bearbeiten der Mitglieder,
denen auch eine Aufgabe mit eintragen/reinschreiben könnte.

Diese Aufgabe sollte dann auch in der users_list und users_manage zu sehen sein.

Seiten-Plugin / One 4 All

Ich frage mich gerade, warum man das "Rechtliches"-Plugin nicht wieder entfernt und alles über das "Seiten"-Plugin löst. Wenn das "Seiten"-Plugin so ausgestattet wird, wie es z.Z. das "Statische Seiten"-Modul UND das "Artikel"-Modul in ClanSphere ist, hätte man für alle 3 Module/Plugins (Rechtliches, Seiten, Artikel) lediglich eines. Das würde die Arbeit in allen Bereichen doch erheblich reduzieren.

Wichtig wären nur folgende Funktionen:

  • ABCode
  • HTML
  • WYSIWYG-Editor (auf aktivierbar)
  • Navliste (Datum und Titel)
  • Option: Datum aktuallisieren
  • Option: In Navliste anzeigen
  • Option: Seitenlayout verwenden
  • Katagoriesierbar (Tags-Plugin?)

So könnte man doch jede Seite ganz einfach den eigenen inhaltlichen Bedürfnissen anpassen, ohne mit tausend verschiedenen Plugins arbeiten zu müssen und diese sich ggfls. noch anzupassen.

Language switch

Die Sprache wird nur noch im Content umgestellt, alles was das aktive Theme betrifft, bleibt dauerhaft auf english gestellt. Ein Neuladen der Seite bringt auch keine Änderung.

Database Backup xml creator

Possibility to create database_backup.xml file for selecet plugin. The file has to have structure infos of the table and the content of the table inside. This is needed for plugin backups.

Administration / Intern

Was ich mir noch wünschen würde ist ein interne Administration, so wie man es von ClanSphere noch kennt. Sodass halt die Inhalte- und Systemverwaltung im Content geladen werden.

Hübsche URL's

Die "links_pretty" scheinen auch noch nicht zu funktionieren.
Also bis zum csphere/ klappt es noch. Aber sobald eine Ebene hinzukommt,
wird mir folgendes angezeigt:

Not Found
The requested URL /csphere/blog/list was not found on this server.
Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.

Fehlermeldungen / groups_list

Ich bekomme jedesmal wenn ich die groups_list aufrufe noch folgende 2 Fehlermeldungen:

Meldung: Undefined variable: action
Code: 8
Datei: /var/www/...csphere/core/template/breadcrumb.php
Zeile: 72

0 csphere/core/template/breadcrumb.php 72 csphere\core\init\handlerErrors(8, 'Undefined varia...', '/var/www/client...', 72, Array)
1 csphere/plugins/groups/actions/frontend/view.php 22 csphere\core\template\Breadcrumb->plugin('groups')
2 csphere/core/router/sandbox.php 78 include('/var/www/client...')
3 csphere/core/router/controller.php 89 csphere\core\router\Sandbox::light('/var/www/client...')
4 csphere/core/init/functions.php 200 csphere\core\router\Controller->execute()
5 index.php 27 csphere\core\init\start()
6 {main}


Meldung: Missing argument 2 for csphere\core\template\Breadcrumb::plugin(), called in /var/www.../csphere/plugins/groups/actions/frontend/view.php on line 22 and defined
Code: 2
Datei: /var/www.../csphere/core/template/breadcrumb.php
Zeile: 64

0 csphere/core/template/breadcrumb.php 64 csphere\core\init\handlerErrors(2, 'Missing argumen...', '/var/www/client...', 64, Array)
1 csphere/plugins/groups/actions/frontend/view.php 22 csphere\core\template\Breadcrumb->plugin('groups')
2 csphere/core/router/sandbox.php 78 include('/var/www/client...')
3 csphere/core/router/controller.php 89 csphere\core\router\Sandbox::light('/var/www/client...')
4 csphere/core/init/functions.php 200 csphere\core\router\Controller->execute()
5 index.php 27 csphere\core\init\start()
6 {main}

HTML Zeilenumbruch beim Bearbeiten

Wenn ich z.B. unter Rechtliches die Nutzungsrechte bearbeiten möchte,
so werden mir stets die HTML Zeilenumbrüche angezeigt.
Diese muss ich dann manuell entfernen.

html zeilenumbruch

Seiten-Plugin / HTML

Es wäre nicht schlecht, wenn man in den erstellten Seiten HTML anwenden könnte.
So könnte man z.B. Tabellen o.ä. einfügen.

XML: Empty Values are droped

There is a certain issue where the XML Parser drops empty values, see at:

/csphere/core/translation/fetch.php : 299

I currently wrote a hotfix for it, but I wonder where the values get dropped.

Session Management

I fixed the session management, since the random name generation led to the issue that the installation didn't work at all. I will look into it asap, but it is no issue for development that way.

Global Notification API

Possibility to send notifications to users on new events (like facebook, on new comments, likes, etc.)

Installation mit SQLite Datenbank

Bei der Installation mit SQLIte Datenbank muss nur der Datenbankfilename angeben werden, allerdings wird nicht überprüft ob man ".sqlite" anfügt, sodass dies im Zweifel automatisch angefügt werden kann.

Breadcrump-Navigation

Die Brotkrümelnavigation funktioniert ausschliesslich unter System/... .
Soll das noch geändert werden?
Zumindest im kompletten Admin-Bereich würde das Sinn machen.

Lang / missing or not recognized language files

Error:
Zusätzliche Übersetzung: admin
Fehlende Übersetzungen: Admin

Link:
System/Sprachen/en/Themes/Details


Error:
Der Name muss übersetzt sein: admin
Zusätzliche Übersetzung: Admin
Fehlende Übersetzungen: admin

Link:
System/Sprachen/de/Themes/Details

Default Action Install

The default action of the installation was not selected properly, the passed action to the check class was "null", that way the installation could not be started at all. I made a - temporary? - fix in a way to provide a static link to the list.

Gruppen / Bild hochladen

Als zusätzliche Funktion sollte man für jede Gruppe noch ein Bild hochladen können.
Dieses sollte in der groups_view zu sehen sein.

Die Bildgröße sollte sich unter den Gruppenoptionen auch vordefinieren lassen.

Gaming platform Context feature

Can we have an ability to differentiate between.

User A --> BF4 (PC)
User B --> BF4 (Xbox One)
User C --> BF4 (PS4)

This will allow users to find other users of same platform.

Mitglieder / Icon für Gruppenadmin

Um den oder die Gruppenadmin/s schnell ausfindig machen zu können,
könnte man denen doch vlt ein Icon in der members_manage hinzufügen.

Es könnte ja glyphicon-wrench, glyphicon-star oder Ähnliches genommen werden.

MEMBERS_LIST
Sollte es später mal eine members_list geben, und das hoffe ich,
so könnte man diese Funktion dort auch mit einbauen.

AJAX - Deaktivierung nicht möglich

Wenn man in der config.php $config['view']['links_ajax'] auf 0 stellt, werden alle links unbrauchbar, weil es weiter aktiviert bleibt, der content aber nicht mehr erneuert wird.

Die Links in der navbar etc. werden weiterhin so aufgebaut: /xxx/#default

Database update function

For Plugin updates the database needs method to compare two database.xml files.
If col exists in the first, but not in the second, remove the col.
If col exitsts in the first and in the second do nothing
If col doesnt exists in the first but in the secon add this col
I think thats are all cases.

CHMOD: Check for process owner

I added a check whether the process owner is also the fileowner, otherwise there will be a permanent warning when using chmod. That is fine like implemented or what you say?

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.