Merge branch 'hotfix/2.5.3'
This commit is contained in:
@@ -4,23 +4,22 @@
|
||||
|
||||
DirectoryIndex index.php index.html
|
||||
|
||||
# PROTECTED DIRECTORIES
|
||||
<IfModule mod_rewrite.c>
|
||||
RewriteEngine On
|
||||
RewriteCond %{REQUEST_FILENAME} -d
|
||||
RewriteRule (?i)(data|api) - [F]
|
||||
</IfModule>
|
||||
RedirectMatch 403 (?i)/data/config\.php$
|
||||
RedirectMatch 403 (?i)/data/logs
|
||||
RedirectMatch 403 (?i)/data/cache
|
||||
RedirectMatch 403 (?i)/data/upload
|
||||
RedirectMatch 403 (?i)/application
|
||||
RedirectMatch 403 (?i)/custom
|
||||
RedirectMatch 403 (?i)/vendor
|
||||
#END PROTECTED DIRECTORIES
|
||||
|
||||
<IfModule mod_rewrite.c>
|
||||
RewriteEngine On
|
||||
# PROTECTED DIRECTORIES
|
||||
RewriteCond %{REQUEST_FILENAME} -d
|
||||
RewriteRule ^/?(data|api)/ - [F]
|
||||
|
||||
RewriteRule ^/?data/config\.php$ - [F]
|
||||
RewriteRule ^/?data/logs/ - [F]
|
||||
RewriteRule ^/?data/cache/ - [F]
|
||||
RewriteRule ^/?data/upload/ - [F]
|
||||
RewriteRule ^/?application/ - [F]
|
||||
RewriteRule ^/?custom/ - [F]
|
||||
RewriteRule ^/?vendor/ - [F]
|
||||
#END PROTECTED DIRECTORIES
|
||||
|
||||
RewriteRule .* - [E=HTTP_ESPO_CGI_AUTH:%{HTTP:Authorization}]
|
||||
|
||||
RewriteRule reset/?$ reset.html [QSA,L]
|
||||
|
||||
@@ -29,79 +29,85 @@ class Comparator extends \Doctrine\DBAL\Schema\Comparator
|
||||
{
|
||||
|
||||
public function diffColumn(Column $column1, Column $column2)
|
||||
{
|
||||
$changedProperties = array();
|
||||
if ( $column1->getType() != $column2->getType() ) {
|
||||
{
|
||||
$changedProperties = array();
|
||||
if ( $column1->getType() != $column2->getType() ) {
|
||||
|
||||
//espo: fix problem with executing query for custom types
|
||||
$column1DbTypeName = method_exists($column1->getType(), 'getDbTypeName') ? $column1->getType()->getDbTypeName() : $column1->getType()->getName();
|
||||
$column2DbTypeName = method_exists($column2->getType(), 'getDbTypeName') ? $column2->getType()->getDbTypeName() : $column2->getType()->getName();
|
||||
|
||||
if (strtolower($column1DbTypeName) != strtolower($column2DbTypeName)) {
|
||||
$changedProperties[] = 'type';
|
||||
$changedProperties[] = 'type';
|
||||
}
|
||||
//END: espo
|
||||
}
|
||||
}
|
||||
|
||||
if ($column1->getNotnull() != $column2->getNotnull()) {
|
||||
$changedProperties[] = 'notnull';
|
||||
}
|
||||
if ($column1->getNotnull() != $column2->getNotnull()) {
|
||||
$changedProperties[] = 'notnull';
|
||||
}
|
||||
|
||||
if ($column1->getDefault() != $column2->getDefault()) {
|
||||
$changedProperties[] = 'default';
|
||||
}
|
||||
if ($column1->getDefault() != $column2->getDefault()) {
|
||||
$changedProperties[] = 'default';
|
||||
}
|
||||
|
||||
if ($column1->getUnsigned() != $column2->getUnsigned()) {
|
||||
$changedProperties[] = 'unsigned';
|
||||
}
|
||||
if ($column1->getUnsigned() != $column2->getUnsigned()) {
|
||||
$changedProperties[] = 'unsigned';
|
||||
}
|
||||
|
||||
if ($column1->getType() instanceof \Doctrine\DBAL\Types\StringType) {
|
||||
// check if value of length is set at all, default value assumed otherwise.
|
||||
$length1 = $column1->getLength() ?: 255;
|
||||
$length2 = $column2->getLength() ?: 255;
|
||||
if ($length1 != $length2) {
|
||||
$changedProperties[] = 'length';
|
||||
}
|
||||
if ($column1->getType() instanceof \Doctrine\DBAL\Types\StringType) {
|
||||
// check if value of length is set at all, default value assumed otherwise.
|
||||
$length1 = $column1->getLength() ?: 255;
|
||||
$length2 = $column2->getLength() ?: 255;
|
||||
|
||||
if ($column1->getFixed() != $column2->getFixed()) {
|
||||
$changedProperties[] = 'fixed';
|
||||
}
|
||||
}
|
||||
/** Espo: column length can be increased only */
|
||||
/*if ($length1 != $length2) {
|
||||
$changedProperties[] = 'length';
|
||||
}*/
|
||||
if ($length2 > $length1) {
|
||||
$changedProperties[] = 'length';
|
||||
}
|
||||
/** Espo: end */
|
||||
|
||||
if ($column1->getType() instanceof \Doctrine\DBAL\Types\DecimalType) {
|
||||
if (($column1->getPrecision()?:10) != ($column2->getPrecision()?:10)) {
|
||||
$changedProperties[] = 'precision';
|
||||
}
|
||||
if ($column1->getScale() != $column2->getScale()) {
|
||||
$changedProperties[] = 'scale';
|
||||
}
|
||||
}
|
||||
if ($column1->getFixed() != $column2->getFixed()) {
|
||||
$changedProperties[] = 'fixed';
|
||||
}
|
||||
}
|
||||
|
||||
if ($column1->getAutoincrement() != $column2->getAutoincrement()) {
|
||||
$changedProperties[] = 'autoincrement';
|
||||
}
|
||||
if ($column1->getType() instanceof \Doctrine\DBAL\Types\DecimalType) {
|
||||
if (($column1->getPrecision()?:10) != ($column2->getPrecision()?:10)) {
|
||||
$changedProperties[] = 'precision';
|
||||
}
|
||||
if ($column1->getScale() != $column2->getScale()) {
|
||||
$changedProperties[] = 'scale';
|
||||
}
|
||||
}
|
||||
|
||||
// only allow to delete comment if its set to '' not to null.
|
||||
if ($column1->getComment() !== null && $column1->getComment() != $column2->getComment()) {
|
||||
$changedProperties[] = 'comment';
|
||||
}
|
||||
if ($column1->getAutoincrement() != $column2->getAutoincrement()) {
|
||||
$changedProperties[] = 'autoincrement';
|
||||
}
|
||||
|
||||
$options1 = $column1->getCustomSchemaOptions();
|
||||
$options2 = $column2->getCustomSchemaOptions();
|
||||
// only allow to delete comment if its set to '' not to null.
|
||||
if ($column1->getComment() !== null && $column1->getComment() != $column2->getComment()) {
|
||||
$changedProperties[] = 'comment';
|
||||
}
|
||||
|
||||
$commonKeys = array_keys(array_intersect_key($options1, $options2));
|
||||
$options1 = $column1->getCustomSchemaOptions();
|
||||
$options2 = $column2->getCustomSchemaOptions();
|
||||
|
||||
foreach ($commonKeys as $key) {
|
||||
if ($options1[$key] !== $options2[$key]) {
|
||||
$changedProperties[] = $key;
|
||||
}
|
||||
}
|
||||
$commonKeys = array_keys(array_intersect_key($options1, $options2));
|
||||
|
||||
$diffKeys = array_keys(array_diff_key($options1, $options2) + array_diff_key($options2, $options1));
|
||||
foreach ($commonKeys as $key) {
|
||||
if ($options1[$key] !== $options2[$key]) {
|
||||
$changedProperties[] = $key;
|
||||
}
|
||||
}
|
||||
|
||||
$changedProperties = array_merge($changedProperties, $diffKeys);
|
||||
$diffKeys = array_keys(array_diff_key($options1, $options2) + array_diff_key($options2, $options1));
|
||||
|
||||
return $changedProperties;
|
||||
}
|
||||
$changedProperties = array_merge($changedProperties, $diffKeys);
|
||||
|
||||
return $changedProperties;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -420,7 +420,7 @@ class Permission
|
||||
|
||||
$owner = $defaultPermissions['user'];
|
||||
if (empty($owner) && $usePosix) {
|
||||
$owner = posix_getuid();
|
||||
$owner = function_exists('posix_getuid') ? posix_getuid() : null;
|
||||
}
|
||||
|
||||
if (empty($owner)) {
|
||||
@@ -441,7 +441,7 @@ class Permission
|
||||
|
||||
$group = $defaultPermissions['group'];
|
||||
if (empty($group) && $usePosix) {
|
||||
$group = posix_getegid();
|
||||
$group = function_exists('posix_getegid') ? posix_getegid() : null;
|
||||
}
|
||||
|
||||
if (empty($group)) {
|
||||
|
||||
@@ -33,9 +33,9 @@ class System
|
||||
{
|
||||
$serverSoft = $_SERVER['SERVER_SOFTWARE'];
|
||||
|
||||
preg_match('/^(.*)\//i', $serverSoft, $match);
|
||||
preg_match('/^(.*?)\//i', $serverSoft, $match);
|
||||
if (empty($match[1])) {
|
||||
preg_match('/^(.*)\/?/i', $serverSoft, $match);
|
||||
preg_match('/^(.*?)\/?/i', $serverSoft, $match);
|
||||
}
|
||||
$serverName = strtolower( trim($match[1]) );
|
||||
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
|
||||
@@ -94,6 +94,10 @@ class Installer
|
||||
return $this->app->getContainer()->get('fileManager');
|
||||
}
|
||||
|
||||
public function getVersion()
|
||||
{
|
||||
return $this->getConfig()->get('version');
|
||||
}
|
||||
|
||||
protected function auth()
|
||||
{
|
||||
|
||||
+98
-55
@@ -1,55 +1,98 @@
|
||||
<?php
|
||||
|
||||
|
||||
class Language
|
||||
{
|
||||
private $defaultLanguage = 'en_US';
|
||||
|
||||
private $systemHelper;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
require_once 'SystemHelper.php';
|
||||
$this->systemHelper = new SystemHelper();
|
||||
}
|
||||
|
||||
protected function getSystemHelper()
|
||||
{
|
||||
return $this->systemHelper;
|
||||
}
|
||||
|
||||
public function get($language)
|
||||
{
|
||||
if (empty($language)) {
|
||||
$language = $this->defaultLanguage;
|
||||
}
|
||||
|
||||
$langFileName = 'install/core/i18n/'.$language.'/install.json';
|
||||
if (!file_exists($langFileName)) {
|
||||
$langFileName = 'install/core/i18n/'.$this->defaultLanguage.'/install.json';
|
||||
}
|
||||
|
||||
$i18n = file_get_contents($langFileName);
|
||||
$i18n = json_decode($i18n, true);
|
||||
|
||||
$this->afterRetrieve($i18n);
|
||||
|
||||
return $i18n;
|
||||
}
|
||||
|
||||
/**
|
||||
* After retrieve actions
|
||||
*
|
||||
* @param array $i18n
|
||||
* @return array $i18n
|
||||
*/
|
||||
protected function afterRetrieve(array &$i18n)
|
||||
{
|
||||
/** Get rewrite rules */
|
||||
$serverType = $this->getSystemHelper()->getServerType();
|
||||
$rewriteRules = $this->getSystemHelper()->getRewriteRules();
|
||||
$i18n['options']['modRewriteHelp'][$serverType] = str_replace('{0}', $rewriteRules, $i18n['options']['modRewriteHelp'][$serverType]);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
<?php
|
||||
|
||||
|
||||
class Language
|
||||
{
|
||||
private $defaultLanguage = 'en_US';
|
||||
|
||||
private $systemHelper;
|
||||
|
||||
private $data = array();
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
require_once 'SystemHelper.php';
|
||||
$this->systemHelper = new SystemHelper();
|
||||
}
|
||||
|
||||
protected function getSystemHelper()
|
||||
{
|
||||
return $this->systemHelper;
|
||||
}
|
||||
|
||||
public function get($language)
|
||||
{
|
||||
if (isset($this->data[$language])) {
|
||||
return $this->data[$language];
|
||||
}
|
||||
|
||||
if (empty($language)) {
|
||||
$language = $this->defaultLanguage;
|
||||
}
|
||||
|
||||
$langFileName = 'install/core/i18n/'.$language.'/install.json';
|
||||
if (!file_exists($langFileName)) {
|
||||
$langFileName = 'install/core/i18n/'.$this->defaultLanguage.'/install.json';
|
||||
}
|
||||
|
||||
$i18n = $this->getLangData($langFileName);
|
||||
|
||||
if ($language != $this->defaultLanguage) {
|
||||
$i18n = $this->mergeWithDefaults($i18n);
|
||||
}
|
||||
|
||||
$this->afterRetrieve($i18n);
|
||||
|
||||
$this->data[$language] = $i18n;
|
||||
|
||||
return $this->data[$language];
|
||||
}
|
||||
|
||||
/**
|
||||
* Merge current language with default one
|
||||
*
|
||||
* @param array $data
|
||||
* @return array
|
||||
*/
|
||||
protected function mergeWithDefaults($data)
|
||||
{
|
||||
$defaultLangFile = 'install/core/i18n/'.$this->defaultLanguage.'/install.json';
|
||||
$defaultData = $this->getLangData($defaultLangFile);
|
||||
|
||||
foreach ($data as $categoryName => &$labels) {
|
||||
foreach ($defaultData[$categoryName] as $defaultLabelName => $defaultLabel) {
|
||||
if (!isset($labels[$defaultLabelName])) {
|
||||
$labels[$defaultLabelName] = $defaultLabel;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$data = array_merge($defaultData, $data);
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
protected function getLangData($filePath)
|
||||
{
|
||||
$data = file_get_contents($filePath);
|
||||
$data = json_decode($data, true);
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* After retrieve actions
|
||||
*
|
||||
* @param array $i18n
|
||||
* @return array $i18n
|
||||
*/
|
||||
protected function afterRetrieve(array &$i18n)
|
||||
{
|
||||
/** Get rewrite rules */
|
||||
$serverType = $this->getSystemHelper()->getServerType();
|
||||
$rewriteRules = $this->getSystemHelper()->getRewriteRules();
|
||||
$i18n['options']['modRewriteHelp'][$serverType] = str_replace('{0}', $rewriteRules, $i18n['options']['modRewriteHelp'][$serverType]);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
+154
-64
@@ -24,22 +24,23 @@
|
||||
class SystemHelper extends \Espo\Core\Utils\System
|
||||
{
|
||||
|
||||
protected $requirements = array(
|
||||
'phpVersion' => '5.4',
|
||||
protected $requirements;
|
||||
|
||||
'exts' => array(
|
||||
'json',
|
||||
'mcrypt',
|
||||
'pdo_mysql',
|
||||
),
|
||||
);
|
||||
protected $apiPath;
|
||||
|
||||
protected $modRewriteUrl = '/api/v1/Metadata';
|
||||
protected $modRewriteUrl = '/Metadata';
|
||||
|
||||
protected $writableDir = 'data';
|
||||
|
||||
protected $combineOperator = '&&';
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$config = include('config.php');
|
||||
|
||||
$this->requirements = $config['requirements'];
|
||||
$this->apiPath = $config['apiPath'];
|
||||
}
|
||||
|
||||
public function initWritable()
|
||||
{
|
||||
@@ -55,7 +56,6 @@ class SystemHelper extends \Espo\Core\Utils\System
|
||||
return $this->writableDir;
|
||||
}
|
||||
|
||||
|
||||
public function checkRequirements()
|
||||
{
|
||||
$result['success'] = true;
|
||||
@@ -64,10 +64,10 @@ class SystemHelper extends \Espo\Core\Utils\System
|
||||
$result['errors']['phpVersion'] = $this->requirements['phpVersion'];
|
||||
$result['success'] = false;
|
||||
}
|
||||
if (!empty($this->requirements['exts'])) {
|
||||
foreach ($this->requirements['exts'] as $extName) {
|
||||
if (!empty($this->requirements['phpRequires'])) {
|
||||
foreach ($this->requirements['phpRequires'] as $extName) {
|
||||
if (!extension_loaded($extName)) {
|
||||
$result['errors']['exts'][] = $extName;
|
||||
$result['errors']['phpRequires'][] = $extName;
|
||||
$result['success'] = false;
|
||||
}
|
||||
}
|
||||
@@ -77,62 +77,129 @@ class SystemHelper extends \Espo\Core\Utils\System
|
||||
return $result;
|
||||
}
|
||||
|
||||
public function checkDbConnection($hostName, $port, $dbUserName, $dbUserPass, $dbName, $dbDriver = 'pdo_mysql', $isCreateDatabase = true)
|
||||
public function getRecommendationList($type = 'php', $data = null)
|
||||
{
|
||||
$list = array();
|
||||
|
||||
if ($type == 'mysql') {
|
||||
$pdoConn = $this->getPdoConnection($data['dbHostName'], $data['dbPort'], $data['dbUserName'], $data['dbUserPass'], $data['dbName']);
|
||||
}
|
||||
|
||||
$currentVersion = ($type == 'php') ? PHP_VERSION : $this->getMysqlSetting('version', $pdoConn);
|
||||
$list[$type . 'Version'] = array(
|
||||
'current' => $currentVersion,
|
||||
'required' => $this->requirements[$type . 'Version'],
|
||||
'acceptable' => true,
|
||||
);
|
||||
|
||||
$recommendations = array_merge($this->requirements[$type . 'Requires'], $this->requirements[$type . 'Recommendations']);
|
||||
|
||||
foreach ($recommendations as $name => $requiredValue) {
|
||||
|
||||
$isExtension = false;
|
||||
|
||||
if (is_int($name)) {
|
||||
$name = $requiredValue;
|
||||
$acceptable = extension_loaded($name);
|
||||
$currentValue = $acceptable ? 'On' : 'Off';
|
||||
$isExtension = true;
|
||||
|
||||
} else {
|
||||
$currentValue = ($type == 'php') ? ini_get($name) : $this->getMysqlSetting($name, $pdoConn);
|
||||
$acceptable = ( isset($currentValue) && $this->convertToBytes($currentValue) >= $this->convertToBytes($requiredValue) ) ? true : false;
|
||||
}
|
||||
|
||||
$list[$name] = array(
|
||||
'current' => $currentValue,
|
||||
'required' => $requiredValue,
|
||||
'acceptable' => $acceptable,
|
||||
'isExtension' => $isExtension,
|
||||
);
|
||||
}
|
||||
|
||||
return $list;
|
||||
}
|
||||
|
||||
protected function getMysqlSetting($name, \PDO $pdoConnection)
|
||||
{
|
||||
$sth = $pdoConnection->prepare("SHOW VARIABLES LIKE '" . $name . "'");
|
||||
$sth->execute();
|
||||
$res = $sth->fetch(PDO::FETCH_NUM);
|
||||
|
||||
$version = empty($res[1]) ? null : $res[1];
|
||||
|
||||
return $version;
|
||||
}
|
||||
|
||||
public function checkDbConnection($hostName, $port, $dbUserName, $dbUserPass, $dbName, $isCreateDatabase = true)
|
||||
{
|
||||
$result['success'] = true;
|
||||
|
||||
switch ($dbDriver) {
|
||||
case 'mysqli':
|
||||
$mysqli = (empty($port)) ? new mysqli($hostName, $dbUserName, $dbUserPass, $dbName) : new mysqli($hostName, $dbUserName, $dbUserPass, $dbName, $port);
|
||||
if (!$mysqli->connect_errno) {
|
||||
$mysqli->close();
|
||||
}
|
||||
else {
|
||||
$result['errors']['dbConnect']['errorCode'] = $mysqli->connect_errno;
|
||||
$result['errors']['dbConnect']['errorMsg'] = $mysqli->connect_error;
|
||||
$result['success'] = false;
|
||||
}
|
||||
break;
|
||||
$dbh = $this->getPdoConnection($hostName, $port, $dbUserName, $dbUserPass, $dbName);
|
||||
|
||||
case 'pdo_mysql':
|
||||
try {
|
||||
$dsn = "mysql:host={$hostName};" . ((!empty($port)) ? "port={$port};" : '') . "dbname={$dbName}";
|
||||
$dbh = new PDO($dsn, $dbUserName, $dbUserPass);
|
||||
$dbh = null;
|
||||
} catch (PDOException $e) {
|
||||
|
||||
$result['errors']['dbConnect']['errorCode'] = $e->getCode();
|
||||
$result['errors']['dbConnect']['errorMsg'] = $e->getMessage();
|
||||
$result['success'] = false;
|
||||
}
|
||||
|
||||
/** try to create a database */
|
||||
if ($isCreateDatabase && !$result['success'] && $result['errors']['dbConnect']['errorCode'] == '1049') {
|
||||
|
||||
$dsn = "mysql:host={$hostName};" . ((!empty($port)) ? "port={$port}" : '');
|
||||
$pdo = new PDO($dsn, $dbUserName, $dbUserPass);
|
||||
|
||||
$isCreated = true;
|
||||
try {
|
||||
$pdo->query("CREATE DATABASE IF NOT EXISTS `$dbName`");
|
||||
} catch (PDOException $e) {
|
||||
$isCreated = false;
|
||||
}
|
||||
|
||||
if ($isCreated) {
|
||||
return $this->checkDbConnection($hostName, $port, $dbUserName, $dbUserPass, $dbName, $dbDriver, false);
|
||||
}
|
||||
}
|
||||
/** END: try to create a database */
|
||||
|
||||
|
||||
|
||||
break;
|
||||
if ($dbh instanceof \PDOException) {
|
||||
$result['errors']['dbConnect']['errorCode'] = $dbh->getCode();
|
||||
$result['errors']['dbConnect']['errorMsg'] = $dbh->getMessage();
|
||||
$result['success'] = false;
|
||||
}
|
||||
|
||||
/** Check MySQL settings */
|
||||
if ($result['success']) {
|
||||
$currentMysqlVersion = $this->getMysqlSetting('version', $dbh);
|
||||
if (isset($currentMysqlVersion) && version_compare($currentMysqlVersion, $this->requirements['mysqlVersion']) == -1) {
|
||||
$result['errors']['mysqlVersion'] = $this->requirements['mysqlVersion'];
|
||||
$result['success'] = false;
|
||||
}
|
||||
|
||||
/** Check required MySQL settings */
|
||||
foreach ($this->requirements['mysqlRequires'] as $name => $requiredValue) {
|
||||
$currentValue = $this->getMysqlSetting($name, $dbh);
|
||||
$acceptable = ( isset($currentValue) && $this->convertToBytes($currentValue) >= $this->convertToBytes($requiredValue) ) ? true : false;
|
||||
if (!$acceptable) {
|
||||
$result['errors']['mysqlSetting'] = array(
|
||||
'errorCode' => 'mysqlSettingError',
|
||||
'name' => $name,
|
||||
'value' => $requiredValue,
|
||||
);
|
||||
$result['success'] = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/** try to create a database */
|
||||
if ($isCreateDatabase && !$result['success'] && $result['errors']['dbConnect']['errorCode'] == '1049')
|
||||
{
|
||||
$dsn = "mysql:host={$hostName};" . ((!empty($port)) ? "port={$port}" : '');
|
||||
$pdo = new PDO($dsn, $dbUserName, $dbUserPass);
|
||||
|
||||
$isCreated = true;
|
||||
try {
|
||||
$pdo->query("CREATE DATABASE IF NOT EXISTS `$dbName`");
|
||||
} catch (PDOException $e) {
|
||||
$isCreated = false;
|
||||
}
|
||||
|
||||
if ($isCreated) {
|
||||
return $this->checkDbConnection($hostName, $port, $dbUserName, $dbUserPass, $dbName, false);
|
||||
}
|
||||
}
|
||||
/** END: try to create a database */
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
public function getPdoConnection($hostName, $port, $dbUserName, $dbUserPass, $dbName)
|
||||
{
|
||||
try {
|
||||
$dsn = "mysql:host={$hostName};" . ((!empty($port)) ? "port={$port};" : '') . "dbname={$dbName}";
|
||||
$dbh = new PDO($dsn, $dbUserName, $dbUserPass);
|
||||
} catch (PDOException $e) {
|
||||
return $e;
|
||||
}
|
||||
|
||||
return $dbh;
|
||||
}
|
||||
|
||||
public function getBaseUrl()
|
||||
{
|
||||
$pageUrl = ($_SERVER["HTTPS"] == 'on') ? 'https://' : 'http://';
|
||||
@@ -148,9 +215,14 @@ class SystemHelper extends \Espo\Core\Utils\System
|
||||
return $baseUrl;
|
||||
}
|
||||
|
||||
public function getApiPath()
|
||||
{
|
||||
return $this->apiPath;
|
||||
}
|
||||
|
||||
public function getModRewriteUrl()
|
||||
{
|
||||
return $this->modRewriteUrl;
|
||||
return $this->apiPath . $this->modRewriteUrl;
|
||||
}
|
||||
|
||||
public function getChownCommand($path, $isSudo = false, $isCd = true)
|
||||
@@ -160,8 +232,8 @@ class SystemHelper extends \Espo\Core\Utils\System
|
||||
$path = implode(' ', $path);
|
||||
}
|
||||
|
||||
$owner = posix_getuid();
|
||||
$group = posix_getegid();
|
||||
$owner = function_exists('posix_getuid') ? posix_getuid() : null;
|
||||
$group = function_exists('posix_getegid') ? posix_getegid() : null;
|
||||
|
||||
$sudoStr = $isSudo ? 'sudo ' : '';
|
||||
|
||||
@@ -279,7 +351,7 @@ class SystemHelper extends \Espo\Core\Utils\System
|
||||
$serverType = $this->getServerType();
|
||||
|
||||
$rules = array(
|
||||
'nginx' => "location /api/v1/ {\n if (!-e " . '$request_filename' . "){\n rewrite ^/api/v1/(.*)$ /api/v1/index.php last; break;\n }\n}\n\nlocation / {\n rewrite reset/?$ reset.html break;\n}\n\nlocation /(data|api) {\n if (-e " . '$request_filename' . "){\n return 403;\n }\n}\n\nlocation /data/logs {\n return 403;\n}\nlocation /data/config.php$ {\n return 403;\n}\nlocation /data/cache {\n return 403;\n}\nlocation /data/upload {\n return 403;\n}\nlocation /application {\n return 403;\n}\nlocation /custom {\n return 403;\n}\nlocation /vendor {\n return 403;\n}",
|
||||
'nginx' => "location /api/v1/ {\n if (!-e " . '$request_filename' . "){\n rewrite ^/api/v1/(.*)$ /api/v1/index.php last; break;\n }\n}\n\nlocation / {\n rewrite reset/?$ reset.html break;\n}\n\nlocation ^~ (data|api)/ {\n if (-e " . '$request_filename' . "){\n return 403;\n }\n}\n\nlocation ^~ /data/logs/ {\n return 403;\n}\nlocation ^~ /data/config.php {\n return 403;\n}\nlocation ^~ /data/cache/ {\n return 403;\n}\nlocation ^~ /data/upload/ {\n return 403;\n}\nlocation ^~ /application/ {\n return 403;\n}\nlocation ^~ /custom/ {\n return 403;\n}\nlocation ^~ /vendor/ {\n return 403;\n}",
|
||||
);
|
||||
|
||||
if (isset($rules[$serverType])) {
|
||||
@@ -289,4 +361,22 @@ class SystemHelper extends \Espo\Core\Utils\System
|
||||
return '';
|
||||
}
|
||||
|
||||
public function convertToBytes($value)
|
||||
{
|
||||
$value = trim($value);
|
||||
$last = strtoupper(substr($value, -1));
|
||||
|
||||
switch ( $last )
|
||||
{
|
||||
case 'G':
|
||||
$value = (int) $value * 1024;
|
||||
case 'M':
|
||||
$value = (int) $value * 1024;
|
||||
case 'K':
|
||||
$value = (int) $value * 1024;
|
||||
}
|
||||
|
||||
return $value;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -40,9 +40,8 @@ if ($result['success'] && !empty($_REQUEST['dbName']) && !empty($_REQUEST['hostN
|
||||
list($hostName, $port) = explode(':', trim($_REQUEST['hostName']));
|
||||
$dbUserName = trim($_REQUEST['dbUserName']);
|
||||
$dbUserPass = trim($_REQUEST['dbUserPass']);
|
||||
$dbDriver = (!empty($_REQUEST['dbDriver']))? $_REQUEST['dbDriver'] : 'pdo_mysql';
|
||||
|
||||
$res = $systemHelper->checkDbConnection($hostName, $port, $dbUserName, $dbUserPass, $dbName, $dbDriver);
|
||||
$res = $systemHelper->checkDbConnection($hostName, $port, $dbUserName, $dbUserPass, $dbName);
|
||||
$result['success'] &= $res['success'];
|
||||
if (!empty($res['errors'])) {
|
||||
$result['errors'] = array_merge($result['errors'], $res['errors']);
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
<?php
|
||||
/************************************************************************
|
||||
* This file is part of EspoCRM.
|
||||
*
|
||||
* EspoCRM - Open Source CRM application.
|
||||
* Copyright (C) 2014 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
|
||||
* Website: http://www.espocrm.com
|
||||
*
|
||||
* EspoCRM 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.
|
||||
*
|
||||
* EspoCRM 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 EspoCRM. If not, see http://www.gnu.org/licenses/.
|
||||
************************************************************************/
|
||||
|
||||
$phpConfig = $systemHelper->getRecommendationList();
|
||||
$smarty->assign('phpConfig', $phpConfig);
|
||||
|
||||
$installData = $_SESSION['install'];
|
||||
list($host, $port) = explode(':', $installData['hostName']);
|
||||
|
||||
$dbConfig = array(
|
||||
'dbHostName' => $host,
|
||||
'dbPort' => $port,
|
||||
'dbName' => $installData['dbName'],
|
||||
'dbUserName' => $installData['dbUserName'],
|
||||
'dbUserPass' => $installData['dbUserPass'],
|
||||
);
|
||||
$mysqlConfig = $systemHelper->getRecommendationList('mysql', $dbConfig);
|
||||
|
||||
$dbConfig['dbHostName'] = $installData['hostName'];
|
||||
unset($dbConfig['dbPort'], $dbConfig['dbUserPass']);
|
||||
|
||||
foreach ($dbConfig as $name => $value) {
|
||||
$mysqlConfig[$name] = array(
|
||||
'current' => $value,
|
||||
'acceptable' => true,
|
||||
);
|
||||
}
|
||||
|
||||
$smarty->assign('mysqlConfig', $mysqlConfig);
|
||||
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
|
||||
return array(
|
||||
|
||||
'apiPath' => '/api/v1',
|
||||
|
||||
'requirements' => array(
|
||||
'phpVersion' => '5.4',
|
||||
|
||||
'phpRequires' => array(
|
||||
'JSON',
|
||||
'mcrypt',
|
||||
'pdo_mysql',
|
||||
),
|
||||
|
||||
'phpRecommendations' => array(
|
||||
'GD',
|
||||
'IMAP',
|
||||
'max_execution_time' => 180,
|
||||
'max_input_time' => 180,
|
||||
'memory_limit' => '256M',
|
||||
'post_max_size' => '20M',
|
||||
'upload_max_filesize' => '20M',
|
||||
),
|
||||
|
||||
'mysqlVersion' => '5.1',
|
||||
'mysqlRequires' => array(
|
||||
|
||||
),
|
||||
|
||||
'mysqlRecommendations' => array(
|
||||
|
||||
),
|
||||
),
|
||||
|
||||
'blog' => 'http://blog.espocrm.com',
|
||||
'twitter' => 'https://twitter.com/espocrm',
|
||||
'forum' => 'http://forum.espocrm.com',
|
||||
|
||||
);
|
||||
@@ -12,7 +12,7 @@
|
||||
"Step5 page title": "SMTP Einstellungen für ausgehende E-Mails",
|
||||
"Errors page title": "Fehler",
|
||||
"Finish page title": "Die Installation ist abgeschlossen",
|
||||
"Congratulation! Welcome to EspoCRM!": "Gratulation! EspoCRM wurde erfolgreich installiert.",
|
||||
"Congratulation! Welcome to EspoCRM": "Gratulation! EspoCRM wurde erfolgreich installiert.",
|
||||
"Installation Guide": "Installationshandbuch",
|
||||
"admin": "admin",
|
||||
"localhost": "localhost",
|
||||
@@ -25,8 +25,14 @@
|
||||
"Next": "Weiter",
|
||||
"Go to EspoCRM": "Zu EspoCRM",
|
||||
"Re-check": "Überprüfung wiederholen",
|
||||
"Version": "Version",
|
||||
"Test settings": "Verbindung überprüfen",
|
||||
"Database Settings Description": "Geben Sie die Verbindungsinformationen für Ihre MySQL Datebank ein (Hostname, Benutzername und Passwort). Sie können den Serverport z.B. so definieren: localhost:3306"
|
||||
"Database Settings Description": "Geben Sie die Verbindungsinformationen für Ihre MySQL Datebank ein (Hostname, Benutzername und Passwort). Sie können den Serverport z.B. so definieren: localhost:3306",
|
||||
"phpVersion": "PHP version",
|
||||
"mysqlVersion": "MySQL version",
|
||||
"dbHostName": "Host Name",
|
||||
"dbName": "Datenbank Name",
|
||||
"dbUserName": "Datenbank Benutzername"
|
||||
},
|
||||
"fields": {
|
||||
"Choose your language": "Wählen Sie Ihre Sprache",
|
||||
@@ -63,6 +69,7 @@
|
||||
"Bad init Permission": "Zugriff verweigert für Verzeichnis \"{*}\". Bitte setzen Sie 775 für \"{*}\" oder führen Sie dieses Kommando in einem Terminal Fenster aus <pre><b>{C}<\/b><\/pre> Operation nicht erlaubt? Versuchen Sie das: {CSU}",
|
||||
"Some errors occurred!": "Es sind Fehler passiert!",
|
||||
"phpVersion": "Ihre PHP Version wird von EspoCRM nicht unterstützt. Bitte aktualisieren Sie zumindest auf {minVersion}",
|
||||
"MySQLVersion": "Ihre MySQL Version wird von EspoCRM nicht unterstützt. Bitte aktualisieren Sie zumindest auf {minVersion}",
|
||||
"The PHP extension was not found...": "Die <b>{extName}<\/b> PHP Erweiterung wurde nicht gefunden...",
|
||||
"All Settings correct": "Alle Einstellungen sind korrekt",
|
||||
"Failed to connect to database": "Konnte nicht zur Datenbank verbinden",
|
||||
@@ -95,7 +102,7 @@
|
||||
},
|
||||
"modRewriteInstruction": {
|
||||
"apache": {
|
||||
"linux": "<br><br>Für die .htaccess Unterstützung ändern\/ergänzen Sie die Server Einstellungen innerhalb der <VirtualHost> Sektion (httpd.conf):<pre><Directory \/PATH_TO_ESPO\/> <b>AllowOverride All<\/b> <\/Directory><\/pre>Dann führen Sie dieses Kommando in einem Terminalfenster aus:<pre><b>service apache2 restart<\/b><\/pre><br>Um \"mod_rewrite\" zu aktivieren führen Sie diese Kommandos in einem Terminalfenster aus:<pre><b>a2enmod rewrite <br>service apache2 restart<\/b><\/pre>",
|
||||
"linux": "<br><br>Um die RewriteBase Pfad hinzufügen, öffnen Sie eine Datei {API_PATH}.htaccess und ändern Sie die folgende Zeile:<pre># RewriteBase /</pre>To<pre>RewriteBase {ESPO_PATH}{API_PATH}</pre><br>Für die .htaccess Unterstützung ändern\/ergänzen Sie die Server Einstellungen innerhalb der <VirtualHost> Sektion (httpd.conf):<pre><Directory \/PATH_TO_ESPO\/> <b>AllowOverride All<\/b> <\/Directory><\/pre>Dann führen Sie dieses Kommando in einem Terminalfenster aus:<pre><b>service apache2 restart<\/b><\/pre><br>Um \"mod_rewrite\" zu aktivieren führen Sie diese Kommandos in einem Terminalfenster aus:<pre><b>a2enmod rewrite <br>service apache2 restart<\/b><\/pre>",
|
||||
"windows": "<br> <pre>1. Finden Sie die httpd.conf Datei (normalerweise in einem Verzeichnis conf, config oder ähnlich)<br> 2. Innerhalb der httpd.conf Datei aktivieren Sie die Zeile LoadModule rewrite_module modules\/mod_rewrite.so (entfernen Sie das # Zeichen vom Anfang der Zeile)<br> 3. Stellen Sie sicher, dass die Zeile ClearModuleList nicht auskommentiert ist, genauso wie die Zeile AddModule mod_rewrite.c. <\/pre>"
|
||||
},
|
||||
"microsoft-iis": {
|
||||
@@ -103,7 +110,7 @@
|
||||
}
|
||||
},
|
||||
"modRewriteHelp": {
|
||||
"apache": "API Fehler: EspoCRM API nicht verfügbar<br>Mögliches Problem: deaktiviertes \"mod_rewrite\" des Apache Servers oder des .htaccess Supports.",
|
||||
"apache": "API Fehler: EspoCRM API nicht verfügbar<br>Mögliches Problem: RewriteBase erforderlich, deaktiviertes \"mod_rewrite\" des Apache Servers oder des .htaccess Supports.",
|
||||
"nginx": "API Error: EspoCRM API nicht verfügbar.<br>Fügen Sie diesen Code zu Nginx Host Config (innerhalb des \"server\" Blocks) hinzu:<br> <pre> {0} <\/pre>",
|
||||
"microsoft-iis": "API Fehler: EspoCRM API nicht verfügbar<br>Mögliches Problem: deaktiviertes \"URL Rewrite\". Bitte überprüfen und aktivieren Sie das \"URL Rewrite\" Modul im IIS Server.",
|
||||
"default": "API Fehler: EspoCRM API nicht verfügbar<br>Mögliches Problem: deaktiviertes Rewrite Modul. Bitte überprüfen und aktivieren Sie das Rewrite Modul (z.B. mod_rewrite im Apache Server) und die .htaccess Unterstützung."
|
||||
|
||||
@@ -12,7 +12,8 @@
|
||||
"Step5 page title": "SMTP settings for outgoing emails",
|
||||
"Errors page title": "Errors",
|
||||
"Finish page title": "Installation is complete",
|
||||
"Congratulation! Welcome to EspoCRM!": "Congratulation! EspoCRM has been successfully installed.",
|
||||
"Congratulation! Welcome to EspoCRM": "Congratulation! EspoCRM has been successfully installed.",
|
||||
"More Information": "For more information,<br>please visit our blog: {BLOG}<br>follow us on twitter: {TWITTER}<br><br>If you have any suggestions or questions, please ask on the forum:<br>{FORUM}",
|
||||
"Installation Guide": "Installation Guide",
|
||||
"admin": "admin",
|
||||
"localhost": "localhost",
|
||||
@@ -25,8 +26,20 @@
|
||||
"Next": "Next",
|
||||
"Go to EspoCRM": "Go to EspoCRM",
|
||||
"Re-check": "Re-check",
|
||||
"Version": "Version",
|
||||
"Test settings": "Test Connection",
|
||||
"Database Settings Description": "Enter your MySQL database connection information (hostname, username and password). You can specify the server port for hostname like localhost:3306."
|
||||
"Database Settings Description": "Enter your MySQL database connection information (hostname, username and password). You can specify the server port for hostname like localhost:3306.",
|
||||
"Install": "Install",
|
||||
"SetupConfirmation page title": "Recommended Settings",
|
||||
"PHP Configuration": "Recommended PHP settings",
|
||||
"MySQL Configuration": "MySQL Configuration",
|
||||
"Configuration Instructions": "Configuration Instructions",
|
||||
"phpVersion": "PHP version",
|
||||
"mysqlVersion": "MySQL version",
|
||||
"dbHostName": "Host Name",
|
||||
"dbName": "Database Name",
|
||||
"dbUserName": "Database User Name",
|
||||
"OK": "OK"
|
||||
},
|
||||
"fields": {
|
||||
"Choose your language": "Choose your language",
|
||||
@@ -63,6 +76,7 @@
|
||||
"Bad init Permission": "Permission denied for \"{*}\" directory. Please set 775 for \"{*}\" or just execute this command in the terminal <pre><b>{C}</b></pre>\n\tOperation not permitted? Try this one: {CSU}",
|
||||
"Some errors occurred!": "Some errors occurred!",
|
||||
"phpVersion": "Your PHP version is not supported by EspoCRM, please update to PHP {minVersion} at least",
|
||||
"MySQLVersion": "Your MySQL version is not supported by EspoCRM, please update to MySQL {minVersion} at least",
|
||||
"The PHP extension was not found...": "PHP Error: Extension <b>{extName}</b> is not found.",
|
||||
"All Settings correct": "All Settings are correct",
|
||||
"Failed to connect to database": "Failed to connect to database",
|
||||
@@ -76,7 +90,7 @@
|
||||
"createUser error": "createUser error",
|
||||
"checkAjaxPermission error": "checkAjaxPermission error",
|
||||
"Ajax failed": "Ajax failed",
|
||||
"Cannot create user": "Cannot create user",
|
||||
"Cannot create user": "Cannot create a user",
|
||||
"Permission denied": "Permission denied",
|
||||
"permissionInstruction": "<br>Run this in Terminal<pre><b>\"{C}\"</b></pre>",
|
||||
"operationNotPermitted" : "Operation not permitted? Try this: <br>{CSU}",
|
||||
@@ -86,7 +100,10 @@
|
||||
"Thousand Separator and Decimal Mark equal": "Thousand Separator and Decimal Mark cannot be equal",
|
||||
"1049": "Unknown database",
|
||||
"2005": "Unknown MySQL server host",
|
||||
"1045": "Access denied for user"
|
||||
"1045": "Access denied for user",
|
||||
"extension": "{0} extension is missing",
|
||||
"option": "Recommended value is {0}",
|
||||
"mysqlSettingError": "EspoCRM requires the MySQL setting \"{NAME}\" to be set to {VALUE}"
|
||||
},
|
||||
"options": {
|
||||
"db driver": {
|
||||
@@ -95,7 +112,7 @@
|
||||
},
|
||||
"modRewriteInstruction": {
|
||||
"apache": {
|
||||
"linux": "<br><br>To enable .htaccess support add/edit the Server configuration settings inside your <VirtualHost> section (httpd.conf):<pre><Directory /PATH_TO_ESPO/>\n <b>AllowOverride All</b>\n</Directory></pre>\n Afterwards run this command in a Terminal:<pre><b>service apache2 restart</b></pre><br>To enable \"mod_rewrite\" run those commands in a Terminal:<pre><b>a2enmod rewrite <br>service apache2 restart</b></pre>",
|
||||
"linux": "<br><br>To add the RewriteBase path, open a file {API_PATH}.htaccess and change the following line:<pre># RewriteBase /</pre>To<pre>RewriteBase {ESPO_PATH}{API_PATH}</pre><br>To enable .htaccess support add/edit the Server configuration settings inside your <VirtualHost> section (httpd.conf):<pre><Directory /PATH_TO_ESPO/>\n <b>AllowOverride All</b>\n</Directory></pre>\n Afterwards run this command in a Terminal:<pre><b>service apache2 restart</b></pre><br>To enable \"mod_rewrite\" run those commands in a Terminal:<pre><b>a2enmod rewrite <br>service apache2 restart</b></pre>",
|
||||
"windows": "<br> <pre>1. Find the httpd.conf file (usually you will find it in a folder called conf, config or something along those lines)<br>\n2. Inside the httpd.conf file uncomment the line LoadModule rewrite_module modules/mod_rewrite.so (remove the pound '#' sign from in front of the line)<br>\n3. Also find the line ClearModuleList is uncommented then find and make sure that the line AddModule mod_rewrite.c is not commented out.\n</pre>"
|
||||
},
|
||||
"microsoft-iis": {
|
||||
@@ -103,7 +120,7 @@
|
||||
}
|
||||
},
|
||||
"modRewriteHelp": {
|
||||
"apache": "API Error: EspoCRM API unavailable.<br> Possible problems: disabled \"mod_rewrite\" in Apache server or .htaccess support.",
|
||||
"apache": "API Error: EspoCRM API unavailable.<br> Possible problems: RewriteBase required, disabled \"mod_rewrite\" in Apache server or .htaccess support.",
|
||||
"nginx": "API Error: EspoCRM API unavailable.<br> Add this code to your Nginx Host Config (inside \"server\" block):<br>\n<pre>\n{0}\n</pre>",
|
||||
"microsoft-iis": "API Error: EspoCRM API unavailable.<br> Possible problem: disabled \"URL Rewrite\". Please check and enable \"URL Rewrite\" Module in IIS server",
|
||||
"default": "API Error: EspoCRM API unavailable.<br> Possible problem: disabled Rewrite Module. Please check and enable Rewrite Module in your server (e.g. mod_rewrite in Apache) and .htaccess support."
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
"Step5 page title": "Configuración SMTP para los correos salientes",
|
||||
"Errors page title": "Errores",
|
||||
"Finish page title": "La instalación ha finalizado",
|
||||
"Congratulation! Welcome to EspoCRM!": "¡Enhorabuena! EspoCRM(Español) se ha instalado correctamente.",
|
||||
"Congratulation! Welcome to EspoCRM": "¡Enhorabuena! EspoCRM(Español) se ha instalado correctamente.",
|
||||
"Installation Guide": "Instrucciones de instalación",
|
||||
"admin": "admin",
|
||||
"localhost": "localhost",
|
||||
@@ -24,8 +24,14 @@
|
||||
"Next": "Siguiente",
|
||||
"Go to EspoCRM": "Ir a EspoCRM(Español)",
|
||||
"Re-check": "Revisar otra vez",
|
||||
"Version": "Version",
|
||||
"Test settings": "Test de conexión",
|
||||
"Database Settings Description": "Enter your MySQL database connection information (hostname, username and password). You can specify the server port for hostname like localhost:3306."
|
||||
"Database Settings Description": "Enter your MySQL database connection information (hostname, username and password). You can specify the server port for hostname like localhost:3306.",
|
||||
"phpVersion": "PHP version",
|
||||
"mysqlVersion": "MySQL version",
|
||||
"dbHostName": "Hostname usualmente(localhost)",
|
||||
"dbName": "Nombre de la Base de Datos",
|
||||
"dbUserName": "Usuario de la Base de Datos"
|
||||
},
|
||||
"fields": {
|
||||
"Choose your language": "Seleccione un lenguaje",
|
||||
@@ -61,7 +67,8 @@
|
||||
"messages": {
|
||||
"Bad init Permission": "Permission denied for \"{*}\" directory. Please set 775 for \"{*}\" or just execute this command in the terminal <pre><b>{C}</b></pre>\n\tOperation not permitted? Try this one: {CSU}",
|
||||
"Some errors occurred!": "Some errors occurred!",
|
||||
"phpVersion": "PHP version should be >= {minVersion}",
|
||||
"phpVersion": "Your PHP version is not supported by EspoCRM, please update to PHP {minVersion} at least",
|
||||
"MySQLVersion": "Your MySQL version is not supported by EspoCRM, please update to MySQL {minVersion} at least",
|
||||
"The PHP extension was not found...": "PHP Error: Extension <b>{extName}</b> is not found.",
|
||||
"All Settings correct": "All Settings are correct",
|
||||
"Failed to connect to database": "Failed to connect to database",
|
||||
@@ -94,7 +101,7 @@
|
||||
},
|
||||
"modRewriteInstruction": {
|
||||
"apache": {
|
||||
"linux": "<br><br>To enable .htaccess support add/edit the Server configuration settings inside your <VirtualHost> section (httpd.conf):<pre><Directory /PATH_TO_ESPO/>\n <b>AllowOverride All</b>\n</Directory></pre>\n Afterwards run this command in a Terminal:<pre><b>service apache2 restart</b></pre><br>To enable \"mod_rewrite\" run those commands in a Terminal:<pre><b>a2enmod rewrite <br>service apache2 restart</b></pre>",
|
||||
"linux": "<br><br>To add the RewriteBase path, open a file {API_PATH}.htaccess and change the following line:<pre># RewriteBase /</pre>To<pre>RewriteBase {ESPO_PATH}{API_PATH}</pre><br>To enable .htaccess support add/edit the Server configuration settings inside your <VirtualHost> section (httpd.conf):<pre><Directory /PATH_TO_ESPO/>\n <b>AllowOverride All</b>\n</Directory></pre>\n Afterwards run this command in a Terminal:<pre><b>service apache2 restart</b></pre><br>To enable \"mod_rewrite\" run those commands in a Terminal:<pre><b>a2enmod rewrite <br>service apache2 restart</b></pre>",
|
||||
"windows": "<br> <pre>1. Find the httpd.conf file (usually you will find it in a folder called conf, config or something along those lines)<br>\n2. Inside the httpd.conf file uncomment the line LoadModule rewrite_module modules/mod_rewrite.so (remove the pound '#' sign from in front of the line)<br>\n3. Also find the line ClearModuleList is uncommented then find and make sure that the line AddModule mod_rewrite.c is not commented out.\n</pre>"
|
||||
},
|
||||
"microsoft-iis": {
|
||||
@@ -102,7 +109,7 @@
|
||||
}
|
||||
},
|
||||
"modRewriteHelp": {
|
||||
"apache": "API Error: EspoCRM API unavailable.<br> Possible problems: disabled \"mod_rewrite\" in Apache server or .htaccess support.",
|
||||
"apache": "API Error: EspoCRM API unavailable.<br> Possible problems: RewriteBase required, disabled \"mod_rewrite\" in Apache server or .htaccess support.",
|
||||
"nginx": "API Error: EspoCRM API unavailable.<br> Add this code to your Nginx Host Config (inside \"server\" block):<br>\n<pre>\n{0}\n</pre>",
|
||||
"microsoft-iis": "API Error: EspoCRM API unavailable.<br> Possible problem: disabled \"URL Rewrite\". Please check and enable \"URL Rewrite\" Module in IIS server",
|
||||
"default": "API Error: EspoCRM API unavailable.<br> Possible problem: disabled Rewrite Module. Please check and enable Rewrite Module in your server (e.g. mod_rewrite in Apache) and .htaccess support."
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
"Step5 page title": "Paramètres SMTP pour envoyer les emails",
|
||||
"Errors page title": "Erreurs",
|
||||
"Finish page title": "L'installation est terminée",
|
||||
"Congratulation! Welcome to EspoCRM!": "Félicitation! EspoCRM a été installé avec succès.",
|
||||
"Congratulation! Welcome to EspoCRM": "Félicitation! EspoCRM a été installé avec succès.",
|
||||
"Installation Guide": "Instructions d'installation",
|
||||
"admin": "admin",
|
||||
"localhost": "localhost",
|
||||
@@ -25,8 +25,14 @@
|
||||
"Next": "Suivant",
|
||||
"Go to EspoCRM": "Aller à EspoCRM",
|
||||
"Re-check": "Revérifier",
|
||||
"Version": "Version",
|
||||
"Test settings": "Tester la Connexion",
|
||||
"Database Settings Description": "Enter your MySQL database connection information (hostname, username and password). You can specify the server port for hostname like localhost:3306."
|
||||
"Database Settings Description": "Enter your MySQL database connection information (hostname, username and password). You can specify the server port for hostname like localhost:3306.",
|
||||
"phpVersion": "Version PHP",
|
||||
"mysqlVersion": "Version MySQL",
|
||||
"dbHostName": "Nom d'hôte",
|
||||
"dbName": "Nom de la Base de Donnée",
|
||||
"dbUserName": "Nom d'utilisateur de la base de donnée"
|
||||
},
|
||||
"fields": {
|
||||
"Choose your language": "Choisissez votre langue",
|
||||
@@ -63,6 +69,7 @@
|
||||
"Bad init Permission": "Permission denied for \"{*}\" directory. Please set 775 for \"{*}\" or just execute this command in the terminal <pre><b>{C}</b></pre>\n\tOperation not permitted? Try this one: {CSU}",
|
||||
"Some errors occurred!": "Des erreurs se sont produites !",
|
||||
"phpVersion": "Your PHP version is not supported by EspoCRM, please update to PHP {minVersion} at least",
|
||||
"MySQLVersion": "Your MySQL version is not supported by EspoCRM, please update to MySQL {minVersion} at least",
|
||||
"The PHP extension was not found...": "L'extension PHP <b>{extName}</b> est introuvable...",
|
||||
"All Settings correct": "Les Paramètres sont corrects",
|
||||
"Failed to connect to database": "Impossible de connecter la base de donnée",
|
||||
@@ -95,7 +102,7 @@
|
||||
},
|
||||
"modRewriteInstruction": {
|
||||
"apache": {
|
||||
"linux": "<br><br>To enable .htaccess support add/edit the Server configuration settings inside your <VirtualHost> section (httpd.conf):<pre><Directory /PATH_TO_ESPO/>\n <b>AllowOverride All</b>\n</Directory></pre>\n Afterwards run this command in a Terminal:<pre><b>service apache2 restart</b></pre><br>To enable \"mod_rewrite\" run those commands in a Terminal:<pre><b>a2enmod rewrite <br>service apache2 restart</b></pre>",
|
||||
"linux": "<br><br>To add the RewriteBase path, open a file {API_PATH}.htaccess and change the following line:<pre># RewriteBase /</pre>To<pre>RewriteBase {ESPO_PATH}{API_PATH}</pre><br>To enable .htaccess support add/edit the Server configuration settings inside your <VirtualHost> section (httpd.conf):<pre><Directory /PATH_TO_ESPO/>\n <b>AllowOverride All</b>\n</Directory></pre>\n Afterwards run this command in a Terminal:<pre><b>service apache2 restart</b></pre><br>To enable \"mod_rewrite\" run those commands in a Terminal:<pre><b>a2enmod rewrite <br>service apache2 restart</b></pre>",
|
||||
"windows": "<br> <pre>1. Find the httpd.conf file (usually you will find it in a folder called conf, config or something along those lines)<br>\n2. Inside the httpd.conf file uncomment the line LoadModule rewrite_module modules/mod_rewrite.so (remove the pound '#' sign from in front of the line)<br>\n3. Also find the line ClearModuleList is uncommented then find and make sure that the line AddModule mod_rewrite.c is not commented out.\n</pre>"
|
||||
},
|
||||
"microsoft-iis": {
|
||||
@@ -103,7 +110,7 @@
|
||||
}
|
||||
},
|
||||
"modRewriteHelp": {
|
||||
"apache": "API Error: EspoCRM API unavailable.<br> Possible problems: disabled \"mod_rewrite\" in Apache server or .htaccess support.",
|
||||
"apache": "API Error: EspoCRM API unavailable.<br> Possible problems: RewriteBase required, disabled \"mod_rewrite\" in Apache server or .htaccess support.",
|
||||
"nginx": "API Error: EspoCRM API unavailable.<br> Add this code to your Nginx Host Config (inside \"server\" block):<br>\n<pre>\n{0}\n</pre>",
|
||||
"microsoft-iis": "API Error: EspoCRM API unavailable.<br> Possible problem: disabled \"URL Rewrite\". Please check and enable \"URL Rewrite\" Module in IIS server",
|
||||
"default": "API Error: EspoCRM API unavailable.<br> Possible problem: disabled Rewrite Module. Please check and enable Rewrite Module in your server (e.g. mod_rewrite in Apache) and .htaccess support."
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
"Step5 page title": "SMTP instellingen voor uitgaande emails",
|
||||
"Errors page title": "Fouten",
|
||||
"Finish page title": "Installatie is compleet",
|
||||
"Congratulation! Welcome to EspoCRM!": "Proficiat! EspoCRM heeft u succesvol geinstalleerd.",
|
||||
"Congratulation! Welcome to EspoCRM": "Proficiat! EspoCRM heeft u succesvol geinstalleerd.",
|
||||
"Installation Guide": "Installation Guide",
|
||||
"admin": "admin",
|
||||
"localhost": "localhost",
|
||||
@@ -25,8 +25,14 @@
|
||||
"Next": "Volgende",
|
||||
"Go to EspoCRM": "Ga naar EspoCRM",
|
||||
"Re-check": "Re-check",
|
||||
"Version": "Versie",
|
||||
"Test settings": "Test Verbinding",
|
||||
"Database Settings Description": "Enter your MySQL database connection information (hostname, username and password). You can specify the server port for hostname like localhost:3306."
|
||||
"Database Settings Description": "Enter your MySQL database connection information (hostname, username and password). You can specify the server port for hostname like localhost:3306.",
|
||||
"phpVersion": "PHP versie",
|
||||
"mysqlVersion": "MySQL versie",
|
||||
"dbHostName": "Host Naam",
|
||||
"dbName": "Database Naam",
|
||||
"dbUserName": "Database Gebruikers Naam"
|
||||
},
|
||||
"fields": {
|
||||
"Choose your language": "Kies uw taal",
|
||||
@@ -63,6 +69,7 @@
|
||||
"Bad init Permission": "Permission denied for \"{*}\" directory. Please set 775 for \"{*}\" or just execute this command in the terminal <pre><b>{C}</b></pre>\n\tOperation not permitted? Try this one: {CSU}",
|
||||
"Some errors occurred!": "Er zijn fouten gevonden!",
|
||||
"phpVersion": "Uw PHP versie wordt niet ondersteund door EspoCRM, u moet minimaal updaten naar PHP {minVersion}",
|
||||
"MySQLVersion": "Uw MySQL versie wordt niet ondersteund door EspoCRM, u moet minimaal updaten naar MySQL {minVersion}",
|
||||
"The PHP extension was not found...": "PHP Error: Extension <b>{extName}</b> is not found.",
|
||||
"All Settings correct": "Alle Instellingen zijn juist",
|
||||
"Failed to connect to database": "Kan geen verbinding maken met de database",
|
||||
@@ -95,7 +102,7 @@
|
||||
},
|
||||
"modRewriteInstruction": {
|
||||
"apache": {
|
||||
"linux": "<br><br>To enable .htaccess support add/edit the Server configuration settings inside your <VirtualHost> section (httpd.conf):<pre><Directory /PATH_TO_ESPO/>\n <b>AllowOverride All</b>\n</Directory></pre>\n Afterwards run this command in a Terminal:<pre><b>service apache2 restart</b></pre><br>To enable \"mod_rewrite\" run those commands in a Terminal:<pre><b>a2enmod rewrite <br>service apache2 restart</b></pre>",
|
||||
"linux": "<br><br>To add the RewriteBase path, open a file {API_PATH}.htaccess and change the following line:<pre># RewriteBase /</pre>To<pre>RewriteBase {ESPO_PATH}{API_PATH}</pre><br>To enable .htaccess support add/edit the Server configuration settings inside your <VirtualHost> section (httpd.conf):<pre><Directory /PATH_TO_ESPO/>\n <b>AllowOverride All</b>\n</Directory></pre>\n Afterwards run this command in a Terminal:<pre><b>service apache2 restart</b></pre><br>To enable \"mod_rewrite\" run those commands in a Terminal:<pre><b>a2enmod rewrite <br>service apache2 restart</b></pre>",
|
||||
"windows": "<br> <pre>1. Find the httpd.conf file (usually you will find it in a folder called conf, config or something along those lines)<br>\n2. Inside the httpd.conf file uncomment the line LoadModule rewrite_module modules/mod_rewrite.so (remove the pound '#' sign from in front of the line)<br>\n3. Also find the line ClearModuleList is uncommented then find and make sure that the line AddModule mod_rewrite.c is not commented out.\n</pre>"
|
||||
},
|
||||
"microsoft-iis": {
|
||||
@@ -103,7 +110,7 @@
|
||||
}
|
||||
},
|
||||
"modRewriteHelp": {
|
||||
"apache": "API Error: EspoCRM API niet beschikbaar.<br> Mogelijke Oorzaak: disabled \"mod_rewrite\" in Apache server of .htaccess ondersteuning.",
|
||||
"apache": "API Error: EspoCRM API niet beschikbaar.<br> Mogelijke Oorzaak: RewriteBase vereist, disabled \"mod_rewrite\" in Apache server of .htaccess ondersteuning.",
|
||||
"nginx": "API Error: EspoCRM API unavailable.<br> Add this code to your Nginx Host Config (inside \"server\" block):<br>\n<pre>\n{0}\n</pre>",
|
||||
"microsoft-iis": "API Error: EspoCRM API niet beschikbaar.<br> Mogelijk probleem: disabled \"URL Rewrite\". Controleer en activeer \"URL Rewrite\" Module in IIS server",
|
||||
"default": "API Error: EspoCRM API unavailable.<br> Possible problem: disabled Rewrite Module. Please check and enable Rewrite Module in your server (e.g. mod_rewrite in Apache) and .htaccess support."
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
"Step5 page title": "Ustawienia SMTP dla poczty wychodzącej",
|
||||
"Errors page title": "Błędy",
|
||||
"Finish page title": "Instalacja została ukończona",
|
||||
"Congratulation! Welcome to EspoCRM!": "Gratuluje! EspoCRM zostało pomyślnie zainstalowane.",
|
||||
"Congratulation! Welcome to EspoCRM": "Gratuluje! EspoCRM zostało pomyślnie zainstalowane.",
|
||||
"Installation Guide": "Instrukcja instalacji",
|
||||
"admin": "admin",
|
||||
"localhost": "localhost",
|
||||
@@ -25,8 +25,14 @@
|
||||
"Next": "Następny",
|
||||
"Go to EspoCRM": "Idź do EspoCRM",
|
||||
"Re-check": "Sprawdź jeszcze raz",
|
||||
"Version": "Wersja",
|
||||
"Test settings": "Test połączenia z bazą danych",
|
||||
"Database Settings Description": "Enter your MySQL database connection information (hostname, username and password). You can specify the server port for hostname like localhost:3306."
|
||||
"Database Settings Description": "Enter your MySQL database connection information (hostname, username and password). You can specify the server port for hostname like localhost:3306.",
|
||||
"phpVersion": "Wersja PHP",
|
||||
"mysqlVersion": "Wersja MySQL",
|
||||
"dbHostName": "Host Name",
|
||||
"dbName": "Nazwa Bazy Danych",
|
||||
"dbUserName": "Nazwa Użytkonika Bazy Danych"
|
||||
},
|
||||
"fields": {
|
||||
"Choose your language": "Wybierz swój język",
|
||||
@@ -63,6 +69,7 @@
|
||||
"Bad init Permission": "Permission denied for \"{*}\" directory. Please set 775 for \"{*}\" or just execute this command in the terminal <pre><b>{C}</b></pre>\n\tOperation not permitted? Try this one: {CSU}",
|
||||
"Some errors occurred!": "Wystapiły błędy!",
|
||||
"phpVersion": "Wersja PHP nie jest wspierana przez EspoCRM, proszę wykonać aktualizację do minimalnej wersji PHP {minVersion}",
|
||||
"MySQLVersion": "Wersja MySQL nie jest wspierana przez EspoCRM, proszę wykonać aktualizację do minimalnej wersji MySQL {minVersion}",
|
||||
"The PHP extension was not found...": "PHP Error: Extension <b>{extName}</b> is not found.",
|
||||
"All Settings correct": "Wszystkie ustwienia są poprawne",
|
||||
"Failed to connect to database": "Błąd połączenia z bazą danych",
|
||||
@@ -95,7 +102,7 @@
|
||||
},
|
||||
"modRewriteInstruction": {
|
||||
"apache": {
|
||||
"linux": "<br><br>To enable .htaccess support add/edit the Server configuration settings inside your <VirtualHost> section (httpd.conf):<pre><Directory /PATH_TO_ESPO/>\n <b>AllowOverride All</b>\n</Directory></pre>\n Afterwards run this command in a Terminal:<pre><b>service apache2 restart</b></pre><br>To enable \"mod_rewrite\" run those commands in a Terminal:<pre><b>a2enmod rewrite <br>service apache2 restart</b></pre>",
|
||||
"linux": "<br><br>To add the RewriteBase path, open a file {API_PATH}.htaccess and change the following line:<pre># RewriteBase /</pre>To<pre>RewriteBase {ESPO_PATH}{API_PATH}</pre><br>To enable .htaccess support add/edit the Server configuration settings inside your <VirtualHost> section (httpd.conf):<pre><Directory /PATH_TO_ESPO/>\n <b>AllowOverride All</b>\n</Directory></pre>\n Afterwards run this command in a Terminal:<pre><b>service apache2 restart</b></pre><br>To enable \"mod_rewrite\" run those commands in a Terminal:<pre><b>a2enmod rewrite <br>service apache2 restart</b></pre>",
|
||||
"windows": "<br> <pre>1. Find the httpd.conf file (usually you will find it in a folder called conf, config or something along those lines)<br>\n2. Inside the httpd.conf file uncomment the line LoadModule rewrite_module modules/mod_rewrite.so (remove the pound '#' sign from in front of the line)<br>\n3. Also find the line ClearModuleList is uncommented then find and make sure that the line AddModule mod_rewrite.c is not commented out.\n</pre>"
|
||||
},
|
||||
"microsoft-iis": {
|
||||
@@ -103,7 +110,7 @@
|
||||
}
|
||||
},
|
||||
"modRewriteHelp": {
|
||||
"apache": "Błąd API: API jest nie dostępne.<br> Pradwdopodobnie: wyłączyłeś \"mod_rewrite\" w serwerze Apache lub .htaccess.",
|
||||
"apache": "Błąd API: API jest nie dostępne.<br> Pradwdopodobnie: wymagane RewriteBase, wyłączyłeś \"mod_rewrite\" w serwerze Apache lub .htaccess.",
|
||||
"nginx": "API Error: EspoCRM API unavailable.<br> Add this code to your Nginx Host Config (inside \"server\" block):<br>\n<pre>\n{0}\n</pre>",
|
||||
"microsoft-iis": "Błąd API: API jest nie dostepne.<br> Pradopodobnie: wyłączyłeś \"URL Rewrite\". Proszę sprawdź i włącz \"URL Rewrite\" Moduł w IIS serwer",
|
||||
"default": "API Error: EspoCRM API unavailable.<br> Possible problem: disabled Rewrite Module. Please check and enable Rewrite Module in your server (e.g. mod_rewrite in Apache) and .htaccess support."
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
"Step5 page title": "Setari SMTP pentru trimitere email-uri",
|
||||
"Errors page title": "Erori",
|
||||
"Finish page title": "Instalare finalizata",
|
||||
"Congratulation! Welcome to EspoCRM!": "Felicitari! EspoCRM a fost instalat cu succes.",
|
||||
"Congratulation! Welcome to EspoCRM": "Felicitari! EspoCRM a fost instalat cu succes.",
|
||||
"Installation Guide": "Instrucțiuni de instalare",
|
||||
"admin": "admin",
|
||||
"localhost": "localhost",
|
||||
@@ -25,8 +25,14 @@
|
||||
"Next": "Inainte",
|
||||
"Go to EspoCRM": "Mergi la EspoCRM",
|
||||
"Re-check": "Re-verificare",
|
||||
"Version": "Versiunea",
|
||||
"Test settings": "Testare Conexiune",
|
||||
"Database Settings Description": "Enter your MySQL database connection information (hostname, username and password). You can specify the server port for hostname like localhost:3306."
|
||||
"Database Settings Description": "Enter your MySQL database connection information (hostname, username and password). You can specify the server port for hostname like localhost:3306.",
|
||||
"phpVersion": "Versiune PHP",
|
||||
"mysqlVersion": "Versiune MySQL",
|
||||
"dbHostName": "Numele Server-ului",
|
||||
"dbName": "Numele Bazei de Date",
|
||||
"dbUserName": "Nume Utilizator Baza de Date"
|
||||
},
|
||||
"fields": {
|
||||
"Choose your language": "Alege Limba",
|
||||
@@ -63,6 +69,7 @@
|
||||
"Bad init Permission": "Permission denied for \"{*}\" directory. Please set 775 for \"{*}\" or just execute this command in the terminal <pre><b>{C}</b></pre>\n\tOperation not permitted? Try this one: {CSU}",
|
||||
"Some errors occurred!": "Am intampinat erori!",
|
||||
"phpVersion": "Your PHP version is not supported by EspoCRM, please update to PHP {minVersion} at least",
|
||||
"MySQLVersion": "Your MySQL version is not supported by EspoCRM, please update to MySQL {minVersion} at least",
|
||||
"The PHP extension was not found...": "PHP Error: Extension <b>{extName}</b> is not found.",
|
||||
"All Settings correct": "Toate setarile sunt corecte",
|
||||
"Failed to connect to database": "Nu s-a reusit conectarea la Baza de Date",
|
||||
@@ -95,7 +102,7 @@
|
||||
},
|
||||
"modRewriteInstruction": {
|
||||
"apache": {
|
||||
"linux": "<br><br>To enable .htaccess support add/edit the Server configuration settings inside your <VirtualHost> section (httpd.conf):<pre><Directory /PATH_TO_ESPO/>\n <b>AllowOverride All</b>\n</Directory></pre>\n Afterwards run this command in a Terminal:<pre><b>service apache2 restart</b></pre><br>To enable \"mod_rewrite\" run those commands in a Terminal:<pre><b>a2enmod rewrite <br>service apache2 restart</b></pre>",
|
||||
"linux": "<br><br>To add the RewriteBase path, open a file {API_PATH}.htaccess and change the following line:<pre># RewriteBase /</pre>To<pre>RewriteBase {ESPO_PATH}{API_PATH}</pre><br>To enable .htaccess support add/edit the Server configuration settings inside your <VirtualHost> section (httpd.conf):<pre><Directory /PATH_TO_ESPO/>\n <b>AllowOverride All</b>\n</Directory></pre>\n Afterwards run this command in a Terminal:<pre><b>service apache2 restart</b></pre><br>To enable \"mod_rewrite\" run those commands in a Terminal:<pre><b>a2enmod rewrite <br>service apache2 restart</b></pre>",
|
||||
"windows": "<br> <pre>1. Find the httpd.conf file (usually you will find it in a folder called conf, config or something along those lines)<br>\n2. Inside the httpd.conf file uncomment the line LoadModule rewrite_module modules/mod_rewrite.so (remove the pound '#' sign from in front of the line)<br>\n3. Also find the line ClearModuleList is uncommented then find and make sure that the line AddModule mod_rewrite.c is not commented out.\n</pre>"
|
||||
},
|
||||
"microsoft-iis": {
|
||||
@@ -103,7 +110,7 @@
|
||||
}
|
||||
},
|
||||
"modRewriteHelp": {
|
||||
"apache": "Eroare API: API-ul EspoCRM nu este valabil.<br> Probleme posibile: este dezactivat \"mod_rewrite\" in server-ul Apache, sau in .htaccess.",
|
||||
"apache": "Eroare API: API-ul EspoCRM nu este valabil.<br> Probleme posibile: RewriteBase necesar, este dezactivat \"mod_rewrite\" in server-ul Apache, sau in .htaccess.",
|
||||
"nginx": "API Error: EspoCRM API unavailable.<br> Add this code to your Nginx Host Config (inside \"server\" block):<br>\n<pre>\n{0}\n</pre>",
|
||||
"microsoft-iis": "Eroare API: API-ul EspoCRM nu este valabil.<br> Probleme posibile: este dezactivat \"URL Rewrite\". Verificati si activati modulul \"URL Rewrite\" in server-ul IIS",
|
||||
"default": "API Error: EspoCRM API unavailable.<br> Possible problem: disabled Rewrite Module. Please check and enable Rewrite Module in your server (e.g. mod_rewrite in Apache) and .htaccess support."
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
"Step5 page title": "Giden epostalar için SMTP ayarları",
|
||||
"Errors page title": "Hatalar",
|
||||
"Finish page title": "Yükleme tamamlandı",
|
||||
"Congratulation! Welcome to EspoCRM!": "Tebrikler! EspoCRM başarıyla yüklendi.",
|
||||
"Congratulation! Welcome to EspoCRM": "Tebrikler! EspoCRM başarıyla yüklendi.",
|
||||
"Installation Guide": "Kurulum Talimatları",
|
||||
"admin": "Yçnetici",
|
||||
"localhost": "localhost",
|
||||
@@ -25,11 +25,17 @@
|
||||
"Next": "Sonraki",
|
||||
"Go to EspoCRM": "EspoCRM sayfama git",
|
||||
"Re-check": "Tekrar Kontrol Et",
|
||||
"Test settings": "Bağlantıyı Kontrol Et"
|
||||
"Version": "Versiyon",
|
||||
"Test settings": "Bağlantıyı Kontrol Et",
|
||||
"phpVersion": "PHP sürümü",
|
||||
"mysqlVersion": "MySQL sürümü",
|
||||
"dbHostName": "Sunucu Adı",
|
||||
"dbName": "Veritabanı adı",
|
||||
"dbUserName": "Veritabanı Kullanıcı Adı"
|
||||
},
|
||||
"fields": {
|
||||
"Choose your language": "Dili seçin",
|
||||
"Database Name": "Veritabanı adı:",
|
||||
"Database Name": "Veritabanı adı",
|
||||
"Host Name": "Sunucu Adı",
|
||||
"Port": "Bağlantı Noktası",
|
||||
"Database User Name": "Veritabanı Kullanıcı Adı",
|
||||
@@ -61,11 +67,12 @@
|
||||
"messages": {
|
||||
"Bad init Permission": "Permission denied for \"{*}\" directory. Please set 775 for \"{*}\" or just execute this command in the terminal <pre><b>{C}<\/b><\/pre>\n\tOperation not permitted? Try this one: {CSU}",
|
||||
"Some errors occurred!": "Bazı hatalar oluştu!",
|
||||
"Supported php version >=": "Desteklenen Php Sürümü >=",
|
||||
"phpVersion": "Your PHP version is not supported by EspoCRM, please update to PHP {minVersion} at least",
|
||||
"MySQLVersion": "Your MySQL version is not supported by EspoCRM, please update to MySQL {minVersion} at least",
|
||||
"The PHP extension was not found...": "<b>{extName}<\/b> PHP eklentisi bulunamadı...",
|
||||
"All Settings correct": "Tüm ayarlar doğru",
|
||||
"Failed to connect to database": "Veritabanına bağlanma başarısız oldu",
|
||||
"PHP version: ": "PHP sürümü:",
|
||||
"PHP version": "PHP sürümü",
|
||||
"You must agree to the license agreement": "Lisans sözleşmesini kabul etmelisiniz",
|
||||
"Passwords do not match": "Şifreler eşleşmiyor",
|
||||
"Enable mod_rewrite in Apache server": "Mod_rewrite ı Apache sunucusunda etkinleştirin",
|
||||
@@ -94,7 +101,7 @@
|
||||
},
|
||||
"modRewriteInstruction": {
|
||||
"apache": {
|
||||
"linux": "<br><br>To enable .htaccess support add/edit the Server configuration settings inside your <VirtualHost> section (httpd.conf):<pre><Directory \/PATH_TO_ESPO\/>\n <b>AllowOverride All<\/b>\n<\/Directory><\/pre>\n Afterwards run this command in a Terminal:<pre><b>service apache2 restart<\/b><\/pre><br>To enable \"mod_rewrite\" run those commands in a Terminal:<pre><b>a2enmod rewrite <br>service apache2 restart<\/b><\/pre>",
|
||||
"linux": "<br><br>To add the RewriteBase path, open a file {API_PATH}.htaccess and change the following line:<pre># RewriteBase /</pre>To<pre>RewriteBase {ESPO_PATH}{API_PATH}</pre><br>To enable .htaccess support add/edit the Server configuration settings inside your <VirtualHost> section (httpd.conf):<pre><Directory /PATH_TO_ESPO/>\n <b>AllowOverride All</b>\n</Directory></pre>\n Afterwards run this command in a Terminal:<pre><b>service apache2 restart</b></pre><br>To enable \"mod_rewrite\" run those commands in a Terminal:<pre><b>a2enmod rewrite <br>service apache2 restart</b></pre>",
|
||||
"windows": "<br> <pre>1. Find the httpd.conf file (usually you will find it in a folder called conf, config or something along those lines)<br>\n2. Inside the httpd.conf file uncomment the line LoadModule rewrite_module modules\/mod_rewrite.so (remove the pound '#' sign from in front of the line)<br>\n3. Also find the line ClearModuleList is uncommented then find and make sure that the line AddModule mod_rewrite.c is not commented out.\n<\/pre>"
|
||||
},
|
||||
"microsoft-iis": {
|
||||
@@ -102,7 +109,7 @@
|
||||
}
|
||||
},
|
||||
"modRewriteHelp": {
|
||||
"apache": "API Error: EspoCRM API unavailable.<br> Possible problems: disabled \"mod_rewrite\" in Apache server or .htaccess support.",
|
||||
"apache": "API Error: EspoCRM API unavailable.<br> Possible problems: RewriteBase required, disabled \"mod_rewrite\" in Apache server or .htaccess support.",
|
||||
"nginx": "API Error: EspoCRM API unavailable.<br> Add this code to your Nginx Host Config (inside \"server\" block):<br>\n<pre>\n{0}\n</pre>",
|
||||
"microsoft-iis": "API Error: EspoCRM API unavailable.<br> Possible problem: disabled \"URL Rewrite\". Please check and enable \"URL Rewrite\" Module in IIS server",
|
||||
"default": "API Error: EspoCRM API unavailable.<br> Possible problem: disabled Rewrite Module. Please check and enable Rewrite Module in your server (e.g. mod_rewrite in Apache) and .htaccess support."
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
"Step5 page title": "Cài đặt SMTP cho email đi",
|
||||
"Errors page title": "Lỗi",
|
||||
"Finish page title": "Hoàn thành cài đặt",
|
||||
"Congratulation! Welcome to EspoCRM!": "Xin chúc mừng bạn! EspoCRM đã được cài đặt thành công.",
|
||||
"Congratulation! Welcome to EspoCRM": "Xin chúc mừng bạn! EspoCRM đã được cài đặt thành công.",
|
||||
"Installation Guide": "Hướng dẫn cài đặt",
|
||||
"admin": "admin",
|
||||
"localhost": "localhost",
|
||||
@@ -25,8 +25,14 @@
|
||||
"Next": "Tiến",
|
||||
"Go to EspoCRM": "Đi đến EspoCRM",
|
||||
"Re-check": "Kiểm tra lại",
|
||||
"Version": "Phiên bản",
|
||||
"Test settings": "Kiểm tra kết nối",
|
||||
"Database Settings Description": "Enter your MySQL database connection information (hostname, username and password). You can specify the server port for hostname like localhost:3306."
|
||||
"Database Settings Description": "Enter your MySQL database connection information (hostname, username and password). You can specify the server port for hostname like localhost:3306.",
|
||||
"phpVersion": "Phiên bản PHP",
|
||||
"mysqlVersion": "Phiên bản MySQL",
|
||||
"dbHostName": "Tên máy chủ",
|
||||
"dbName": "Tên cơ sở dữ liệu",
|
||||
"dbUserName": "Tên truy cập csdl"
|
||||
},
|
||||
"fields": {
|
||||
"Choose your language": "Chọn ngôn ngữ",
|
||||
@@ -63,6 +69,7 @@
|
||||
"Bad init Permission": "Permission denied for \"{*}\" directory. Please set 775 for \"{*}\" or just execute this command in the terminal <pre><b>{C}</b></pre>\n\tOperation not permitted? Try this one: {CSU}",
|
||||
"Some errors occurred!": "Đã có lỗi xảy ra!",
|
||||
"phpVersion": "Your PHP version is not supported by EspoCRM, please update to PHP {minVersion} at least",
|
||||
"MySQLVersion": "Your MySQL version is not supported by EspoCRM, please update to MySQL {minVersion} at least",
|
||||
"The PHP extension was not found...": "Không tìm thấy phần mở rộng <b>{extName}</b> của PHP",
|
||||
"All Settings correct": "cài đặt thành công",
|
||||
"Failed to connect to database": "Không thể kết nối tới csdl",
|
||||
@@ -95,7 +102,7 @@
|
||||
},
|
||||
"modRewriteInstruction": {
|
||||
"apache": {
|
||||
"linux": "<br><br>To enable .htaccess support add/edit the Server configuration settings inside your <VirtualHost> section (httpd.conf):<pre><Directory /PATH_TO_ESPO/>\n <b>AllowOverride All</b>\n</Directory></pre>\n Afterwards run this command in a Terminal:<pre><b>service apache2 restart</b></pre><br>To enable \"mod_rewrite\" run those commands in a Terminal:<pre><b>a2enmod rewrite <br>service apache2 restart</b></pre>",
|
||||
"linux": "<br><br>To add the RewriteBase path, open a file {API_PATH}.htaccess and change the following line:<pre># RewriteBase /</pre>To<pre>RewriteBase {ESPO_PATH}{API_PATH}</pre><br>To enable .htaccess support add/edit the Server configuration settings inside your <VirtualHost> section (httpd.conf):<pre><Directory /PATH_TO_ESPO/>\n <b>AllowOverride All</b>\n</Directory></pre>\n Afterwards run this command in a Terminal:<pre><b>service apache2 restart</b></pre><br>To enable \"mod_rewrite\" run those commands in a Terminal:<pre><b>a2enmod rewrite <br>service apache2 restart</b></pre>",
|
||||
"windows": "<br> <pre>1. Find the httpd.conf file (usually you will find it in a folder called conf, config or something along those lines)<br>\n2. Inside the httpd.conf file uncomment the line LoadModule rewrite_module modules/mod_rewrite.so (remove the pound '#' sign from in front of the line)<br>\n3. Also find the line ClearModuleList is uncommented then find and make sure that the line AddModule mod_rewrite.c is not commented out.\n</pre>"
|
||||
},
|
||||
"microsoft-iis": {
|
||||
@@ -103,7 +110,7 @@
|
||||
}
|
||||
},
|
||||
"modRewriteHelp": {
|
||||
"apache": "API Error: EspoCRM API unavailable.<br> Possible problems: disabled \"mod_rewrite\" in Apache server or .htaccess support.",
|
||||
"apache": "API Error: EspoCRM API unavailable.<br> Possible problems: RewriteBase required, disabled \"mod_rewrite\" in Apache server or .htaccess support.",
|
||||
"nginx": "API Error: EspoCRM API unavailable.<br> Add this code to your Nginx Host Config (inside \"server\" block):<br>\n<pre>\n{0}\n</pre>",
|
||||
"microsoft-iis": "API Error: EspoCRM API unavailable.<br> Possible problem: disabled \"URL Rewrite\". Please check and enable \"URL Rewrite\" Module in IIS server",
|
||||
"default": "API Error: EspoCRM API unavailable.<br> Possible problem: disabled Rewrite Module. Please check and enable Rewrite Module in your server (e.g. mod_rewrite in Apache) and .htaccess support."
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
<header class="panel-heading">
|
||||
<h4 class="panel-title">{$langs['labels']['Errors page title']}</h4>
|
||||
</header>
|
||||
<div class="panel-body body">
|
||||
<div id="msg-box" class="alert alert-danger">{$errors}</div>
|
||||
<div class="loading-icon hide"></div>
|
||||
@@ -14,7 +11,7 @@
|
||||
</form>
|
||||
</div>
|
||||
<footer class="modal-footer">
|
||||
<button class="btn btn-primary" type="button" id="re-check">{$langs['labels']['Re-check']}</button>
|
||||
<button class="btn btn-warning" type="button" id="re-check">{$langs['labels']['Re-check']}</button>
|
||||
</footer>
|
||||
<script>
|
||||
{literal}
|
||||
@@ -24,6 +21,7 @@
|
||||
action: 'errors',
|
||||
langs: {$langsJs},
|
||||
modRewriteUrl: '{$modRewriteUrl}',
|
||||
apiPath: '{$apiPath}',
|
||||
serverType: '{$serverType}',
|
||||
OS: '{$OS}'
|
||||
}
|
||||
|
||||
@@ -1,12 +1,23 @@
|
||||
<header class="panel-heading">
|
||||
<h4 class="panel-title">{$langs['labels']['Finish page title']}</h4>
|
||||
</header>
|
||||
<div class="panel-body body">
|
||||
<form id="nav">
|
||||
<div class="row">
|
||||
<div class=" col-md-13">
|
||||
<div class="panel-body" align="center">
|
||||
{$langs['labels']['Congratulation! Welcome to EspoCRM!']}
|
||||
<div class="message">
|
||||
{$langs['labels']['Congratulation! Welcome to EspoCRM']}
|
||||
</div>
|
||||
|
||||
<div class="more-information">
|
||||
{assign var="blogLink" value="<a target=\"_blank\" href=\"{$config['blog']}\">{$config['blog']}</a>"}
|
||||
{assign var="twitterLink" value="<a target=\"_blank\" href=\"{$config['twitter']}\">{$config['twitter']}</a>"}
|
||||
{assign var="forumLink" value="<a target=\"_blank\" href=\"{$config['forum']}\">{$config['forum']}</a>"}
|
||||
|
||||
{assign var="message" value="{$langs['labels']['More Information']|replace:'{BLOG}':$blogLink}"}
|
||||
{assign var="message" value="{$message|replace:'{TWITTER}':$twitterLink}"}
|
||||
{assign var="message" value="{$message|replace:'{FORUM}':$forumLink}"}
|
||||
|
||||
{$message}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -14,10 +25,12 @@
|
||||
</div>
|
||||
|
||||
{if $cronHelp}
|
||||
{$cronTitle}
|
||||
<pre>
|
||||
{$cronHelp}
|
||||
</pre>
|
||||
<div class="cron-help">
|
||||
{$cronTitle}
|
||||
<pre>
|
||||
{$cronHelp}
|
||||
</pre>
|
||||
</div>
|
||||
{/if}
|
||||
<footer class="modal-footer">
|
||||
<button class="btn btn-primary" type="button" id="start">{$langs['labels']['Go to EspoCRM']}</button>
|
||||
|
||||
@@ -1,3 +1,15 @@
|
||||
<div style="background-color: #4A6492; padding: 3px 10px;" class="panel-heading">
|
||||
<img src="../client/img/logo.png">
|
||||
</div>
|
||||
</div>
|
||||
<header class="panel-heading">
|
||||
<div class="row">
|
||||
<div class="col-md-10">
|
||||
<h4 class="panel-title">
|
||||
{$langs['labels']["{$action} page title"]}
|
||||
</h4>
|
||||
</div>
|
||||
<div class="col-md-2 version" align="right">
|
||||
{$langs['labels']['Version']} {$version}
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
@@ -1,16 +1,13 @@
|
||||
<header class="panel-heading">
|
||||
<h4 class="panel-title">{$langs['labels']['Main page title']}</h4>
|
||||
</header>
|
||||
<form id="nav">
|
||||
<div class="panel-body">
|
||||
<div id="msg-box" class="alert hide"></div>
|
||||
<div class="row">
|
||||
<div class=" col-md-12">
|
||||
<div class="col-md-12">
|
||||
<div align="center">
|
||||
<div class="content-img">
|
||||
<img class="devices" src="img/devices.png" alt="EspoCRM">
|
||||
</div>
|
||||
{$langs['labels']['Main page header']}
|
||||
<div class="content-img">
|
||||
<img class="devices" src="img/devices.png" alt="EspoCRM">
|
||||
</div>
|
||||
{$langs['labels']['Main page header']}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -34,8 +31,7 @@
|
||||
|
||||
</div>
|
||||
<footer class="modal-footer">
|
||||
|
||||
<button class="btn btn-primary" type="button" id="start">{$langs['labels']['Start']}</button>
|
||||
<button class="btn btn-primary" type="button" id="start">{$langs['labels']['Start']}</button>
|
||||
</footer>
|
||||
</form>
|
||||
<script>
|
||||
|
||||
@@ -0,0 +1,123 @@
|
||||
<div class="setup-confirmation panel-body body">
|
||||
<div id="msg-box" class="alert hide"></div>
|
||||
<form id="nav">
|
||||
<div class="row">
|
||||
|
||||
<table class="table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="3">{$langs['labels']['PHP Configuration']}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{foreach from=$phpConfig key=name item=value}
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
{if $langs['labels'][$name] eq ''}
|
||||
{$name}
|
||||
{else}
|
||||
{$langs['labels'][{$name}]}
|
||||
{/if}
|
||||
</td>
|
||||
<td class="col-md-4">{$value['current']}</td>
|
||||
<td class="col-md-4">
|
||||
|
||||
{if $value['acceptable'] eq true}
|
||||
<span class="ok">
|
||||
{$langs['labels']['OK']}
|
||||
</span>
|
||||
{else}
|
||||
<span class="remark">
|
||||
{if $value['isExtension'] eq true}
|
||||
{assign var="messageName" value="extension"}
|
||||
{else}
|
||||
{assign var="messageName" value="option"}
|
||||
{/if}
|
||||
|
||||
{$langs['messages'][{$messageName}]|replace:'{0}':$value['required']}
|
||||
</span>
|
||||
{/if}
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table class="table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="2">{$langs['labels']['MySQL Configuration']}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{foreach from=$mysqlConfig key=name item=value}
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
{if $langs['labels'][$name] eq ''}
|
||||
{$name}
|
||||
{else}
|
||||
{$langs['labels'][{$name}]}
|
||||
{/if}
|
||||
</td>
|
||||
<td class="col-md-4">{$value['current']}</td>
|
||||
<td class="col-md-4">
|
||||
|
||||
{if $value['acceptable'] eq true}
|
||||
<span class="ok">
|
||||
{$langs['labels']['OK']}
|
||||
</span>
|
||||
{else}
|
||||
<span class="remark">
|
||||
{if $value['isExtension'] eq true}
|
||||
{assign var="messageName" value="extension"}
|
||||
{else}
|
||||
{assign var="messageName" value="option"}
|
||||
{/if}
|
||||
|
||||
{$langs['messages'][{$messageName}]|replace:'{0}':$value['required']}
|
||||
</span>
|
||||
{/if}
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div class="cell cell-website pull-right" align="right">
|
||||
<a target="_blank" href="http://blog.espocrm.com/administration/server-configuration-for-espocrm/" style="font-weight:bold;">{$langs['labels']['Configuration Instructions']}</a>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div class="loading-icon hide"></div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<footer class="modal-footer">
|
||||
<button class="btn btn-default" type="button" id="back">{$langs['labels']['Back']}</button>
|
||||
<button class="btn btn-warning" type="button" id="re-check">{$langs['labels']['Re-check']}</button>
|
||||
<button class="btn btn-primary" type="button" id="next">{$langs['labels']['Install']}</button>
|
||||
</footer>
|
||||
<script>
|
||||
{literal}
|
||||
$(function(){
|
||||
{/literal}
|
||||
var opt = {
|
||||
action: 'setupConfirmation',
|
||||
langs: {$langsJs},
|
||||
modRewriteUrl: '{$modRewriteUrl}',
|
||||
apiPath: '{$apiPath}',
|
||||
serverType: '{$serverType}',
|
||||
OS: '{$OS}'
|
||||
}
|
||||
{literal}
|
||||
var installScript = new InstallScript(opt);
|
||||
jQuery('#re-check').click(function(){
|
||||
installScript.goTo('setupConfirmation');
|
||||
});
|
||||
})
|
||||
{/literal}
|
||||
</script>
|
||||
@@ -1,13 +1,10 @@
|
||||
<header class="panel-heading">
|
||||
<h4 class="panel-title">{$langs['labels']['Step1 page title']}</h4>
|
||||
</header>
|
||||
<div class="panel-body body">
|
||||
<div id="msg-box" class="alert hide"></div>
|
||||
<form id="nav">
|
||||
<div class="row">
|
||||
<div class=" col-md-12">
|
||||
<div class="row">
|
||||
<div class="cell cell-website col-sm-12 form-group">
|
||||
<div class="cell cell-website col-sm-12 form-group">
|
||||
<div class="field field-website">
|
||||
<textarea rows="16" class="license-field">{$license}</textarea>
|
||||
</div>
|
||||
@@ -20,7 +17,7 @@
|
||||
<label class="point-lbl" for="license-agree"> {$langs['labels']['I accept the agreement']}</label>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
|
||||
</div>
|
||||
<footer class="modal-footer">
|
||||
<button class="btn btn-default" type="button" id="back">{$langs['labels']['Back']}</button>
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
<header class="panel-heading">
|
||||
<h4 class="panel-title">{$langs['labels']['Step2 page title']}</h4>
|
||||
</header>
|
||||
<div class="panel-body body">
|
||||
|
||||
<div id="msg-box" class="alert hide"></div>
|
||||
@@ -24,13 +21,13 @@
|
||||
<div class="cell cell-website col-sm-12 form-group">
|
||||
<label class="field-label-website control-label">{$langs['fields']['Database User Name']} *</label>
|
||||
<div class="field field-website">
|
||||
<input type="text" value="{$fields['db-user-name'].value}" name="db-user-name" class="main-element form-control">
|
||||
<input type="text" value="{$fields['db-user-name'].value}" name="db-user-name" class="main-element form-control" autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell cell-website col-sm-12 form-group">
|
||||
<label class="field-label-website control-label">{$langs['fields']['Database User Password']}</label>
|
||||
<div class="field field-website">
|
||||
<input type="password" value="{$fields['db-user-password'].value}" name="db-user-password" class="main-element form-control">
|
||||
<input type="password" value="{$fields['db-user-password'].value}" name="db-user-password" class="main-element form-control" autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
<header class="panel-heading">
|
||||
<h4 class="panel-title">{$langs['labels']['Step3 page title']}</h4>
|
||||
</header>
|
||||
<div class="panel-body body">
|
||||
<div id="msg-box" class="alert hide"></div>
|
||||
<div class="loading-icon hide"></div>
|
||||
@@ -12,7 +9,7 @@
|
||||
<div class="cell cell-website col-sm-12 form-group">
|
||||
<label class="field-label-website control-label">{$langs['fields']['User Name']} *</label>
|
||||
<div class="field field-website">
|
||||
<input type="text" value="{$fields['user-name'].value}" name="user-name" class="main-element form-control">
|
||||
<input type="text" value="{$fields['user-name'].value}" name="user-name" class="main-element form-control" autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -21,7 +18,7 @@
|
||||
<div class="cell cell-website col-sm-12 form-group">
|
||||
<label class="field-label-website control-label">{$langs['fields']['Password']} *</label>
|
||||
<div class="field field-website">
|
||||
<input type="password" value="{$fields['user-pass'].value}" name="user-pass" class="main-element form-control">
|
||||
<input type="password" value="{$fields['user-pass'].value}" name="user-pass" class="main-element form-control" autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -30,7 +27,7 @@
|
||||
<div class="cell cell-website col-sm-12 form-group">
|
||||
<label class="field-label-website control-label">{$langs['fields']['Confirm Password']} *</label>
|
||||
<div class="field field-website">
|
||||
<input type="password" value="{$fields['user-confirm-pass'].value}" name="user-confirm-pass" class="main-element form-control">
|
||||
<input type="password" value="{$fields['user-confirm-pass'].value}" name="user-confirm-pass" class="main-element form-control" autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -40,7 +37,6 @@
|
||||
</form>
|
||||
</div>
|
||||
<footer class="modal-footer">
|
||||
<button class="btn btn-default" type="button" id="back">{$langs['labels']['Back']}</button>
|
||||
<button class="btn btn-primary" type="button" id="next">{$langs['labels']['Next']}</button>
|
||||
</footer>
|
||||
<script>
|
||||
@@ -51,6 +47,7 @@
|
||||
action: 'step3',
|
||||
langs: {$langsJs},
|
||||
modRewriteUrl: '{$modRewriteUrl}',
|
||||
apiPath: '{$apiPath}',
|
||||
serverType: '{$serverType}',
|
||||
OS: '{$OS}'
|
||||
}
|
||||
|
||||
+19
-22
@@ -1,6 +1,3 @@
|
||||
<header class="panel-heading">
|
||||
<h4 class="panel-title main-title">{$langs['labels']['Step4 page title']}</h4>
|
||||
</header>
|
||||
<div class="panel-body body">
|
||||
<div id="msg-box" class="alert hide"></div>
|
||||
<div class="loading-icon hide"></div>
|
||||
@@ -24,7 +21,7 @@
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="cell cell-timeFormat col-sm-6 form-group">
|
||||
<label class="field-label-timeFormat control-label">
|
||||
{$langs['fields']['Time Format']}
|
||||
@@ -40,16 +37,16 @@
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="cell cell-timeZone col-sm-6 form-group">
|
||||
<label class="field-label-timeZone control-label">
|
||||
{$langs['fields']['Time Zone']}
|
||||
</label>
|
||||
<div class="field field-timeZone">
|
||||
<select name="timeZone" class="form-control main-element">
|
||||
<select name="timeZone" class="form-control main-element">
|
||||
{foreach from=$settingsDefaults['timeZone'].options item=lbl key=val}
|
||||
{if $val == $fields['timeZone'].value}
|
||||
<option selected="selected" value="{$val}">{$lbl}</option>
|
||||
@@ -60,13 +57,13 @@
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="cell cell-weekStart col-sm-6 form-group">
|
||||
<label class="field-label-weekStart control-label">
|
||||
{$langs['fields']['First Day of Week']}
|
||||
</label>
|
||||
<div class="field field-weekStart">
|
||||
<select name="weekStart" class="form-control main-element">
|
||||
<select name="weekStart" class="form-control main-element">
|
||||
{foreach from=$settingsDefaults['weekStart'].options item=lbl key=val}
|
||||
{if $val == $fields['weekStart'].value}
|
||||
<option selected="selected" value="{$val}">{$lbl}</option>
|
||||
@@ -77,15 +74,15 @@
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="cell cell-defaultCurrency col-sm-6 form-group">
|
||||
<label class="field-label-defaultCurrency control-label">
|
||||
{$langs['fields']['Default Currency']}
|
||||
</label>
|
||||
<div class="field field-defaultCurrency">
|
||||
<select name="defaultCurrency" class="form-control main-element">
|
||||
<select name="defaultCurrency" class="form-control main-element">
|
||||
{foreach from=$settingsDefaults['defaultCurrency'].options item=lbl key=val}
|
||||
{if $val == $fields['defaultCurrency'].value}
|
||||
<option selected="selected" value="{$val}">{$lbl}</option>
|
||||
@@ -96,8 +93,8 @@
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="cell cell-thousandSeparator col-sm-6 form-group">
|
||||
<label class="field-label-thousandSeparator control-label">
|
||||
@@ -107,7 +104,7 @@
|
||||
<input type="text" class="main-element form-control" name="thousandSeparator" value="{$fields['thousandSeparator'].value}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="cell cell-decimalMark col-sm-6 form-group">
|
||||
<label class="field-label-decimalMark control-label">
|
||||
{$langs['fields']['Decimal Mark']} *</label>
|
||||
@@ -115,15 +112,15 @@
|
||||
<input type="text" class="main-element form-control" name="decimalMark" value="{$fields['decimalMark'].value}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="cell cell-language col-sm-6 form-group">
|
||||
<label class="field-label-language control-label">
|
||||
{$langs['fields']['Language']}
|
||||
</label>
|
||||
<div class="field field-language">
|
||||
<select name="language" class="form-control main-element">
|
||||
<select name="language" class="form-control main-element">
|
||||
{foreach from=$settingsDefaults['language'].options item=lbl key=val}
|
||||
{if $val == $fields['language'].value}
|
||||
<option selected="selected" value="{$val}">{$lbl}</option>
|
||||
@@ -134,10 +131,10 @@
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</form>
|
||||
</div>
|
||||
<footer class="modal-footer">
|
||||
<button class="btn btn-default" type="button" id="back">{$langs['labels']['Back']}</button>
|
||||
|
||||
+18
-21
@@ -1,13 +1,10 @@
|
||||
<header class="panel-heading">
|
||||
<h4 class="panel-title main-title">{$langs['labels']['Step5 page title']}</h4>
|
||||
</header>
|
||||
<div class="panel-body body">
|
||||
<div id="msg-box" class="alert hide"></div>
|
||||
<div class="loading-icon hide"></div>
|
||||
<form id="nav">
|
||||
<form id="nav">
|
||||
<div class="row">
|
||||
<div class="col-md-8" style="width:100%" >
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="cell cell-outboundEmailFromName col-sm-6 form-group">
|
||||
<label class="field-label-outboundEmailFromName control-label">
|
||||
@@ -16,7 +13,7 @@
|
||||
<input type="text" class="main-element form-control" name="outboundEmailFromName" value="{$fields['outboundEmailFromName'].value}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="cell cell-outboundEmailFromAddress col-sm-6 form-group">
|
||||
<label class="field-label-outboundEmailFromAddress control-label">
|
||||
{$langs['fields']['From Address']}</label>
|
||||
@@ -24,8 +21,8 @@
|
||||
<input type="text" class="main-element form-control" name="outboundEmailFromAddress" value="{$fields['outboundEmailFromAddress'].value}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="cell cell-outboundEmailIsShared col-sm-6 form-group">
|
||||
<label class="field-label-outboundEmailIsShared control-label">
|
||||
@@ -36,8 +33,8 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<br>
|
||||
<div class="row">
|
||||
<div class="cell cell-smtpServer col-sm-6 form-group">
|
||||
<label class="field-label-smtpServer control-label">
|
||||
@@ -55,9 +52,9 @@
|
||||
<div class="field field-smtpPort">
|
||||
<input type="text" class="main-element form-control" name="smtpPort" value="{$fields['smtpPort'].value}" pattern="[\-]?[0-9]*" maxlength="4">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="cell cell-smtpAuth col-sm-6 form-group">
|
||||
<label class="field-label-smtpAuth control-label">
|
||||
@@ -67,13 +64,13 @@
|
||||
<input type="checkbox" name="smtpAuth" class="main-element" {if $fields['smtpAuth'].value} checked {/if}>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="cell cell-smtpSecurity col-sm-6 form-group">
|
||||
<label class="field-label-smtpSecurity control-label">
|
||||
{$langs['fields']['smtpSecurity']}
|
||||
</label>
|
||||
<div class="field field-smtpSecurity">
|
||||
<select name="smtpSecurity" class="form-control main-element">
|
||||
<select name="smtpSecurity" class="form-control main-element">
|
||||
{foreach from=$settingsDefaults['smtpSecurity'].options item=lbl key=val}
|
||||
{if $val == $fields['smtpSecurity'].value}
|
||||
<option selected="selected" value="{$val}">{$lbl}</option>
|
||||
@@ -85,31 +82,31 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="cell cell-smtpUsername col-sm-6 form-group {if !$fields['smtpAuth'].value} hide {/if}">
|
||||
<label class="field-label-smtpUsername control-label">
|
||||
{$langs['fields']['smtpUsername']} *
|
||||
</label>
|
||||
<div class="field field-smtpUsername">
|
||||
<input type="text" class="main-element form-control" name="smtpUsername" value="{$fields['smtpUsername'].value}">
|
||||
<input type="text" class="main-element form-control" name="smtpUsername" value="{$fields['smtpUsername'].value}" autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="cell cell-smtpPassword col-sm-6 form-group {if !$fields['smtpAuth'].value} hide {/if}">
|
||||
<label class="field-label-smtpPassword control-label">
|
||||
{$langs['fields']['smtpPassword']}
|
||||
</label>
|
||||
<div class="field field-smtpPassword">
|
||||
<input type="password" class="main-element form-control" name="smtpPassword" value="{$fields['smtpPassword'].value}">
|
||||
<input type="password" class="main-element form-control" name="smtpPassword" value="{$fields['smtpPassword'].value}" autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</form>
|
||||
</div>
|
||||
<footer class="modal-footer">
|
||||
<button class="btn btn-default" type="button" id="back">{$langs['labels']['Back']}</button>
|
||||
|
||||
+54
-1
@@ -23,6 +23,7 @@ select[name="user-lang"] {
|
||||
}
|
||||
.panel-title {
|
||||
text-align: center;
|
||||
margin-left: 16.6667%;
|
||||
}
|
||||
|
||||
.loading-icon {
|
||||
@@ -67,10 +68,62 @@ select[name="user-lang"] {
|
||||
text-align: center;
|
||||
width: 4%;
|
||||
float: left;
|
||||
|
||||
|
||||
}
|
||||
|
||||
.semicolon-sign {
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
.version {
|
||||
font-size: 90%;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
input[type=checkbox].btn-default {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.cron-help {
|
||||
margin: 20px;
|
||||
}
|
||||
|
||||
.cron-help pre {
|
||||
margin-top: 15px;
|
||||
padding-top: 15px;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
|
||||
.table {
|
||||
border-bottom: 1px solid #e8eced;
|
||||
}
|
||||
|
||||
.setup-confirmation {
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
.setup-confirmation .table > thead > tr > th, .setup-confirmation table td:first-child {
|
||||
padding-left: 3%;
|
||||
}
|
||||
.setup-confirmation .cell-website {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.setup-confirmation .loading-icon {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
span.remark {
|
||||
color: #a94442;
|
||||
font-weight: bold;
|
||||
}
|
||||
span.ok {
|
||||
color: #87c956;
|
||||
}
|
||||
|
||||
.more-information {
|
||||
line-height: 1.5;
|
||||
font-size: 16px;
|
||||
margin-top: 100px;
|
||||
}
|
||||
|
||||
|
||||
+8
-1
@@ -80,6 +80,7 @@ else {
|
||||
$smarty->caching = false;
|
||||
$smarty->setTemplateDir('install/core/tpl');
|
||||
|
||||
$smarty->assign("version", $installer->getVersion());
|
||||
$smarty->assign("langs", $langs);
|
||||
$smarty->assign("langsJs", json_encode($langs));
|
||||
|
||||
@@ -97,6 +98,8 @@ switch ($action) {
|
||||
|
||||
case 'step3':
|
||||
case 'errors':
|
||||
case 'setupConfirmation':
|
||||
$smarty->assign("apiPath", $systemHelper->getApiPath());
|
||||
$modRewriteUrl = $systemHelper->getModRewriteUrl();
|
||||
$smarty->assign("modRewriteUrl", $modRewriteUrl);
|
||||
$serverType = $systemHelper->getServerType();
|
||||
@@ -119,12 +122,16 @@ switch ($action) {
|
||||
$actionFile = $actionsDir.'/'.$action.'.php';
|
||||
$tplName = $action.'.tpl';
|
||||
$smarty->assign('tplName', $tplName);
|
||||
$smarty->assign('action', ucfirst($action));
|
||||
|
||||
/** config */
|
||||
$config = include('core/config.php');
|
||||
$smarty->assign('config', $config);
|
||||
|
||||
if (!empty($actionFile) && file_exists('install/'.$actionFile)) {
|
||||
include $actionFile;
|
||||
}
|
||||
|
||||
|
||||
if (!empty($actionFile) && file_exists('install/core/tpl/'.$tplName)) {
|
||||
ob_clean();
|
||||
$smarty->display('index.tpl');
|
||||
|
||||
+85
-19
@@ -35,6 +35,10 @@ var InstallScript = function(opt) {
|
||||
this.modRewriteUrl = opt.modRewriteUrl;
|
||||
}
|
||||
|
||||
if (typeof(opt.apiPath) !== 'undefined') {
|
||||
this.apiPath = opt.apiPath.substr(1) + '/';
|
||||
}
|
||||
|
||||
if (typeof(opt.serverType) !== 'undefined') {
|
||||
this.serverType = opt.serverType;
|
||||
}
|
||||
@@ -50,24 +54,24 @@ var InstallScript = function(opt) {
|
||||
this.checkActions = [
|
||||
{
|
||||
'action': 'checkModRewrite',
|
||||
'break': true,
|
||||
'break': true
|
||||
},
|
||||
{
|
||||
'action': 'checkPermission',
|
||||
'break': true,
|
||||
'break': true
|
||||
},
|
||||
{
|
||||
'action': 'applySett',
|
||||
'break': true,
|
||||
'break': true
|
||||
},
|
||||
{
|
||||
'action': 'buildDatabse',
|
||||
'break': true,
|
||||
},
|
||||
'break': true
|
||||
}/*,
|
||||
{
|
||||
'action': 'createUser',
|
||||
'break': true,
|
||||
},
|
||||
'break': true
|
||||
}*/
|
||||
|
||||
];
|
||||
this.checkIndex = 0;
|
||||
@@ -115,7 +119,7 @@ InstallScript.prototype.step1 = function() {
|
||||
InstallScript.prototype.step2 = function() {
|
||||
var self = this;
|
||||
var backAction = 'step1';
|
||||
var nextAction = 'step3';
|
||||
var nextAction = 'setupConfirmation';
|
||||
|
||||
$('#back').click(function(){
|
||||
$(this).attr('disabled', 'disabled');
|
||||
@@ -155,9 +159,28 @@ InstallScript.prototype.step2 = function() {
|
||||
})
|
||||
}
|
||||
|
||||
InstallScript.prototype.step3 = function() {
|
||||
InstallScript.prototype.setupConfirmation = function() {
|
||||
var self = this;
|
||||
var backAction = 'step2';
|
||||
var nextAction = 'step3';
|
||||
|
||||
$('#back').click(function(){
|
||||
|
||||
$(this).attr('disabled', 'disabled');
|
||||
self.goTo(backAction);
|
||||
})
|
||||
|
||||
$("#next").click(function(){
|
||||
|
||||
$(this).attr('disabled', 'disabled');
|
||||
self.showLoading();
|
||||
self.actionsChecking();
|
||||
})
|
||||
}
|
||||
|
||||
InstallScript.prototype.step3 = function() {
|
||||
var self = this;
|
||||
var backAction = '';
|
||||
var nextAction = 'step4';
|
||||
|
||||
$('#back').click(function(){
|
||||
@@ -175,8 +198,25 @@ InstallScript.prototype.step3 = function() {
|
||||
|
||||
self.checkPass({
|
||||
success: function(){
|
||||
self.showLoading();
|
||||
self.actionsChecking();
|
||||
var data = self.userSett;
|
||||
data['user-name'] = self.userSett.name;
|
||||
data['user-pass'] = self.userSett.pass;
|
||||
|
||||
data.action = 'createUser';
|
||||
$.ajax({
|
||||
url: "index.php",
|
||||
type: "POST",
|
||||
data: data,
|
||||
dataType: 'json',
|
||||
})
|
||||
.done(function(ajaxData){
|
||||
if (typeof(ajaxData) != 'undefined' && ajaxData.success) {
|
||||
self.goTo(nextAction);
|
||||
} else {
|
||||
$("#next").removeAttr('disabled');
|
||||
self.showMsg({msg: self.getLang(ajaxData.errorMsg, 'messages'), error: true});
|
||||
}
|
||||
})
|
||||
},
|
||||
error: function(msg) {
|
||||
$("#next").removeAttr('disabled');
|
||||
@@ -369,6 +409,9 @@ InstallScript.prototype.checkSett = function(opt) {
|
||||
if (typeof(errors.phpVersion) !== 'undefined') {
|
||||
msg += self.getLang('phpVersion', 'messages').replace('{minVersion}', errors.phpVersion) + rowDelim;
|
||||
}
|
||||
if (typeof(errors.MySQLVersion) !== 'undefined') {
|
||||
msg += self.getLang('MySQLVersion', 'messages').replace('{minVersion}', errors.MySQLVersion) + rowDelim;
|
||||
}
|
||||
|
||||
if (typeof(errors.exts) !== 'undefined') {
|
||||
var exts = errors.exts;
|
||||
@@ -384,6 +427,13 @@ InstallScript.prototype.checkSett = function(opt) {
|
||||
msg += errors.modRewrite+rowDelim;
|
||||
}
|
||||
|
||||
if (typeof(errors.mysqlSetting) !== 'undefined') {
|
||||
var mysqlSettingErrorMess = self.getLang(errors.mysqlSetting.errorCode, 'messages');
|
||||
mysqlSettingErrorMess = mysqlSettingErrorMess.replace('{NAME}', errors.mysqlSetting.name);
|
||||
mysqlSettingErrorMess = mysqlSettingErrorMess.replace('{VALUE}', errors.mysqlSetting.value);
|
||||
msg += mysqlSettingErrorMess + rowDelim;
|
||||
}
|
||||
|
||||
if (typeof(errors.dbConnect) !== 'undefined') {
|
||||
if (typeof(errors.dbConnect.errorCode) !== 'undefined') {
|
||||
var temp = self.getLang(errors.dbConnect.errorCode, 'messages');
|
||||
@@ -431,9 +481,8 @@ InstallScript.prototype.validate = function() {
|
||||
case 'step5':
|
||||
fieldRequired = ['smtpUsername'];
|
||||
break;
|
||||
|
||||
|
||||
}
|
||||
|
||||
var len = fieldRequired.length;
|
||||
for (var index = 0; index < len; index++) {
|
||||
elem = $('[name="'+fieldRequired[index]+'"]').filter(':visible');
|
||||
@@ -546,6 +595,7 @@ InstallScript.prototype.checkAction = function(dataMain) {
|
||||
self.callbackChecking(dataMain);
|
||||
return;
|
||||
}
|
||||
|
||||
var currIndex = this.checkIndex;
|
||||
var checkAction = this.checkActions[currIndex].action;
|
||||
this.checkIndex++;
|
||||
@@ -560,6 +610,7 @@ InstallScript.prototype.checkAction = function(dataMain) {
|
||||
}
|
||||
|
||||
data.action = checkAction;
|
||||
|
||||
$.ajax({
|
||||
url: "index.php",
|
||||
type: "POST",
|
||||
@@ -602,7 +653,7 @@ InstallScript.prototype.checkModRewrite = function() {
|
||||
var self = this;
|
||||
this.modRewriteUrl;
|
||||
|
||||
var urlAjax = '..'+this.modRewriteUrl;;
|
||||
var urlAjax = '..'+this.modRewriteUrl;
|
||||
var realJqXHR = $.ajax({
|
||||
url: urlAjax,
|
||||
type: "GET",
|
||||
@@ -616,7 +667,6 @@ InstallScript.prototype.checkModRewrite = function() {
|
||||
}
|
||||
|
||||
self.callbackModRewrite(data);
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
@@ -629,10 +679,12 @@ InstallScript.prototype.callbackModRewrite = function(data) {
|
||||
this.checkAction(ajaxData);
|
||||
return;
|
||||
}
|
||||
|
||||
ajaxData.success = false;
|
||||
if (typeof(this.langs) !== 'undefined') {
|
||||
ajaxData.errorMsg = (typeof(this.langs['options']['modRewriteHelp'][this.serverType]) !== 'undefined')? this.langs['options']['modRewriteHelp'][this.serverType] : this.langs['options']['modRewriteHelp']['default'];
|
||||
ajaxData.errorMsg += (typeof(this.langs['options']['modRewriteInstruction'][this.serverType]) !== 'undefined' && typeof(this.langs['options']['modRewriteInstruction'][this.serverType][this.OS]) !== 'undefined') ? this.langs['options']['modRewriteInstruction'][this.serverType][this.OS] : '';
|
||||
ajaxData.errorMsg = ajaxData.errorMsg.replace("{ESPO_PATH}", this.getEspoPath(true)).replace("{API_PATH}", this.apiPath).replace("{API_PATH}", this.apiPath);
|
||||
}
|
||||
var realCheckIndex = this.checkIndex - 1;
|
||||
if (typeof(this.checkActions[realCheckIndex]) != 'undefined'
|
||||
@@ -650,7 +702,7 @@ InstallScript.prototype.callbackModRewrite = function(data) {
|
||||
InstallScript.prototype.callbackChecking = function(data) {
|
||||
this.hideLoading();
|
||||
if (typeof(data) != 'undefined' && data.success) {
|
||||
this.goTo('step4');
|
||||
this.goTo('step3');
|
||||
}
|
||||
else {
|
||||
var desc = (typeof(data.errorMsg))? data.errorMsg : '';
|
||||
@@ -666,10 +718,24 @@ InstallScript.prototype.callbackChecking = function(data) {
|
||||
}
|
||||
}
|
||||
|
||||
InstallScript.prototype.getEspoPath = function(onlyPath) {
|
||||
|
||||
onlyPath = typeof onlyPath !== 'undefined' ? onlyPath : false;
|
||||
|
||||
var location = window.location.href;
|
||||
if (onlyPath) {
|
||||
location = window.location.pathname;
|
||||
}
|
||||
|
||||
location = location.replace(/install\/?/, '');
|
||||
|
||||
return location;
|
||||
}
|
||||
|
||||
InstallScript.prototype.goToEspo = function() {
|
||||
var loc = window.location.href;
|
||||
loc = loc.replace(/install\/?/, '');
|
||||
window.location.replace(loc);
|
||||
|
||||
var location = this.getEspoPath();
|
||||
window.location.replace(location);
|
||||
}
|
||||
|
||||
window.InstallScript = InstallScript;
|
||||
|
||||
+8
-8
@@ -5,35 +5,35 @@
|
||||
<rewrite>
|
||||
<rules>
|
||||
<rule name="rule 1X" stopProcessing="true">
|
||||
<match url="/?reset/?$" />
|
||||
<match url="^/?reset/?$" />
|
||||
<action type="Rewrite" url="reset.html" appendQueryString="true" />
|
||||
</rule>
|
||||
<rule name="RequestBlocking1" stopProcessing="true">
|
||||
<match url="/?data/config\.php$" />
|
||||
<match url="^/?data/config\.php$" />
|
||||
<action type="CustomResponse" statusCode="403" statusReason="Forbidden: Access is denied." />
|
||||
</rule>
|
||||
<rule name="RequestBlocking2" stopProcessing="true">
|
||||
<match url="/?data/logs" />
|
||||
<match url="^/?data/logs/" />
|
||||
<action type="CustomResponse" statusCode="403" statusReason="Forbidden: Access is denied." />
|
||||
</rule>
|
||||
<rule name="RequestBlocking3" stopProcessing="true">
|
||||
<match url="/?data/cache" />
|
||||
<match url="^/?data/cache/" />
|
||||
<action type="CustomResponse" statusCode="403" statusReason="Forbidden: Access is denied." />
|
||||
</rule>
|
||||
<rule name="RequestBlocking4" stopProcessing="true">
|
||||
<match url="/?data/upload" />
|
||||
<match url="^/?data/upload/" />
|
||||
<action type="CustomResponse" statusCode="403" statusReason="Forbidden: Access is denied." />
|
||||
</rule>
|
||||
<rule name="RequestBlocking5" stopProcessing="true">
|
||||
<match url="/?application" />
|
||||
<match url="^/?application/" />
|
||||
<action type="CustomResponse" statusCode="403" statusReason="Forbidden: Access is denied." />
|
||||
</rule>
|
||||
<rule name="RequestBlocking6" stopProcessing="true">
|
||||
<match url="/?custom" />
|
||||
<match url="^/?custom/" />
|
||||
<action type="CustomResponse" statusCode="403" statusReason="Forbidden: Access is denied." />
|
||||
</rule>
|
||||
<rule name="RequestBlocking7" stopProcessing="true">
|
||||
<match url="/?vendor" />
|
||||
<match url="^/?vendor/" />
|
||||
<action type="CustomResponse" statusCode="403" statusReason="Forbidden: Access is denied." />
|
||||
</rule>
|
||||
</rules>
|
||||
|
||||
Reference in New Issue
Block a user