- fixed the installer

- translated some comments from german into english
parent ffb7ad32
......@@ -25,7 +25,7 @@ class Request extends \StdClass
protected $seoModel;
/**
* Die komplette übergebene URL
* Holds the trimmed query
*
* @var string
*/
......@@ -35,7 +35,7 @@ class Request extends \StdClass
*/
public $originalQuery = '';
/**
* Array, welches die URI Parameter enthält
* Holds all given query parameters
*
* @var array
* @access protected
......@@ -59,8 +59,6 @@ class Request extends \StdClass
protected $hostname = '';
/**
* Zerlegt u.a. die übergebenen Parameter in der URI in ihre Bestandteile
*
* @param \ACP3\Core\Modules $modules
* @param \ACP3\Core\Config $config
* @param \ACP3\Modules\Seo\Model $seoModel
......@@ -88,6 +86,8 @@ class Request extends \StdClass
}
/**
* Returns the used protocol of the current request
*
* @return string
*/
public function getProtocol()
......@@ -96,6 +96,8 @@ class Request extends \StdClass
}
/**
* Returns the hostname of the current request
*
* @return string
*/
public function getHostname()
......@@ -105,7 +107,7 @@ class Request extends \StdClass
/**
* Grundlegende Verarbeitung der URI-Query
* Processes the URL of the current request
*/
public function processQuery()
{
......@@ -114,7 +116,7 @@ class Request extends \StdClass
$this->query = $this->originalQuery;
// Definieren, dass man sich im Administrationsbereich befindet
// It's an request for the admin panel page
if (preg_match(self::ADMIN_PANEL_PATTERN, $this->query)) {
$this->area = 'admin';
// strip "acp/"
......@@ -143,6 +145,7 @@ class Request extends \StdClass
protected function _checkForUriAlias()
{
$probableQuery = $this->query;
// Annehmen, dass ein URI Alias mit zusätzlichen Parametern übergeben wurde
if (preg_match('/^([a-z]{1}[a-z\d\-]*\/)+(([a-z\d\-]+)_(.+)\/)+$/', $this->query)) {
$query = preg_split('=/=', $this->query, -1, PREG_SPLIT_NO_EMPTY);
......
......@@ -42,7 +42,7 @@ class Router
}
/**
* Generiert die ACP3 internen Hyperlinks
* Generates the internal ACP3 hyperlinks
*
* @param $path
* @param bool $absolute
......
......@@ -3,6 +3,7 @@ namespace ACP3\Core;
use ACP3\Core\Helpers\Forms;
use ACP3\Core\Router\Aliases;
use ACP3\Modules;
/**
* Class SEO
......@@ -31,32 +32,26 @@ class SEO
*/
protected $config;
/**
* @var \ACP3\Modules\Seo\Cache
* @var Modules\Seo\Cache
*/
protected $seoCache;
/**
* @var \ACP3\Modules\Seo\Model
* @var Modules\Seo\Model
*/
protected $seoModel;
/**
* Gibt die nächste Seite an
*
* @var string
*/
protected $nextPage = '';
/**
* Gibt die vorherige Seite an
*
* @var string
*/
protected $previousPage = '';
/**
* Kanonische URL
*
* @var string
*/
protected $canonical = '';
protected $canonicalUrl = '';
/**
* @var null|array
*/
......@@ -80,9 +75,9 @@ class SEO
Request $request,
Aliases $aliases,
Forms $formsHelper,
\ACP3\Modules\Seo\Cache $seoCache,
Modules\Seo\Cache $seoCache,
Config $config,
\ACP3\Modules\Seo\Model $seoModel)
Modules\Seo\Model $seoModel)
{
$this->lang = $lang;
$this->request = $request;
......@@ -94,7 +89,7 @@ class SEO
}
/**
* Gibt die für die jeweilige Seite gesetzten Metatags zurück
* Returns the meta tags of the current page
*
* @return string
*/
......@@ -106,12 +101,12 @@ class SEO
'robots' => $this->request->area === 'admin' ? 'noindex,nofollow' : $this->getPageRobotsSetting(),
'previous_page' => $this->previousPage,
'next_page' => $this->nextPage,
'canonical' => $this->canonical,
'canonical' => $this->canonicalUrl,
];
}
/**
* Gibt die Beschreibung der aktuell angezeigten Seite zurück
* Returns the SEO description of the current page
*
* @return string
*/
......@@ -137,7 +132,7 @@ class SEO
}
/**
* Gibt die Beschreibung der Seite zurück
* Returns the SEO description of the given page
*
* @param string $path
*
......@@ -149,8 +144,7 @@ class SEO
}
/**
* Gibt die Keywords der aktuell angezeigten Seite oder der
* Elternseite zurück
* Returns the SEO keywords of the current page
*
* @return string
*/
......@@ -168,7 +162,7 @@ class SEO
}
/**
* Gibt die Schlüsselwörter der Seite zurück
* Returns the SEO keywords of the given page
*
* @param string $path
*
......@@ -199,8 +193,7 @@ class SEO
}
/**
* Gibt den Robots-Metatag der aktuell angezeigten Seite oder der
* Elternseite zurück
* Returns the SEO robots setting for the current page
*
* @return string
*/
......@@ -218,7 +211,7 @@ class SEO
}
/**
* Gibt die jeweilige Einstellung für den Robots-Metatag zurück
* Returns the SEO robots settings for the given page
*
* @param string $path
*
......@@ -247,6 +240,8 @@ class SEO
}
/**
* Sets a SEO description postfix for te current page
*
* @param $string
*
* @return $this
......@@ -259,7 +254,7 @@ class SEO
}
/**
* Setzt die kanonische URI
* Sets the canonical URL for the current page
*
* @param $path
*
......@@ -267,13 +262,13 @@ class SEO
*/
public function setCanonicalUri($path)
{
$this->canonical = $path;
$this->canonicalUrl = $path;
return $this;
}
/**
* Setzt die nächste Seite
* Sets the next page (useful for pagination)
*
* @param $path
*
......@@ -287,7 +282,7 @@ class SEO
}
/**
* Setzt die vorherige Seite
* Sets the previous page (useful for pagination)
*
* @param $path
*
......@@ -301,7 +296,7 @@ class SEO
}
/**
* Gibt die Formularfelder für die Suchmaschinenoptimierung aus
* Returns the SEO form fields
*
* @param string $path
*
......@@ -338,7 +333,7 @@ class SEO
}
/**
* Löscht einen URI-Alias
* Deletes the given URL alias
*
* @param string $path
*
......@@ -353,7 +348,7 @@ class SEO
}
/**
* Trägt einen URI-Alias in die Datenbank ein bzw. aktualisiert den Eintrag
* Inserts/Updates a given URL alias
*
* @param string $path
* @param string $alias
......
......@@ -3,30 +3,17 @@
namespace ACP3\Core;
/**
* Sessionklasse
* Diese ist zuständig für das Sessionhandling in der Datenbank
*
* @package ACP3\Core
*/
class Session
{
/**
* Name der Session
*/
const SESSION_NAME = 'ACP3_SID';
/**
* Name des XSRF-Token
*/
const XSRF_TOKEN_NAME = 'security_token';
/**
* Zeit, bis Session ungültig wird
*
* @var integer
*/
public $expireTime = 1800;
/**
* Wahrscheinlichkeit, dass Session Garbage Collector anspringt
*
* @var integer
*/
public $gcProbability = 10;
......@@ -43,7 +30,7 @@ class Session
$this->db = $db;
if (session_status() == PHP_SESSION_NONE) {
// php.ini Session Einstellungen konfigurieren
// Configure the php.ini session settings
ini_set('session.name', self::SESSION_NAME);
ini_set('session.use_trans_sid', 0);
ini_set('session.use_cookies', 1);
......@@ -55,7 +42,7 @@ class Session
ini_set('session.gc_probability', $this->gcProbability);
ini_set('session.gc_divisor', 100);
// Eigene Session Handling Methoden setzen
// Set our own session handling methods
ini_set('session.save_handler', 'user');
session_set_save_handler(
[$this, 'session_open'],
......@@ -66,7 +53,7 @@ class Session
[$this, 'session_gc']
);
// Session starten und anschließend sichern
// Start the session and secure it
self::startSession();
self::secureSession();
......@@ -79,21 +66,21 @@ class Session
*/
protected static function startSession()
{
// Session Cookie Parameter setzen
// Set the session cookie parameters
session_set_cookie_params(0, ROOT_DIR);
// Session starten
// Start the session
session_start();
}
/**
* Sichert die aktuelle Session
* Secures the current session
*
* @param boolean $force
*/
public static function secureSession($force = false)
{
// Session Fixation verhindern
// Prevend from session fixations
if (isset($_SESSION['acp3_init']) === false || $force === true) {
session_regenerate_id(true);
$_SESSION = [];
......@@ -102,7 +89,7 @@ class Session
}
/**
* Öffnet eine Session
* Opens a session
*
* @return true
*/
......@@ -112,7 +99,7 @@ class Session
}
/**
* Schließt eine Session
* Closes the current session
*
* @return true
*/
......@@ -122,7 +109,7 @@ class Session
}
/**
* Liest eine Session aus der Datenbank
* Reads a session from the database
*
* @param integer $sessionId
*
......@@ -130,34 +117,34 @@ class Session
*/
public function session_read($sessionId)
{
$session = $this->db->fetchColumn('SELECT session_data FROM ' . $this->db->getPrefix() . 'sessions WHERE session_id = ?', [$sessionId]);
$session = $this->db->fetchColumn('SELECT `session_data` FROM ' . $this->db->getPrefix() . 'sessions WHERE `session_id` = ?', [$sessionId]);
return $session ?: ''; // Wenn keine Session gefunden wurde, dann einen leeren String zurückgeben
return $session ?: ''; // Return an empty string, if the requested session can't be found
}
/**
* Session in Datenbank schreiben
* Writes a session to the database
*
* @param integer $sessionId
* @param array $data Enthält die Session-Daten
* @param array $data Contains the session data
*
* @return bool
*/
public function session_write($sessionId, $data)
{
$this->db->getConnection()->executeUpdate('INSERT INTO ' . $this->db->getPrefix() . 'sessions (session_id, session_starttime, session_data) VALUES (?, ?, ?) ON DUPLICATE KEY UPDATE session_data = ?', [$sessionId, time(), $data, $data]);
$this->db->getConnection()->executeUpdate('INSERT INTO ' . $this->db->getPrefix() . 'sessions (session_id, session_starttime, session_data) VALUES (?, ?, ?) ON DUPLICATE KEY UPDATE `session_data` = ?', [$sessionId, time(), $data, $data]);
return true;
}
/**
* Aktuelle Session löschen
* Deletes the current session
*
* @param integer $sessionId
*/
public function session_destroy($sessionId)
{
// Alle gesetzten Session Variablen zurücksetzen
// Reset all already set session variables
$_SESSION = [];
// Session-Cookie löschen
......@@ -165,14 +152,14 @@ class Session
setcookie(self::SESSION_NAME, '', time() - 3600, ROOT_DIR);
}
// Session aus Datenbank löschen
// Delete the session from the database
$this->db->getConnection()->delete($this->db->getPrefix() . 'sessions', ['session_id' => $sessionId]);
}
/**
* Session Garbage Collector
*
* @param integer $sessionLifetime Angaben in Sekunden
* @param integer $sessionLifetime Time in seconds
*
* @return boolean
*/
......@@ -182,7 +169,7 @@ class Session
return false;
}
$this->db->getConnection()->executeUpdate('DELETE FROM ' . $this->db->getPrefix() . 'sessions WHERE session_starttime + ? < ?', [$sessionLifetime, time()]);
$this->db->getConnection()->executeUpdate('DELETE FROM ' . $this->db->getPrefix() . 'sessions WHERE `session_starttime` + ? < ?', [$sessionLifetime, time()]);
return true;
}
......
......@@ -59,7 +59,7 @@ class View extends ContainerAware
}
/**
* Fetches a templates and returns its contents
* Fetches a template and returns its contents
*
* @param string $template
* @param mixed $cacheId
......@@ -76,7 +76,7 @@ class View extends ContainerAware
}
/**
* Checks, whether a templates exists or not
* Checks, whether a template exists or not
*
* @param string $template
*
......
......@@ -4,25 +4,26 @@ namespace ACP3\Core;
use ACP3\Application;
/**
* Parst XML Dateien, z.B. die diversen info.xml bzw. module.xml Dateien
* Parses XML files
*
* @package ACP3\Core
*/
class XML
{
/**
* Cache für bereits ausgelesene XML-Dateien
* Cache for already parsed XML files
*
* @var array
*/
protected $info = [];
/**
* Parst die angeforderte XML Datei
* Parses the given XML file and returns it as an array
*
* @param string $path
* @param string $xpath
*
* @return mixed
* @return array
*/
public function parseXmlFile($path, $xpath)
{
......
......@@ -235,19 +235,26 @@ class Install extends AbstractController
'lang' => LANG
];
$configSystem = $this->get('system.config');
$configSystem->setSettings($systemSettings);
$configSeo = $this->get('seo.config');
$configSeo->setSettings(['title' => !empty($formData['title']) ? $formData['title'] : 'ACP3']);
$configUsers = $this->get('users.config');
$configUsers->setSettings(['mail' => $formData['mail']]);
$configContact = $this->get('contact.config');
$configContact->setSettings(['mail' => $formData['mail'], 'disclaimer' => $this->lang->t('install', 'disclaimer')]);
$configNewsletter = $this->get('newsletter.config');
$configNewsletter->setSettings(['mail' => $formData['mail'], 'mailsig' => $this->lang->t('install', 'sincerely') . "\n\n" . $this->lang->t('install', 'newsletter_mailsig')]);
$this->get('core.config')->setSettings($systemSettings, 'system');
$this->get('core.config')->setSettings(
['title' => !empty($formData['title']) ? $formData['title'] : 'ACP3'],
'seo'
);
$this->get('core.config')->setSettings(
['mail' => $formData['mail']],
'users'
);
$this->get('core.config')->setSettings(
['mail' => $formData['mail'], 'disclaimer' => $this->lang->t('install', 'disclaimer')],
'contact'
);
$this->get('core.config')->setSettings(
['mail' => $formData['mail'], 'mailsig' => $this->lang->t('install', 'sincerely') . "\n\n" . $this->lang->t('install', 'newsletter_mailsig')],
'newsletter'
);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment