Skip to content
This repository has been archived by the owner on May 4, 2018. It is now read-only.

Commit

Permalink
Pompodium 2.0
Browse files Browse the repository at this point in the history
  • Loading branch information
nilshoerrmann committed Aug 14, 2013
0 parents commit b41abd6
Show file tree
Hide file tree
Showing 217 changed files with 51,225 additions and 0 deletions.
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.htaccess
manifest/
install-log.txt
install/logs/
42 changes: 42 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
[submodule "extensions/export_ensemble"]
path = extensions/export_ensemble
url = git://github.com/symphonycms/export_ensemble.git
[submodule "extensions/markdown"]
path = extensions/markdown
url = git://github.com/symphonycms/markdown.git
[submodule "extensions/maintenance_mode"]
path = extensions/maintenance_mode
url = git://github.com/symphonycms/maintenance_mode.git
[submodule "extensions/selectbox_link_field"]
path = extensions/selectbox_link_field
url = git://github.com/symphonycms/selectbox_link_field.git
[submodule "extensions/jit_image_manipulation"]
path = extensions/jit_image_manipulation
url = git://github.com/symphonycms/jit_image_manipulation.git
[submodule "extensions/profiledevkit"]
path = extensions/profiledevkit
url = git://github.com/symphonycms/profiledevkit.git
[submodule "extensions/debugdevkit"]
path = extensions/debugdevkit
url = git://github.com/symphonycms/debugdevkit.git
[submodule "extensions/xssfilter"]
path = extensions/xssfilter
url = git://github.com/symphonycms/xssfilter.git
[submodule "workspace/utilities/kit"]
path = workspace/utilities/kit
url = git://github.com/hananils/kit.git
[submodule "extensions/datetime"]
path = extensions/datetime
url = git://github.com/hananils/datetime.git
[submodule "extensions/html5_doctype"]
path = extensions/html5_doctype
url = git://github.com/symphonists/html5_doctype.git
[submodule "extensions/output_field"]
path = extensions/output_field
url = git://github.com/hananils/output_field.git
[submodule "extensions/pagesfield"]
path = extensions/pagesfield
url = git://github.com/symphonists/pagesfield.git
[submodule "extensions/documenter"]
path = extensions/documenter
url = git://github.com/symphonists/documenter.git
19 changes: 19 additions & 0 deletions LICENCE
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
Copyright 2008-2013 Alistair Kearney, Allen Chang, Scott Hughes

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
201 changes: 201 additions & 0 deletions README.markdown
Original file line number Diff line number Diff line change
@@ -0,0 +1,201 @@
# Welcome, this is Pompodium

Six years ago, we set out to create a magazine. What started as an idea to create a platform for photos and articles on typography and design, travel and life finally found it’s destination: this is Pompodium, an ensemble for Symphony.

After months spent thinking, talking, brainstorming, scribbling, designing, pushing pixels, writing code, being overtaken with new ideas and starting all over again for about three times, the nearly finished website sat untouched for one year. Patiently awaiting its future destiny, the mention of the first Symposium 2010 in London finally caused an epiphany to release Pompodium as a magazine-style ensemble for this occasion. Hooray!

Today, three years after its first release, we finally updated Pompodium to the latest Symphony version, everything is freshened up and ready to play: we simplified the backend structure, made the layout adapt to the screen responsively and made use of modern technology. Using SVG images where needed and webfonts all over, this ensemble is ready for retina displays as well.

[Pompodium is available on Github](http://github.com/hananils/pompodium) and can be evaluated freely. If you'd like to use it in production, for a client or for yourself, you'll have to [buy a licence](http://pompodium.de/licence/). So grab your copy and have fun with it!

# Symphony 2

- Version: 2.3.3
- Date: 12th July 2013
- Release Notes: <http://getsymphony.com/download/releases/version/2.3.3/>
- Github Repository: <http://github.com/symphonycms/symphony-2/tree/2.3.3>



## Contents

* [Overview](#overview)
* [Server requirements](#server-requirements)
* [Installing](#installing)
* [Via Git](#via-git)
* [Via the old-fashioned way](#via-the-old-fashioned-way)
* [File permissions](#file-permissions)
* [Updating from an older version](#updating-from-an-older-version)
* [Version-specific notes](#version-specific-notes)
* [Updating via Git](#updating-via-git)
* [Updating via the old-fashioned way](#updating-via-the-old-fashioned-way)


## Overview

Symphony is a `PHP` & `MySQL` based CMS that utilises `XML` and `XSLT` as its core technologies. This repository represents version `2.3.3` and is considered stable.

Visit [the Symphony website](http://getsymphony.com/), [the forum](http://getsymphony.com/discuss/) or learn how you can [contribute to Symphony](https://github.com/symphonycms/symphony-2/wiki/Contributing-to-Symphony).

## Server requirements

- PHP 5.2 or above (PHP 5.3 recommended)
- PHP’s LibXML module, with the XSLT extension enabled (`--with-xsl`)
- MySQL 5.0 or above
- A webserver (known to be used with Apache, Litespeed, Nginx and Hiawatha)
- Apache’s `mod_rewrite` module or equivalent
- PHP’s built in `json` functions, which are enabled by default in PHP 5.2 and above; if they are missing, ensure PHP wasn’t compiled with `--disable-json`

### A note for Windows developers

While Windows is not officially supported for production, we understand many developers use WAMP for Symphony development before deploying to a production server. The Symphony team recommends that while using WAMP, developers use the latest PHP 5.3.x version during development to minimise any potential issues. PHP 5.3 provides numerous fixes and improvements to help minimise and standardise the result of several functions that behave slightly differently depending on the OS.



## Installing

Before installation, see the [notes on file permissions](#file-permissions).

### Via Git

1. Clone the git repository to the location you desire using:

git clone git://github.com/symphonycms/symphony-2.git

The following repositories are included as submodules:

[Markdown](http://github.com/symphonycms/markdown)
[Maintenance Mode](http://github.com/symphonycms/maintenance_mode)
[Select Box Link Field](http://github.com/symphonycms/selectbox_link_field)
[JIT Image Manipulation](http://github.com/symphonycms/jit_image_manipulation)
[Export Ensemble](http://github.com/symphonycms/export_ensemble)
[Debug DevKit](http://github.com/symphonycms/debugdevkit/tree/master)
[Profile DevKit](http://github.com/symphonycms/profiledevkit/tree/master)
[XSS Filter](http://github.com/symphonycms/xssfilter/tree/master)

1. Run the following command to ensure the submodules are cloned:

git submodule update --init --recursive

1. _(Optional)_ If you would like the [default ensemble](http://github.com/symphonycms/workspace/tree) installed as well,
you will need to use the following command from within the Symphony 2 folder you just created:

git clone git://github.com/symphonycms/workspace.git

1. Point your web browser at <http://example.com/install/> and provide
details for establishing a database connection and about your server environment.

1. Chuckle villainously and tap your fingertips together (or pet a cat) as your installation completes.

1. Remove installer files:

`rm -rf install/ workspace/install.sql`

### Via the old-fashioned way

**Note:** You can leave `/workspace` out if you do not want the default theme.

1. This step assumes you downloaded a zip archive from the [Symphony website](http://getsymphony.com). Upload the following files and directories to the root directory of your website:

`index.php`
`/install`
`/symphony`
`/workspace`
`/extensions`

1. Point your web browser at <http://example.com/install/> and provide
details on establishing a database connection and your server environment.

1. Pose like you’re being filmed for a dramatic close-up while your installation completes.

1. Remove installer files:

`rm -rf install/ workspace/install.sql`

### File permissions

1. Symphony’s installer will inform you if it needs write access to files that it doesn’t already have, but you can ensure it has the access it needs by temporarily setting files to world-writeable.

`cd /your/site/root`
`chmod -R 777 .`

1. Once Symphony is successfully installed, you should change file permissions to something tighter for security reasons. Symphony recommends `755` for directories and `644` for files as a good default, but this may need to be changed depending on your server’s users and groups configuration. For example, you may need to change directories and files that Symphony needs to subsequently write to to `775` and `664` respectively.

#### Useful commands

You may find these commands useful when adjusting file and directory permissions.

To recursively chmod directories only:

find /your/site/root -type d -exec chmod 755 {} \;

To recursively chmod files only:

find /your/site/root -type f -exec chmod 644 {} \;



## Updating from an older version

### Version-specific notes

#### Versions prior to 2.3

Symphony `2.3` officially only supports updating from a `2.2.x` release. There are various changes between `2.1` and `2.3` that make this update unlikely to be successful. Symphony `2.3` also enforces that all authors have unique email addresses, so please ensure that this constraint is met before updating.

#### Versions prior to 2.2

Symphony `2.2` introduces numerous improvements that may affect extension compatibility. Before updating, be sure to consult the [extension compatibility table](http://getsymphony.com/download/extensions/compatibility/) to verify that the extensions you’re using have all been updated for Symphony `2.2`.

#### Versions prior to 2.1

As of version `2.1`, Symphony stores passwords using the more secure [SHA1](http://php.net/sha1) algorithm (previous versions used MD5). When updating to `2.1`, the primary user’s login password will be reset (the new password will be displayed by the updater—please note it).

Please also note that all other users’ passwords will no longer be valid and will require a manual reset through Symphony’s forgotten password feature. Alternatively, as an administrator, you can also change your users’ passwords on their behalf.

We are now using [GitHub’s organisations feature](http://github.com/blog/674-introducing-organizations). As a result, all submodules—as well as the main Symphony 2 repo—are forks owned by the [Symphony CMS organisation](http://github.com/symphonycms/).

To fully update your Git-based installation, please edit your `.git/config` and the `.git/config` of each core extension (`debugdevkit`, `profiledevkit`, `markdown`, `maintenance_mode`, `selectbox_link_field`, `jit_image_manipulation` and `export_ensemble`) and change the URL of the remote repo from `symphony` or `pointybeard` to be `symphonycms`.

For example:

[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = git://github.com/pointybeard/markdown.git

Change `git://github.com/pointybeard/markdown.git` to `git://github.com/symphonycms/markdown.git`

#### Versions prior to 2.0.5

Version `2.0.5` introduced multiple includable elements in the Data Source Editor for a single field. After updating from `2.0.5` or lower, the DS editor will seem to “forget” about any `Textarea` fields selected when you are editing existing Data Sources. After updating, you must ensure you re-select them before saving. Note, this will only effect Data Sources that you edit and were created prior to `2.0.5`. Until that point, the field will still be included in any front-end XML.

### Updating via Git

1. Pull from the master branch at `git://github.com/symphonycms/symphony-2.git`

1. Use the following command to bring extensions up to date:

git submodule update --init --recursive

1. If updating from a version older than `2.0.5`, enable the [Debug DevKit](http://github.com/symphonycms/debugdevkit/tree/master) and [Profile DevKit](http://github.com/symphonycms/profiledevkit/tree/master) extensions.

1. Go to `http://example.com/install/` to complete the update process.

1. You and your website are now in the future. Buy yourself a silver jumpsuit.

### Updating via the old-fashioned way

Follow the instructions below if you are updating from Symphony 2.0 (not from Git)

**Note:** As of 2.0.6, there is no longer a need to backup `/symphony/.htaccess`.

1. Upload `/symphony`, `/install` & `index.php`, replacing what is already on your server.

1. If you are updating from a version older than 2.0.5, download and install the Debug DevKit and Profile DevKit:

[Debug DevKit](http://github.com/symphonycms/debugdevkit/tree/master)
[Profile DevKit](http://github.com/symphonycms/profiledevkit/tree/master)

1. Go to `http://example.com/install/` to complete the update process.

1. Call a friend and brag that your copy of Symphony is newer than theirs.
1 change: 1 addition & 0 deletions extensions/datetime
Submodule datetime added at 5fbb16
1 change: 1 addition & 0 deletions extensions/debugdevkit
Submodule debugdevkit added at 3e73f0
1 change: 1 addition & 0 deletions extensions/documenter
Submodule documenter added at 175e7c
1 change: 1 addition & 0 deletions extensions/export_ensemble
Submodule export_ensemble added at e23e1f
1 change: 1 addition & 0 deletions extensions/html5_doctype
Submodule html5_doctype added at 40ad6d
1 change: 1 addition & 0 deletions extensions/jit_image_manipulation
Submodule jit_image_manipulation added at fb8cc5
1 change: 1 addition & 0 deletions extensions/maintenance_mode
Submodule maintenance_mode added at 94c783
1 change: 1 addition & 0 deletions extensions/markdown
Submodule markdown added at 692b00
1 change: 1 addition & 0 deletions extensions/output_field
Submodule output_field added at f1158f
1 change: 1 addition & 0 deletions extensions/pagesfield
Submodule pagesfield added at 7afcfd
1 change: 1 addition & 0 deletions extensions/profiledevkit
Submodule profiledevkit added at f82076
1 change: 1 addition & 0 deletions extensions/selectbox_link_field
Submodule selectbox_link_field added at 3dde2a
1 change: 1 addition & 0 deletions extensions/xssfilter
Submodule xssfilter added at d6bf6b
Binary file added favicon.ico
Binary file not shown.
28 changes: 28 additions & 0 deletions index.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<?php

define('DOCROOT', rtrim(dirname(__FILE__), '\\/'));
define('PATH_INFO', isset($_SERVER['PATH_INFO']) ? $_SERVER['PATH_INFO'] : NULL);
define('DOMAIN_PATH', dirname(rtrim($_SERVER['PHP_SELF'], PATH_INFO)));
define('DOMAIN', rtrim(rtrim($_SERVER['HTTP_HOST'], '\\/') . DOMAIN_PATH, '\\/'));

require(DOCROOT . '/symphony/lib/boot/bundle.php');

function renderer($mode='frontend'){
if(!in_array($mode, array('frontend', 'administration'))){
throw new Exception('Invalid Symphony Renderer mode specified. Must be either "frontend" or "administration".');
}
require_once(CORE . "/class.{$mode}.php");
return ($mode == 'administration' ? Administration::instance() : Frontend::instance());
}

$renderer = (isset($_GET['mode']) && strtolower($_GET['mode']) == 'administration'
? 'administration'
: 'frontend');

$output = renderer($renderer)->display(getCurrentPage());

cleanup_session_cookies();

echo $output;

exit;
Loading

0 comments on commit b41abd6

Please sign in to comment.