mirror of
https://git.code.sf.net/p/seeddms/code
synced 2026-01-20 16:19:16 +00:00
Merge branch 'seeddms-6.0.x' into seeddms-6.1.x
This commit is contained in:
commit
f82bff7a08
|
|
@ -295,22 +295,26 @@ class SeedDMS_Core_DatabaseAccess {
|
|||
$dsn = $this->_driver.":".$this->_database;
|
||||
break;
|
||||
}
|
||||
/** @noinspection PhpUndefinedVariableInspection */
|
||||
$this->_conn = new PDO($dsn, $this->_user, $this->_passw);
|
||||
if (!$this->_conn)
|
||||
return false;
|
||||
try {
|
||||
/** @noinspection PhpUndefinedVariableInspection */
|
||||
$this->_conn = new PDO($dsn, $this->_user, $this->_passw);
|
||||
if (!$this->_conn)
|
||||
return false;
|
||||
|
||||
switch($this->_driver) {
|
||||
case 'mysql':
|
||||
$this->_conn->exec('SET NAMES utf8');
|
||||
/* Turn this on if you want strict checking of default values, etc. */
|
||||
// $this->_conn->exec("SET SESSION sql_mode = 'STRICT_TRANS_TABLES'");
|
||||
/* The following is the default on Ubuntu 16.04 */
|
||||
// $this->_conn->exec("SET SESSION sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'");
|
||||
break;
|
||||
case 'sqlite':
|
||||
$this->_conn->exec('PRAGMA foreign_keys = ON');
|
||||
break;
|
||||
switch($this->_driver) {
|
||||
case 'mysql':
|
||||
$this->_conn->exec('SET NAMES utf8');
|
||||
/* Turn this on if you want strict checking of default values, etc. */
|
||||
/* $this->_conn->exec("SET SESSION sql_mode = 'STRICT_TRANS_TABLES'"); */
|
||||
/* The following is the default on Ubuntu 16.04 */
|
||||
/* $this->_conn->exec("SET SESSION sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'"); */
|
||||
break;
|
||||
case 'sqlite':
|
||||
$this->_conn->exec('PRAGMA foreign_keys = ON');
|
||||
break;
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
return false;
|
||||
}
|
||||
if($this->_useviews) {
|
||||
$tmp = $this->ViewList();
|
||||
|
|
|
|||
|
|
@ -41,8 +41,18 @@ The fastes way to get SeedDMS running is by unpacking the archive
|
|||
Let's assume you use seeddms-quickstart-5.1.10.tar.gz.
|
||||
It will create a new directory `seeddms51x` containing everything you
|
||||
need to run SeedDMS with sqlite3.
|
||||
|
||||
Setting up the web server
|
||||
--------------------------
|
||||
|
||||
First you will need to set up your web server. Here, we will only focus
|
||||
on apache.
|
||||
Either let the document root of your web server point to the directory `www`
|
||||
below `seeddms51x` or add an alias. For apache this could be like
|
||||
below `seeddms51x`
|
||||
|
||||
DocumentRoot /var/www/seeddms51x/www
|
||||
|
||||
or add an alias. For apache this could be like
|
||||
|
||||
Alias /seeddms51x /<some directory>/seeddms51x/www
|
||||
|
||||
|
|
@ -52,11 +62,16 @@ Alias /mydms /<some directory>/seeddms51x/www
|
|||
|
||||
Do not set the DocumentRoot or Alias to
|
||||
the `seeddms51x` directory, because this will allow anybody to access
|
||||
your `data` and `conf` directory. This is a major security risk.
|
||||
your `data` and `conf` directory if it is not secured by a .htaccess file.
|
||||
This is a major security risk.
|
||||
|
||||
Make sure that the subdirectory `seeddms51x/data` and the configuration file
|
||||
`seeddms51/conf/settings.xml` is writeable by your web server. All other
|
||||
directories must just be readable by your web server.
|
||||
directories can be just readable by your web server, though it is advisable
|
||||
to even protect them from writing.
|
||||
|
||||
Adjusting the configuration of SeedDMS
|
||||
---------------------------------------
|
||||
|
||||
In the next step you need to adjust the configuration file in
|
||||
`seeddms51x/conf/settings.xml`. Open the file in your favorite text editor
|
||||
|
|
@ -71,7 +86,7 @@ It will first ask to unlock the installer by creating a file
|
|||
`ENABLE_INSTALL_TOOL` in the diretory `seeddms51x/conf/`. Change all paths by
|
||||
replacing `/home/www-data` with your base directory where you put seeddms51x.
|
||||
Set httpRoot to '/' (if the document root points to`seeddms51x/www`) or
|
||||
'/seeddms51x' (if you have set an alias like described above).
|
||||
'/seeddms51x' (if you have set an alias `seeddms51x` like described above).
|
||||
|
||||
Once your configuration is done,
|
||||
save it, remove the file `ENABLE_INSTALL_TOOL` and point your browser to
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@
|
|||
class Settings { /* {{{ */
|
||||
// Config File Path
|
||||
var $_configFilePath = null;
|
||||
var $_configFileDir = '';
|
||||
|
||||
// Fields not shown in gui
|
||||
var $_hiddenConfFields = '';
|
||||
|
|
@ -386,6 +387,8 @@ class Settings { /* {{{ */
|
|||
exit;
|
||||
}
|
||||
}
|
||||
$this->_configFileDir = dirname($this->_configFilePath);
|
||||
|
||||
if(!$this->load($configFilePath)) {
|
||||
echo "Your configuration contains errors.";
|
||||
exit;
|
||||
|
|
@ -1073,7 +1076,7 @@ class Settings { /* {{{ */
|
|||
$this->setXMLAttributValue($node, "dbDatabase", $this->_dbDatabase);
|
||||
$this->setXMLAttributValue($node, "dbUser", $this->_dbUser);
|
||||
$this->setXMLAttributValue($node, "dbPass", $this->_dbPass);
|
||||
$this->setXMLAttributValue($node, "doNotCheckVersion", $this->_doNotCheckDBVersion);
|
||||
$this->setXMLAttributValue($node, "doNotCheckDBVersion", $this->_doNotCheckDBVersion);
|
||||
|
||||
// XML Path: /configuration/system/smtp
|
||||
$node = $this->getXMLNode($xml, '/configuration/system', 'smtp');
|
||||
|
|
@ -1254,6 +1257,10 @@ class Settings { /* {{{ */
|
|||
* @return NULL|string config directory
|
||||
*/
|
||||
static function getConfigDir() { /* {{{ */
|
||||
if(defined("SEEDDMS_CONFIG_FILE"))
|
||||
return dirname(SEEDDMS_CONFIG_FILE);
|
||||
elseif(getenv("SEEDDMS_CONFIG_FILE"))
|
||||
return dirname(getenv("SEEDDMS_CONFIG_FILE"));
|
||||
$_tmp = dirname($_SERVER['SCRIPT_FILENAME']);
|
||||
$_arr = preg_split('/\//', rtrim(str_replace('\\', '/', $_tmp)));
|
||||
$configDir = null;
|
||||
|
|
@ -1360,6 +1367,7 @@ class Settings { /* {{{ */
|
|||
|
||||
// TODO
|
||||
// $this->_coreDir
|
||||
/*
|
||||
if($this->_coreDir) {
|
||||
if (!file_exists($this->_coreDir ."Core.php")) {
|
||||
$result["coreDir"] = array(
|
||||
|
|
@ -1380,7 +1388,7 @@ class Settings { /* {{{ */
|
|||
);
|
||||
}
|
||||
}
|
||||
|
||||
*/
|
||||
// $this->_httpRoot
|
||||
$tmp = $this->curPageURL();
|
||||
$tmp = str_replace ("install.php", "" , $tmp);
|
||||
|
|
@ -1531,7 +1539,7 @@ class Settings { /* {{{ */
|
|||
if(!empty($this->_coreDir))
|
||||
require_once($this->_coreDir.'/Core.php');
|
||||
else
|
||||
require_once('SeedDMS/Core.php');
|
||||
require_once($this->_rootDir.'../pear/SeedDMS/Core.php');
|
||||
$tmpcore = new SeedDMS_Core_DMS(null, $this->_contentDir);
|
||||
$db = new SeedDMS_Core_DatabaseAccess($this->_dbDriver, $this->_dbHostname, $this->_dbUser, $this->_dbPass, $this->_dbDatabase);
|
||||
if(!$db->connect()) {
|
||||
|
|
@ -1594,7 +1602,7 @@ class Settings { /* {{{ */
|
|||
}
|
||||
|
||||
// Check PHP version
|
||||
if (version_compare(PHP_VERSION, '5.6.38') < 0) {
|
||||
if (version_compare(PHP_VERSION, '7.2.5') < 0) {
|
||||
$result["php_version"] = array(
|
||||
"status" => "versiontolow",
|
||||
"type" => "error",
|
||||
|
|
@ -1604,6 +1612,15 @@ class Settings { /* {{{ */
|
|||
|
||||
// Check PHP configuration
|
||||
$loaded_extensions = get_loaded_extensions();
|
||||
// xml
|
||||
if (!in_array("xml", $loaded_extensions)) {
|
||||
$result["php_xml"] = array(
|
||||
"status" => "notfound",
|
||||
"type" => "error",
|
||||
"suggestion" => "activate_php_extension"
|
||||
);
|
||||
}
|
||||
|
||||
// gd2
|
||||
if (!in_array("gd", $loaded_extensions)) {
|
||||
$result["php_gd2"] = array(
|
||||
|
|
@ -1622,6 +1639,42 @@ class Settings { /* {{{ */
|
|||
);
|
||||
}
|
||||
|
||||
// json
|
||||
if (!in_array("json", $loaded_extensions)) {
|
||||
$result["php_json"] = array(
|
||||
"status" => "notfound",
|
||||
"type" => "error",
|
||||
"suggestion" => "activate_php_extension"
|
||||
);
|
||||
}
|
||||
|
||||
// zip
|
||||
if (!in_array("zip", $loaded_extensions)) {
|
||||
$result["php_zip"] = array(
|
||||
"status" => "notfound",
|
||||
"type" => "error",
|
||||
"suggestion" => "activate_php_extension"
|
||||
);
|
||||
}
|
||||
|
||||
// fileinfo
|
||||
if (!in_array("fileinfo", $loaded_extensions)) {
|
||||
$result["php_fileinfo"] = array(
|
||||
"status" => "notfound",
|
||||
"type" => "error",
|
||||
"suggestion" => "activate_php_extension"
|
||||
);
|
||||
}
|
||||
|
||||
// sqlite3
|
||||
if (!in_array("sqlite3", $loaded_extensions)) {
|
||||
$result["php_sqlite3"] = array(
|
||||
"status" => "notfound",
|
||||
"type" => "error",
|
||||
"suggestion" => "activate_php_extension"
|
||||
);
|
||||
}
|
||||
|
||||
// database
|
||||
if (!in_array('pdo_'.$this->_dbDriver, $loaded_extensions)) {
|
||||
$result["php_dbDriver"] = array(
|
||||
|
|
@ -1645,6 +1698,7 @@ class Settings { /* {{{ */
|
|||
*/
|
||||
|
||||
// Check for HTTP/WebDAV/Server.php
|
||||
/*
|
||||
if (!Settings::findInIncPath('HTTP/WebDAV/Server.php')) {
|
||||
$result["pear_webdav"] = array(
|
||||
"status" => "notfound",
|
||||
|
|
@ -1652,8 +1706,10 @@ class Settings { /* {{{ */
|
|||
"suggestion" => "install_pear_package_webdav"
|
||||
);
|
||||
}
|
||||
*/
|
||||
|
||||
// Check for Zend/Search/Lucene.php
|
||||
/*
|
||||
if (!Settings::findInIncPath('Zend/Search/Lucene.php')) {
|
||||
$result["zendframework"] = array(
|
||||
"status" => "notfound",
|
||||
|
|
@ -1661,6 +1717,7 @@ class Settings { /* {{{ */
|
|||
"suggestion" => "install_zendframework"
|
||||
);
|
||||
}
|
||||
*/
|
||||
return $result;
|
||||
} /* }}} */
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -49,6 +49,9 @@ $dms = new SeedDMS_Core_DMS($db, $settings->_contentDir.$settings->_contentOffse
|
|||
|
||||
if(!$settings->_doNotCheckDBVersion && !$dms->checkVersion()) {
|
||||
echo "Database update needed.";
|
||||
if($v = $dms->getDBVersion()) {
|
||||
echo " Database has version ".$v['major'].".".$v['minor'].".".$v['subminor']." but this is SeedDMS ".$dms->version.".";
|
||||
}
|
||||
exit;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ elseif(getenv("SEEDDMS_CONFIG_FILE"))
|
|||
$settings = new Settings(getenv("SEEDDMS_CONFIG_FILE"));
|
||||
else
|
||||
$settings = new Settings();
|
||||
if(!defined("SEEDDMS_INSTALL") && file_exists(dirname($settings->_configFilePath)."/ENABLE_INSTALL_TOOL")) {
|
||||
if(!defined("SEEDDMS_INSTALL") && file_exists($settings->_configFileDir."/ENABLE_INSTALL_TOOL")) {
|
||||
die("SeedDMS won't run unless your remove the file ENABLE_INSTALL_TOOL from your configuration directory.");
|
||||
}
|
||||
|
||||
|
|
@ -35,11 +35,13 @@ if(!trim($settings->_encryptionKey)) {
|
|||
$settings->save();
|
||||
}
|
||||
|
||||
if(isset($settings->_extraPath))
|
||||
ini_set('include_path', $settings->_rootDir.'pear'. PATH_SEPARATOR .ini_get('include_path'));
|
||||
if(!empty($settings->_extraPath)) {
|
||||
ini_set('include_path', $settings->_extraPath. PATH_SEPARATOR .ini_get('include_path'));
|
||||
|
||||
/* composer is installed in pear directory */
|
||||
require_once 'vendor/autoload.php';
|
||||
}
|
||||
/* composer is installed in pear directory, but install tool does not need it */
|
||||
if(!defined("SEEDDMS_INSTALL"))
|
||||
require_once $settings->_rootDir.'../pear/vendor/autoload.php';
|
||||
|
||||
if(isset($settings->_maxExecutionTime)) {
|
||||
if (php_sapi_name() !== "cli") {
|
||||
|
|
@ -67,3 +69,7 @@ if (function_exists('get_magic_quotes_gpc') && get_magic_quotes_gpc()) {
|
|||
* relative to it.
|
||||
*/
|
||||
ini_set('include_path', $settings->_rootDir. PATH_SEPARATOR .ini_get('include_path'));
|
||||
/* Add root Dir.'../pear'. Needed because the SeedDMS_Core, etc. are included
|
||||
* relative to it.
|
||||
*/
|
||||
ini_set('include_path', $settings->_rootDir.'../pear'. PATH_SEPARATOR .ini_get('include_path'));
|
||||
|
|
|
|||
|
|
@ -410,7 +410,7 @@ class SeedDMS_Task_Preview_Process_Folder { /* {{{ */
|
|||
}
|
||||
$files = $document->getDocumentFiles();
|
||||
foreach($files as $file) {
|
||||
$this->previewer->createPreview($file, $width['detail'], $isnew);
|
||||
$this->previewer->createPreview($file, $width, $isnew);
|
||||
if($isnew){
|
||||
$this->logger->log('Task \'preview\': created preview ('.$width.'px) for attachment of document '.$document->getId().':'.$file->getId(), PEAR_LOG_INFO);
|
||||
}
|
||||
|
|
|
|||
493
install/class.Install.php
Normal file
493
install/class.Install.php
Normal file
|
|
@ -0,0 +1,493 @@
|
|||
<?php
|
||||
include("../views/bootstrap/class.Bootstrap.php");
|
||||
|
||||
class SeedDMS_View_Install extends SeedDMS_Theme_Style {
|
||||
protected function printError($error) { /* {{{ */
|
||||
print "<div class=\"alert alert-error\">\n";
|
||||
print $error;
|
||||
print "</div>";
|
||||
} /* }}} */
|
||||
|
||||
protected function printWarning($error) { /* {{{ */
|
||||
print "<div class=\"alert alert-warning\">";
|
||||
print $error;
|
||||
print "</div>";
|
||||
} /* }}} */
|
||||
|
||||
protected function printCheckError($resCheck) { /* {{{ */
|
||||
$hasError = false;
|
||||
foreach($resCheck as $keyRes => $paramRes) {
|
||||
if(isset($paramRes['type']) && $paramRes['type'] == 'error')
|
||||
$hasError = true;
|
||||
$errorMes = getMLText("settings_$keyRes"). " : " . getMLText("settings_".$paramRes["status"]);
|
||||
|
||||
if (isset($paramRes["currentvalue"]))
|
||||
$errorMes .= "<br/> => " . getMLText("settings_currentvalue") . " : " . $paramRes["currentvalue"];
|
||||
if (isset($paramRes["suggestionvalue"]))
|
||||
$errorMes .= "<br/> => " . getMLText("settings_suggestionvalue") . " : " . $paramRes["suggestionvalue"];
|
||||
if (isset($paramRes["suggestion"]))
|
||||
$errorMes .= "<br/> => " . getMLText("settings_".$paramRes["suggestion"]);
|
||||
if (isset($paramRes["systemerror"]))
|
||||
$errorMes .= "<br/> => " . $paramRes["systemerror"];
|
||||
|
||||
if(isset($paramRes['type']) && $paramRes['type'] == 'error')
|
||||
$this->printError($errorMes);
|
||||
else
|
||||
$this->printWarning($errorMes);
|
||||
}
|
||||
|
||||
return $hasError;
|
||||
} /* }}} */
|
||||
|
||||
protected function openDBConnection($settings) { /* {{{ */
|
||||
switch($settings->_dbDriver) {
|
||||
case 'mysql':
|
||||
case 'mysqli':
|
||||
case 'mysqlnd':
|
||||
case 'pgsql':
|
||||
$tmp = explode(":", $settings->_dbHostname);
|
||||
$dsn = $settings->_dbDriver.":dbname=".$settings->_dbDatabase.";host=".$tmp[0];
|
||||
if(isset($tmp[1]))
|
||||
$dsn .= ";port=".$tmp[1];
|
||||
break;
|
||||
case 'sqlite':
|
||||
$dsn = $settings->_dbDriver.":".$settings->_dbDatabase;
|
||||
break;
|
||||
}
|
||||
$connTmp = new PDO($dsn, $settings->_dbUser, $settings->_dbPass);
|
||||
return $connTmp;
|
||||
} /* }}} */
|
||||
|
||||
public function intro() { /* {{{ */
|
||||
$this->htmlStartPage("INSTALL");
|
||||
$this->globalBanner();
|
||||
$this->contentStart();
|
||||
$this->contentHeading("SeedDMS Installation for version ".SEEDDMS_VERSION);
|
||||
$this->contentContainerStart();
|
||||
echo "<h2>".getMLText('settings_install_welcome_title')."</h2>";
|
||||
echo "<div style=\"width: 600px;\">".getMLText('settings_install_welcome_text')."</div>";
|
||||
echo '<p><a href="install.php">' . getMLText("settings_start_install") . '</a></p>';
|
||||
$this->contentContainerEnd();
|
||||
$this->contentEnd();
|
||||
$this->htmlEndPage();
|
||||
} /* }}} */
|
||||
|
||||
public function install($msg) { /* {{{ */
|
||||
$settings = $this->params['settings'];
|
||||
$configDir = $this->params['configdir'];
|
||||
|
||||
$this->htmlStartPage("INSTALL");
|
||||
$this->globalBanner();
|
||||
$this->contentStart();
|
||||
$this->contentHeading("SeedDMS Installation for version ".SEEDDMS_VERSION);
|
||||
if(isset($msg))
|
||||
$this->warningMsg($msg);
|
||||
$this->contentContainerStart();
|
||||
|
||||
|
||||
/**
|
||||
* Show phpinfo
|
||||
*/
|
||||
if (isset($_GET['phpinfo'])) {
|
||||
echo '<a href="install.php">' . getMLText("back") . '</a>';
|
||||
phpinfo();
|
||||
$this->contentContainerEnd();
|
||||
$this->contentEnd();
|
||||
$this->htmlEndPage();
|
||||
exit();
|
||||
}
|
||||
|
||||
/**
|
||||
* check if ENABLE_INSTALL_TOOL shall be removed
|
||||
*/
|
||||
if (isset($_GET['disableinstall'])) { /* {{{ */
|
||||
if(file_exists($configDir."/ENABLE_INSTALL_TOOL")) {
|
||||
if(unlink($configDir."/ENABLE_INSTALL_TOOL")) {
|
||||
echo getMLText("settings_install_disabled");
|
||||
echo "<br/><br/>";
|
||||
echo '<a href="../out/out.Settings.php">' . getMLText("settings_more_settings") .'</a>';
|
||||
} else {
|
||||
echo getMLText("settings_cannot_disable");
|
||||
echo "<br/><br/>";
|
||||
echo '<a href="install.php">' . getMLText("back") . '</a>';
|
||||
}
|
||||
} else {
|
||||
echo getMLText("settings_cannot_disable");
|
||||
echo "<br/><br/>";
|
||||
echo '<a href="install.php">' . getMLText("back") . '</a>';
|
||||
}
|
||||
$this->contentContainerEnd();
|
||||
$this->contentEnd();
|
||||
$this->htmlEndPage();
|
||||
exit();
|
||||
} /* }}} */
|
||||
|
||||
/**
|
||||
* Check System
|
||||
*/
|
||||
if ($this->printCheckError( $settings->checkSystem())) { /* {{{ */
|
||||
if (function_exists("apache_get_version")) {
|
||||
echo "<br/>Apache version: " . apache_get_version();
|
||||
}
|
||||
|
||||
echo "<br/>PHP version: " . phpversion();
|
||||
|
||||
echo "<br/>PHP include path: " . ini_get('include_path');
|
||||
|
||||
echo '<br/>';
|
||||
echo '<br/>';
|
||||
echo '<a href="' . $httpRoot . 'install/install.php">' . getMLText("refresh") . '</a>';
|
||||
echo ' - ';
|
||||
echo '<a href="' . $httpRoot . 'install/install.php?phpinfo">' . getMLText("version_info") . '</a>';
|
||||
|
||||
exit;
|
||||
} /* }}} */
|
||||
|
||||
if (isset($_POST["action"])) $action=$_POST["action"];
|
||||
else if (isset($_GET["action"])) $action=$_GET["action"];
|
||||
else $action=NULL;
|
||||
|
||||
$showform = true;
|
||||
if ($action=="setSettings") { /* {{{ */
|
||||
/**
|
||||
* Get Parameters
|
||||
*/
|
||||
$settings->_rootDir = $_POST["rootDir"];
|
||||
$settings->_httpRoot = $_POST["httpRoot"];
|
||||
$settings->_contentDir = $_POST["contentDir"];
|
||||
$settings->_luceneDir = $_POST["luceneDir"];
|
||||
$settings->_stagingDir = $_POST["stagingDir"];
|
||||
$settings->_cacheDir = $_POST["cacheDir"];
|
||||
$settings->_extraPath = $_POST["extraPath"];
|
||||
$settings->_dbDriver = $_POST["dbDriver"];
|
||||
$settings->_dbHostname = $_POST["dbHostname"];
|
||||
$settings->_dbDatabase = $_POST["dbDatabase"];
|
||||
$settings->_dbUser = $_POST["dbUser"];
|
||||
$settings->_dbPass = $_POST["dbPass"];
|
||||
$settings->_coreDir = ''; //$_POST["coreDir"];
|
||||
$settings->_luceneClassDir = ''; //$_POST["luceneClassDir"];
|
||||
|
||||
if(isset($settings->_extraPath))
|
||||
ini_set('include_path', $settings->_extraPath. PATH_SEPARATOR .ini_get('include_path'));
|
||||
|
||||
/**
|
||||
* Check Parameters, require version 3.3.x
|
||||
*/
|
||||
$hasError = $this->printCheckError( $settings->check(substr(str_replace('.', '', SEEDDMS_VERSION), 0,2)));
|
||||
|
||||
if (!$hasError) {
|
||||
// Create database
|
||||
if (isset($_POST["createDatabase"])) {
|
||||
$createOK = false;
|
||||
$errorMsg = "";
|
||||
|
||||
$connTmp = $this->openDBConnection($settings);
|
||||
if ($connTmp) {
|
||||
// read SQL file
|
||||
if ($settings->_dbDriver=="mysql")
|
||||
$queries = file_get_contents("create_tables-innodb.sql");
|
||||
elseif($settings->_dbDriver=="sqlite")
|
||||
$queries = file_get_contents("create_tables-sqlite3.sql");
|
||||
elseif($settings->_dbDriver=="pgsql")
|
||||
$queries = file_get_contents("create_tables-postgres.sql");
|
||||
else
|
||||
die();
|
||||
|
||||
// generate SQL query
|
||||
$queries = explode(";", $queries);
|
||||
|
||||
// execute queries
|
||||
foreach($queries as $query) {
|
||||
// var_dump($query);
|
||||
$query = trim($query);
|
||||
if (!empty($query)) {
|
||||
$connTmp->exec($query);
|
||||
|
||||
if ($connTmp->errorCode() != 0) {
|
||||
$errorMsg .= $connTmp->errorInfo()[2] . "<br/>";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// error ?
|
||||
if (empty($errorMsg))
|
||||
$createOK = true;
|
||||
|
||||
$connTmp = null;
|
||||
|
||||
// Show error
|
||||
if (!$createOK) {
|
||||
echo $errorMsg;
|
||||
$hasError = true;
|
||||
}
|
||||
} // create database
|
||||
|
||||
if (!$hasError) {
|
||||
|
||||
// Save settings
|
||||
$settings->save();
|
||||
|
||||
$needsupdate = false;
|
||||
$connTmp = $this->openDBConnection($settings);
|
||||
if ($connTmp) {
|
||||
switch($settings->_dbDriver) {
|
||||
case 'mysql':
|
||||
case 'mysqli':
|
||||
case 'mysqlnd':
|
||||
case 'sqlite':
|
||||
$sql = 'select * from `tblVersion`';
|
||||
break;
|
||||
case 'pgsql':
|
||||
$sql = 'select * from "tblVersion"';
|
||||
break;
|
||||
}
|
||||
$res = $connTmp->query($sql);
|
||||
if($res) {
|
||||
if($rec = $res->fetch(PDO::FETCH_ASSOC)) {
|
||||
$updatedirs = array();
|
||||
$d = dir(".");
|
||||
while (false !== ($entry = $d->read())) {
|
||||
if(preg_match('/update-([0-9.]*)/', $entry, $matches)) {
|
||||
$updatedirs[] = $matches[1];
|
||||
}
|
||||
}
|
||||
$d->close();
|
||||
|
||||
echo "Your current database schema has version ".$rec['major'].'.'.$rec['minor'].'.'.$rec['subminor'].". Please run all (if any)<br />of the update scripts below in the listed order.<br /><br />";
|
||||
$connTmp = null;
|
||||
|
||||
if($updatedirs) {
|
||||
asort($updatedirs);
|
||||
foreach($updatedirs as $updatedir) {
|
||||
if($updatedir > $rec['major'].'.'.$rec['minor'].'.'.$rec['subminor']) {
|
||||
$needsupdate = true;
|
||||
print "<h3>Database update to version ".$updatedir." needed</h3>";
|
||||
if(file_exists('update-'.$updatedir.'/update.txt')) {
|
||||
print "<p>Please read the comments on updating this version. <a href=\"update-".$updatedir."/update.txt\" target=\"_blank\">Read now</a></p>";
|
||||
}
|
||||
print "<p>Run the <a href=\"update.php?version=".$updatedir."\">update script</a>.</p>";
|
||||
}
|
||||
}
|
||||
} else {
|
||||
print "<p>Your current database is up to date.</p>";
|
||||
}
|
||||
}
|
||||
if(!$needsupdate) {
|
||||
echo getMLText("settings_install_success");
|
||||
echo "<br/><br/>";
|
||||
echo getMLText("settings_delete_install_folder");
|
||||
echo "<br/><br/>";
|
||||
echo '<a href="install.php?disableinstall=1">' . getMLText("settings_disable_install") . '</a>';
|
||||
echo "<br/><br/>";
|
||||
|
||||
echo '<a href="../out/out.Settings.php">' . getMLText("settings_more_settings") .'</a>';
|
||||
$showform = false;
|
||||
}
|
||||
} else {
|
||||
print "<p>You does not seem to have a valid database. The table tblVersion is missing.</p>";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Back link
|
||||
echo '<br/>';
|
||||
echo '<br/>';
|
||||
// echo '<a href="' . $httpRoot . '/install/install.php">' . getMLText("back") . '</a>';
|
||||
|
||||
} /* }}} */
|
||||
|
||||
if($showform) { /* {{{ */
|
||||
|
||||
/**
|
||||
* Set parameters
|
||||
*/
|
||||
?>
|
||||
<form action="install.php" method="post" enctype="multipart/form-data">
|
||||
<input type="Hidden" name="action" value="setSettings">
|
||||
<table>
|
||||
<!-- SETTINGS - SYSTEM - SERVER -->
|
||||
<tr ><td><b> <?php printMLText("settings_Server");?></b></td> </tr>
|
||||
<tr title="<?php printMLText("settings_rootDir_desc");?>">
|
||||
<td><?php printMLText("settings_rootDir");?>:</td>
|
||||
<td><input type="text" name="rootDir" value="<?php echo $settings->_rootDir ?>" size="100" /></td>
|
||||
</tr>
|
||||
<tr title="<?php printMLText("settings_httpRoot_desc");?>">
|
||||
<td><?php printMLText("settings_httpRoot");?>:</td>
|
||||
<td><input type="text" name="httpRoot" value="<?php echo $settings->_httpRoot ?>" size="100" /></td>
|
||||
</tr>
|
||||
<tr title="<?php printMLText("settings_contentDir_desc");?>">
|
||||
<td><?php printMLText("settings_contentDir");?>:</td>
|
||||
<td><input type="text" name="contentDir" value="<?php echo $settings->_contentDir ?>" size="100" style="background:yellow" /></td>
|
||||
</tr>
|
||||
<tr title="<?php printMLText("settings_luceneDir_desc");?>">
|
||||
<td><?php printMLText("settings_luceneDir");?>:</td>
|
||||
<td><input type="text" name="luceneDir" value="<?php echo $settings->_luceneDir ?>" size="100" style="background:yellow" /></td>
|
||||
</tr>
|
||||
<tr title="<?php printMLText("settings_stagingDir_desc");?>">
|
||||
<td><?php printMLText("settings_stagingDir");?>:</td>
|
||||
<td><input type="text" name="stagingDir" value="<?php echo $settings->_stagingDir ?>" size="100" style="background:yellow" /></td>
|
||||
</tr>
|
||||
<tr title="<?php printMLText("settings_cacheDir_desc");?>">
|
||||
<td><?php printMLText("settings_cacheDir");?>:</td>
|
||||
<td><input type="text" name="cacheDir" value="<?php echo $settings->_cacheDir ?>" size="100" style="background:yellow" /></td>
|
||||
</tr>
|
||||
<!--
|
||||
<tr title="<?php printMLText("settings_coreDir_desc");?>">
|
||||
<td><?php printMLText("settings_coreDir");?>:</td>
|
||||
<td><input type="text" name="coreDir" value="<?php echo $settings->_coreDir ?>" size="100" /></td>
|
||||
</tr>
|
||||
<tr title="<?php printMLText("settings_luceneClassDir_desc");?>">
|
||||
<td><?php printMLText("settings_luceneClassDir");?>:</td>
|
||||
<td><input type="text" name="luceneClassDir" value="<?php echo $settings->_luceneClassDir ?>" size="100" /></td>
|
||||
</tr>
|
||||
-->
|
||||
<tr title="<?php printMLText("settings_extraPath_desc");?>">
|
||||
<td><?php printMLText("settings_extraPath");?>:</td>
|
||||
<td><input type="text" name="extraPath" value="<?php echo $settings->_extraPath ?>" size="100" /></td>
|
||||
</tr>
|
||||
|
||||
<!-- SETTINGS - SYSTEM - DATABASE -->
|
||||
<tr ><td><b> <?php printMLText("settings_Database");?></b></td> </tr>
|
||||
<tr title="<?php printMLText("settings_dbDriver_desc");?>">
|
||||
<td><?php printMLText("settings_dbDriver");?>:</td>
|
||||
<td><input type="text" name="dbDriver" value="<?php echo $settings->_dbDriver ?>" /></td>
|
||||
</tr>
|
||||
<tr title="<?php printMLText("settings_dbHostname_desc");?>">
|
||||
<td><?php printMLText("settings_dbHostname");?>:</td>
|
||||
<td><input type="text" name="dbHostname" value="<?php echo $settings->_dbHostname ?>" /></td>
|
||||
</tr>
|
||||
<tr title="<?php printMLText("settings_dbDatabase_desc");?>">
|
||||
<td><?php printMLText("settings_dbDatabase");?>:</td>
|
||||
<td><input type="text" name="dbDatabase" value="<?php echo $settings->_dbDatabase ?>" style="background:yellow" /></td>
|
||||
</tr>
|
||||
<tr title="<?php printMLText("settings_dbUser_desc");?>">
|
||||
<td><?php printMLText("settings_dbUser");?>:</td>
|
||||
<td><input type="text" name="dbUser" value="<?php echo $settings->_dbUser ?>" style="background:yellow" /></td>
|
||||
</tr>
|
||||
<tr title="<?php printMLText("settings_dbPass_desc");?>">
|
||||
<td><?php printMLText("settings_dbPass");?>:</td>
|
||||
<td><input name="dbPass" value="<?php echo $settings->_dbPass ?>" type="password" style="background:yellow" /></td>
|
||||
</tr>
|
||||
<tr><td></td></tr>
|
||||
<tr><td></td></tr>
|
||||
<tr>
|
||||
<td><?php printMLText("settings_createdatabase");?>:</td>
|
||||
<td><input name="createDatabase" type="checkbox" style="background:yellow"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td><input type="submit" class="btn btn-primary" value="<?php printMLText("apply");?>" /></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</form>
|
||||
<?php
|
||||
|
||||
} /* }}} */
|
||||
|
||||
// just remove info for web page installation
|
||||
$settings->_printDisclaimer = false;
|
||||
$settings->_footNote = false;
|
||||
|
||||
// end of the page
|
||||
$this->contentContainerEnd();
|
||||
$this->contentEnd();
|
||||
$this->htmlEndPage();
|
||||
} /* }}} */
|
||||
|
||||
public function update() { /* {{{ */
|
||||
$settings = $this->params['settings'];
|
||||
|
||||
$this->htmlStartPage('Database update');
|
||||
$this->globalBanner();
|
||||
$this->contentStart();
|
||||
$this->contentHeading("SeedDMS Installation for version ".$_GET['version']);
|
||||
$this->contentContainerStart();
|
||||
|
||||
$sqlfile = "update.sql";
|
||||
switch($settings->_dbDriver) {
|
||||
case 'mysql':
|
||||
case 'mysqli':
|
||||
case 'mysqlnd':
|
||||
$tmp = explode(":", $settings->_dbHostname);
|
||||
$dsn = $settings->_dbDriver.":dbname=".$settings->_dbDatabase.";host=".$tmp[0];
|
||||
if(isset($tmp[1]))
|
||||
$dsn .= ";port=".$tmp[1];
|
||||
break;
|
||||
case 'sqlite':
|
||||
$dsn = $settings->_dbDriver.":".$settings->_dbDatabase;
|
||||
if(file_exists('update-'.$_GET['version'].'/update-sqlite3.sql'))
|
||||
$sqlfile = "update-sqlite3.sql";
|
||||
break;
|
||||
case 'pgsql':
|
||||
$tmp = explode(":", $settings->_dbHostname);
|
||||
$dsn = $settings->_dbDriver.":dbname=".$settings->_dbDatabase.";host=".$tmp[0];
|
||||
if(isset($tmp[1]))
|
||||
$dsn .= ";port=".$tmp[1];
|
||||
if(file_exists('update-'.$_GET['version'].'/update-postgres.sql'))
|
||||
$sqlfile = "update-postgres.sql";
|
||||
}
|
||||
$db = new PDO($dsn, $settings->_dbUser, $settings->_dbPass);
|
||||
if (!$db) {
|
||||
die;
|
||||
}
|
||||
|
||||
$errorMsg = '';
|
||||
$res = $db->query('select * from tblVersion');
|
||||
$recs = $res->fetchAll(PDO::FETCH_ASSOC);
|
||||
if(!empty($recs)) {
|
||||
$rec = $recs[0];
|
||||
if($_GET['version'] > $rec['major'].'.'.$rec['minor'].'.'.$rec['subminor']) {
|
||||
|
||||
if(file_exists('update-'.$_GET['version'].'/'.$sqlfile)) {
|
||||
$queries = file_get_contents('update-'.$_GET['version'].'/'.$sqlfile);
|
||||
$queries = explode(";", $queries);
|
||||
|
||||
// execute queries
|
||||
if($queries) {
|
||||
echo "<h3>Updating database schema</h3>";
|
||||
foreach($queries as $query) {
|
||||
$query = trim($query);
|
||||
if (!empty($query)) {
|
||||
echo $query."<br />";
|
||||
if(false === $db->exec($query)) {
|
||||
$e = $db->ErrorInfo();
|
||||
$errorMsg .= $e[2] . "<br/>";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
echo "<p>SQL file for update missing!</p>";
|
||||
}
|
||||
} else {
|
||||
echo "<p>Database schema already up to date.</p>";
|
||||
}
|
||||
|
||||
|
||||
if(!$errorMsg) {
|
||||
if(file_exists('update-'.$_GET['version'].'/update.php')) {
|
||||
echo "<h3>Running update script</h3>";
|
||||
include('update-'.$_GET['version'].'/update.php');
|
||||
}
|
||||
} else {
|
||||
echo "<h3>Error Messages</h3>";
|
||||
echo $errorMsg;
|
||||
}
|
||||
echo "<p><a href=\"install.php\">Go back to installation and recheck.</a></p>";
|
||||
} else {
|
||||
echo "<p>Could not determine database schema version.</p>";
|
||||
}
|
||||
$db = null;
|
||||
|
||||
// just remove info for web page installation
|
||||
$settings->_printDisclaimer = false;
|
||||
$settings->_footNote = false;
|
||||
// end of the page
|
||||
$this->contentContainerEnd();
|
||||
$this->contentEnd();
|
||||
$this->htmlEndPage();
|
||||
} /* }}} */
|
||||
}
|
||||
|
|
@ -1,23 +1,22 @@
|
|||
<?php
|
||||
require_once('../inc/inc.Version.php');
|
||||
$ver = new SeedDMS_Version();
|
||||
define("SEEDDMS_INSTALL", "on");
|
||||
define("SEEDDMS_VERSION", $ver->version());
|
||||
|
||||
include("../inc/inc.Settings.php");
|
||||
$settings = new Settings();
|
||||
$rootDir = realpath ("..");
|
||||
$settings->_rootDir = $rootDir.'/';
|
||||
if(file_exists($rootDir.'/../www'))
|
||||
$rootDir = realpath($rootDir.'/..').'/www';
|
||||
$settings->_rootDir = str_replace("\\", "/" , $rootDir).'/';
|
||||
$settings->_language = 'en_GB';
|
||||
|
||||
$theme = "bootstrap";
|
||||
include("../inc/inc.Language.php");
|
||||
include "../languages/en_GB/lang.inc";
|
||||
include("../inc/inc.ClassUI.php");
|
||||
include("class.Install.php");
|
||||
|
||||
UI::htmlStartPage("INSTALL");
|
||||
UI::globalBanner();
|
||||
UI::contentStart();
|
||||
UI::contentHeading("SeedDMS Installation...");
|
||||
UI::contentContainerStart();
|
||||
echo "<h2>".getMLText('settings_install_welcome_title')."</h2>";
|
||||
echo "<div style=\"width: 600px;\">".getMLText('settings_install_welcome_text')."</div>";
|
||||
echo '<p><a href="install.php">' . getMLText("settings_start_install") . '</a></p>';
|
||||
UI::contentContainerEnd();
|
||||
UI::contentEnd();
|
||||
UI::htmlEndPage();
|
||||
?>
|
||||
$view = new SeedDMS_View_Install(array('settings'=>$settings, 'session'=>null, 'sitename'=>'SeedDMS', 'printdisclaimer'=>0, 'showmissingtranslations'=>0, 'absbaseprefix'=>'/', 'enabledropfolderlist'=>0, 'enablemenutasks'=>0));
|
||||
$view->intro();
|
||||
|
|
|
|||
|
|
@ -46,66 +46,6 @@ if (!file_exists("settings.xml.template_install")) {
|
|||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* Functions
|
||||
*/
|
||||
function openDBConnection($settings) { /* {{{ */
|
||||
switch($settings->_dbDriver) {
|
||||
case 'mysql':
|
||||
case 'mysqli':
|
||||
case 'mysqlnd':
|
||||
case 'pgsql':
|
||||
$tmp = explode(":", $settings->_dbHostname);
|
||||
$dsn = $settings->_dbDriver.":dbname=".$settings->_dbDatabase.";host=".$tmp[0];
|
||||
if(isset($tmp[1]))
|
||||
$dsn .= ";port=".$tmp[1];
|
||||
break;
|
||||
case 'sqlite':
|
||||
$dsn = $settings->_dbDriver.":".$settings->_dbDatabase;
|
||||
break;
|
||||
}
|
||||
$connTmp = new PDO($dsn, $settings->_dbUser, $settings->_dbPass);
|
||||
return $connTmp;
|
||||
} /* }}} */
|
||||
|
||||
function printError($error) { /* {{{ */
|
||||
print "<div class=\"alert alert-error\">\n";
|
||||
print $error;
|
||||
print "</div>";
|
||||
} /* }}} */
|
||||
|
||||
function printWarning($error) { /* {{{ */
|
||||
print "<div class=\"install_warning\">";
|
||||
print "Warning<br />";
|
||||
print $error;
|
||||
print "</div>";
|
||||
} /* }}} */
|
||||
|
||||
function printCheckError($resCheck) { /* {{{ */
|
||||
$hasError = false;
|
||||
foreach($resCheck as $keyRes => $paramRes) {
|
||||
if(isset($paramRes['type']) && $paramRes['type'] == 'error')
|
||||
$hasError = true;
|
||||
$errorMes = getMLText("settings_$keyRes"). " : " . getMLText("settings_".$paramRes["status"]);
|
||||
|
||||
if (isset($paramRes["currentvalue"]))
|
||||
$errorMes .= "<br/> => " . getMLText("settings_currentvalue") . " : " . $paramRes["currentvalue"];
|
||||
if (isset($paramRes["suggestionvalue"]))
|
||||
$errorMes .= "<br/> => " . getMLText("settings_suggestionvalue") . " : " . $paramRes["suggestionvalue"];
|
||||
if (isset($paramRes["suggestion"]))
|
||||
$errorMes .= "<br/> => " . getMLText("settings_".$paramRes["suggestion"]);
|
||||
if (isset($paramRes["systemerror"]))
|
||||
$errorMes .= "<br/> => " . $paramRes["systemerror"];
|
||||
|
||||
if(isset($paramRes['type']) && $paramRes['type'] == 'error')
|
||||
printError($errorMes);
|
||||
else
|
||||
printWarning($errorMes);
|
||||
}
|
||||
|
||||
return $hasError;
|
||||
} /* }}} */
|
||||
|
||||
function fileExistsInIncludePath($file) { /* {{{ */
|
||||
$paths = explode(PATH_SEPARATOR, get_include_path());
|
||||
$found = false;
|
||||
|
|
@ -140,7 +80,7 @@ if (!$configDir) {
|
|||
}
|
||||
|
||||
if (!file_exists($configDir."/ENABLE_INSTALL_TOOL")) {
|
||||
echo "For installation of SeedDMS, you must create the file conf/ENABLE_INSTALL_TOOL";
|
||||
echo "For installation of SeedDMS, you must create the file ".$configDir."/ENABLE_INSTALL_TOOL";
|
||||
exit;
|
||||
}
|
||||
|
||||
|
|
@ -156,23 +96,27 @@ $settings = new Settings();
|
|||
$settings->load($configDir."/settings.xml");
|
||||
|
||||
$rootDir = realpath ("..");
|
||||
$rootDir = str_replace ("\\", "/" , $rootDir) . "/";
|
||||
$installPath = realpath ("install.php");
|
||||
$installPath = str_replace ("\\", "/" , $installPath);
|
||||
$tmpToDel = str_replace ($rootDir, "" , $installPath);
|
||||
$httpRoot = str_replace ($tmpToDel, "" , $_SERVER["REQUEST_URI"]);
|
||||
$httpRoot = str_replace ($tmpToDel, "" , $_SERVER["SCRIPT_NAME"]).'/';
|
||||
/* Correct rootDir to ensure it points to 'www' instead of the versioned
|
||||
* seeddms dir.
|
||||
*/
|
||||
if(file_exists($rootDir.'/../www'))
|
||||
$rootDir = realpath($rootDir.'/..').'/www';
|
||||
$rootDir = str_replace ("\\", "/" , $rootDir) . "/";
|
||||
do {
|
||||
$httpRoot = str_replace ("//", "/" , $httpRoot, $count);
|
||||
} while ($count<>0);
|
||||
|
||||
if(!$settings->_rootDir)
|
||||
$settings->_rootDir = $rootDir;
|
||||
elseif(realpath ("..") != realpath($settings->_rootDir)) { // Fix rootDir if required
|
||||
$msg = '';
|
||||
if($rootDir != $settings->_rootDir) {
|
||||
$msg = "Your Root directory has been modified to fit your installation path!";
|
||||
$settings->_rootDir = realpath ("..")."/";
|
||||
}
|
||||
$settings->_rootDir = $rootDir;
|
||||
|
||||
if(!$settings->_contentDir) {
|
||||
if(!$settings->_contentDir || !is_dir($settings->_contentDir)) {
|
||||
$settings->_contentDir = realpath($settings->_rootDir."..") . '/data/';
|
||||
$settings->_luceneDir = $settings->_contentDir . 'lucene/';
|
||||
$settings->_stagingDir = $settings->_contentDir . 'staging/';
|
||||
|
|
@ -183,6 +127,11 @@ if(!$settings->_contentDir) {
|
|||
$settings->_cacheDir = $settings->_contentDir . 'cache/';
|
||||
}
|
||||
}
|
||||
if($settings->_dbDriver == 'sqlite') {
|
||||
if(!$settings->_dbDatabase || !file_exists($settings->_dbDatabase)) {
|
||||
$settings->_dbDatabase = $settings->_contentDir.'content.db';
|
||||
}
|
||||
}
|
||||
$settings->_httpRoot = $httpRoot;
|
||||
|
||||
if(isset($settings->_extraPath))
|
||||
|
|
@ -195,327 +144,8 @@ $theme = "bootstrap";
|
|||
include("../inc/inc.Language.php");
|
||||
include "../languages/en_GB/lang.inc";
|
||||
include("../inc/inc.ClassUI.php");
|
||||
include("class.Install.php");
|
||||
|
||||
$view = new SeedDMS_View_Install(array('settings'=>$settings, 'session'=>null, 'sitename'=>'SeedDMS', 'printdisclaimer'=>0, 'showmissingtranslations'=>0, 'absbaseprefix'=>'/', 'enabledropfolderlist'=>0, 'enablemenutasks'=>0, 'configdir'=>$configDir));
|
||||
$view->install($msg);
|
||||
|
||||
UI::htmlStartPage("INSTALL");
|
||||
UI::globalBanner();
|
||||
UI::contentStart();
|
||||
UI::contentHeading("SeedDMS Installation for version ".SEEDDMS_VERSION);
|
||||
if(isset($msg))
|
||||
echo "<div class=\"alert alert-warning\">".$msg."</div>";
|
||||
UI::contentContainerStart();
|
||||
|
||||
|
||||
/**
|
||||
* Show phpinfo
|
||||
*/
|
||||
if (isset($_GET['phpinfo'])) {
|
||||
echo '<a href="install.php">' . getMLText("back") . '</a>';
|
||||
phpinfo();
|
||||
UI::contentContainerEnd();
|
||||
UI::contentEnd();
|
||||
UI::htmlEndPage();
|
||||
exit();
|
||||
}
|
||||
|
||||
/**
|
||||
* check if ENABLE_INSTALL_TOOL shall be removed
|
||||
*/
|
||||
if (isset($_GET['disableinstall'])) { /* {{{ */
|
||||
if(file_exists($configDir."/ENABLE_INSTALL_TOOL")) {
|
||||
if(unlink($configDir."/ENABLE_INSTALL_TOOL")) {
|
||||
echo getMLText("settings_install_disabled");
|
||||
echo "<br/><br/>";
|
||||
echo '<a href="../out/out.Settings.php">' . getMLText("settings_more_settings") .'</a>';
|
||||
} else {
|
||||
echo getMLText("settings_cannot_disable");
|
||||
echo "<br/><br/>";
|
||||
echo '<a href="install.php">' . getMLText("back") . '</a>';
|
||||
}
|
||||
} else {
|
||||
echo getMLText("settings_cannot_disable");
|
||||
echo "<br/><br/>";
|
||||
echo '<a href="install.php">' . getMLText("back") . '</a>';
|
||||
}
|
||||
UI::contentContainerEnd();
|
||||
UI::contentEnd();
|
||||
UI::htmlEndPage();
|
||||
exit();
|
||||
} /* }}} */
|
||||
|
||||
/**
|
||||
* Check System
|
||||
*/
|
||||
if (printCheckError( $settings->checkSystem())) { /* {{{ */
|
||||
if (function_exists("apache_get_version")) {
|
||||
echo "<br/>Apache version: " . apache_get_version();
|
||||
}
|
||||
|
||||
echo "<br/>PHP version: " . phpversion();
|
||||
|
||||
echo "<br/>PHP include path: " . ini_get('include_path');
|
||||
|
||||
echo '<br/>';
|
||||
echo '<br/>';
|
||||
echo '<a href="' . $httpRoot . 'install/install.php">' . getMLText("refresh") . '</a>';
|
||||
echo ' - ';
|
||||
echo '<a href="' . $httpRoot . 'install/install.php?phpinfo">' . getMLText("version_info") . '</a>';
|
||||
|
||||
exit;
|
||||
} /* }}} */
|
||||
|
||||
|
||||
if (isset($_POST["action"])) $action=$_POST["action"];
|
||||
else if (isset($_GET["action"])) $action=$_GET["action"];
|
||||
else $action=NULL;
|
||||
|
||||
$showform = true;
|
||||
if ($action=="setSettings") {
|
||||
/**
|
||||
* Get Parameters
|
||||
*/
|
||||
$settings->_rootDir = $_POST["rootDir"];
|
||||
$settings->_httpRoot = $_POST["httpRoot"];
|
||||
$settings->_contentDir = $_POST["contentDir"];
|
||||
$settings->_luceneDir = $_POST["luceneDir"];
|
||||
$settings->_stagingDir = $_POST["stagingDir"];
|
||||
$settings->_cacheDir = $_POST["cacheDir"];
|
||||
$settings->_extraPath = $_POST["extraPath"];
|
||||
$settings->_dbDriver = $_POST["dbDriver"];
|
||||
$settings->_dbHostname = $_POST["dbHostname"];
|
||||
$settings->_dbDatabase = $_POST["dbDatabase"];
|
||||
$settings->_dbUser = $_POST["dbUser"];
|
||||
$settings->_dbPass = $_POST["dbPass"];
|
||||
$settings->_coreDir = $_POST["coreDir"];
|
||||
$settings->_luceneClassDir = $_POST["luceneClassDir"];
|
||||
|
||||
if(isset($settings->_extraPath))
|
||||
ini_set('include_path', $settings->_extraPath. PATH_SEPARATOR .ini_get('include_path'));
|
||||
|
||||
/**
|
||||
* Check Parameters, require version 3.3.x
|
||||
*/
|
||||
$hasError = printCheckError( $settings->check(substr(str_replace('.', '', SEEDDMS_VERSION), 0,2)));
|
||||
|
||||
if (!$hasError) {
|
||||
// Create database
|
||||
if (isset($_POST["createDatabase"])) {
|
||||
$createOK = false;
|
||||
$errorMsg = "";
|
||||
|
||||
$connTmp =openDBConnection($settings);
|
||||
if ($connTmp) {
|
||||
// read SQL file
|
||||
if ($settings->_dbDriver=="mysql")
|
||||
$queries = file_get_contents("create_tables-innodb.sql");
|
||||
elseif($settings->_dbDriver=="sqlite")
|
||||
$queries = file_get_contents("create_tables-sqlite3.sql");
|
||||
elseif($settings->_dbDriver=="pgsql")
|
||||
$queries = file_get_contents("create_tables-postgres.sql");
|
||||
else
|
||||
die();
|
||||
|
||||
// generate SQL query
|
||||
$queries = explode(";", $queries);
|
||||
|
||||
// execute queries
|
||||
foreach($queries as $query) {
|
||||
// var_dump($query);
|
||||
$query = trim($query);
|
||||
if (!empty($query)) {
|
||||
$connTmp->exec($query);
|
||||
|
||||
if ($connTmp->errorCode() != 0) {
|
||||
$errorMsg .= $connTmp->errorInfo()[2] . "<br/>";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// error ?
|
||||
if (empty($errorMsg))
|
||||
$createOK = true;
|
||||
|
||||
$connTmp = null;
|
||||
|
||||
// Show error
|
||||
if (!$createOK) {
|
||||
echo $errorMsg;
|
||||
$hasError = true;
|
||||
}
|
||||
} // create database
|
||||
|
||||
if (!$hasError) {
|
||||
|
||||
// Save settings
|
||||
$settings->save();
|
||||
|
||||
$needsupdate = false;
|
||||
$connTmp =openDBConnection($settings);
|
||||
if ($connTmp) {
|
||||
switch($settings->_dbDriver) {
|
||||
case 'mysql':
|
||||
case 'mysqli':
|
||||
case 'mysqlnd':
|
||||
case 'sqlite':
|
||||
$sql = 'select * from `tblVersion`';
|
||||
break;
|
||||
case 'pgsql':
|
||||
$sql = 'select * from "tblVersion"';
|
||||
break;
|
||||
}
|
||||
$res = $connTmp->query($sql);
|
||||
if($res) {
|
||||
if($rec = $res->fetch(PDO::FETCH_ASSOC)) {
|
||||
$updatedirs = array();
|
||||
$d = dir(".");
|
||||
while (false !== ($entry = $d->read())) {
|
||||
if(preg_match('/update-([0-9.]*)/', $entry, $matches)) {
|
||||
$updatedirs[] = $matches[1];
|
||||
}
|
||||
}
|
||||
$d->close();
|
||||
|
||||
echo "Your current database schema has version ".$rec['major'].'.'.$rec['minor'].'.'.$rec['subminor'].". Please run all (if any)<br />of the update scripts below in the listed order.<br /><br />";
|
||||
$connTmp = null;
|
||||
|
||||
if($updatedirs) {
|
||||
asort($updatedirs);
|
||||
foreach($updatedirs as $updatedir) {
|
||||
if($updatedir > $rec['major'].'.'.$rec['minor'].'.'.$rec['subminor']) {
|
||||
$needsupdate = true;
|
||||
print "<h3>Database update to version ".$updatedir." needed</h3>";
|
||||
if(file_exists('update-'.$updatedir.'/update.txt')) {
|
||||
print "<p>Please read the comments on updating this version. <a href=\"update-".$updatedir."/update.txt\" target=\"_blank\">Read now</a></p>";
|
||||
}
|
||||
print "<p><a href=\"update.php?version=".$updatedir."\" class=\"btn btn-primary\">Run the update script</a>.</p>";
|
||||
}
|
||||
}
|
||||
} else {
|
||||
print "<p>Your current database is up to date.</p>";
|
||||
}
|
||||
}
|
||||
if(!$needsupdate) {
|
||||
echo getMLText("settings_install_success");
|
||||
echo "<br/><br/>";
|
||||
echo getMLText("settings_delete_install_folder");
|
||||
echo "<br/><br/>";
|
||||
echo '<a href="install.php?disableinstall=1">' . getMLText("settings_disable_install") . '</a>';
|
||||
echo "<br/><br/>";
|
||||
|
||||
echo '<a href="../out/out.Settings.php">' . getMLText("settings_more_settings") .'</a>';
|
||||
$showform = false;
|
||||
}
|
||||
} else {
|
||||
print "<p>You does not seem to have a valid database. The table tblVersion is missing.</p>";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Back link
|
||||
echo '<br/>';
|
||||
echo '<br/>';
|
||||
// echo '<a href="' . $httpRoot . '/install/install.php">' . getMLText("back") . '</a>';
|
||||
|
||||
}
|
||||
|
||||
if($showform) {
|
||||
|
||||
/**
|
||||
* Set parameters
|
||||
*/
|
||||
?>
|
||||
<form action="install.php" method="post" enctype="multipart/form-data">
|
||||
<input type="Hidden" name="action" value="setSettings">
|
||||
<table>
|
||||
<!-- SETTINGS - SYSTEM - SERVER -->
|
||||
<tr ><td><b> <?php printMLText("settings_Server");?></b></td> </tr>
|
||||
<tr title="<?php printMLText("settings_rootDir_desc");?>">
|
||||
<td><?php printMLText("settings_rootDir");?>:</td>
|
||||
<td><input type="text" name="rootDir" value="<?php echo $settings->_rootDir ?>" size="100" /></td>
|
||||
</tr>
|
||||
<tr title="<?php printMLText("settings_httpRoot_desc");?>">
|
||||
<td><?php printMLText("settings_httpRoot");?>:</td>
|
||||
<td><input type="text" name="httpRoot" value="<?php echo $settings->_httpRoot ?>" size="100" /></td>
|
||||
</tr>
|
||||
<tr title="<?php printMLText("settings_contentDir_desc");?>">
|
||||
<td><?php printMLText("settings_contentDir");?>:</td>
|
||||
<td><input type="text" name="contentDir" value="<?php echo $settings->_contentDir ?>" size="100" style="background:yellow" /></td>
|
||||
</tr>
|
||||
<tr title="<?php printMLText("settings_luceneDir_desc");?>">
|
||||
<td><?php printMLText("settings_luceneDir");?>:</td>
|
||||
<td><input type="text" name="luceneDir" value="<?php echo $settings->_luceneDir ?>" size="100" style="background:yellow" /></td>
|
||||
</tr>
|
||||
<tr title="<?php printMLText("settings_stagingDir_desc");?>">
|
||||
<td><?php printMLText("settings_stagingDir");?>:</td>
|
||||
<td><input type="text" name="stagingDir" value="<?php echo $settings->_stagingDir ?>" size="100" style="background:yellow" /></td>
|
||||
</tr>
|
||||
<tr title="<?php printMLText("settings_cacheDir_desc");?>">
|
||||
<td><?php printMLText("settings_cacheDir");?>:</td>
|
||||
<td><input type="text" name="cacheDir" value="<?php echo $settings->_cacheDir ?>" size="100" style="background:yellow" /></td>
|
||||
</tr>
|
||||
<tr title="<?php printMLText("settings_coreDir_desc");?>">
|
||||
<td><?php printMLText("settings_coreDir");?>:</td>
|
||||
<td><input type="text" name="coreDir" value="<?php echo $settings->_coreDir ?>" size="100" /></td>
|
||||
</tr>
|
||||
<tr title="<?php printMLText("settings_luceneClassDir_desc");?>">
|
||||
<td><?php printMLText("settings_luceneClassDir");?>:</td>
|
||||
<td><input type="text" name="luceneClassDir" value="<?php echo $settings->_luceneClassDir ?>" size="100" /></td>
|
||||
</tr>
|
||||
<tr title="<?php printMLText("settings_extraPath_desc");?>">
|
||||
<td><?php printMLText("settings_extraPath");?>:</td>
|
||||
<td><input type="text" name="extraPath" value="<?php echo $settings->_extraPath ?>" size="100" /></td>
|
||||
</tr>
|
||||
|
||||
<!-- SETTINGS - SYSTEM - DATABASE -->
|
||||
<tr ><td><b> <?php printMLText("settings_Database");?></b></td> </tr>
|
||||
<tr title="<?php printMLText("settings_dbDriver_desc");?>">
|
||||
<td><?php printMLText("settings_dbDriver");?>:</td>
|
||||
<td><input type="text" name="dbDriver" value="<?php echo $settings->_dbDriver ?>" /></td>
|
||||
</tr>
|
||||
<tr title="<?php printMLText("settings_dbHostname_desc");?>">
|
||||
<td><?php printMLText("settings_dbHostname");?>:</td>
|
||||
<td><input type="text" name="dbHostname" value="<?php echo $settings->_dbHostname ?>" /></td>
|
||||
</tr>
|
||||
<tr title="<?php printMLText("settings_dbDatabase_desc");?>">
|
||||
<td><?php printMLText("settings_dbDatabase");?>:</td>
|
||||
<td><input type="text" name="dbDatabase" value="<?php echo $settings->_dbDatabase ?>" style="background:yellow" /></td>
|
||||
</tr>
|
||||
<tr title="<?php printMLText("settings_dbUser_desc");?>">
|
||||
<td><?php printMLText("settings_dbUser");?>:</td>
|
||||
<td><input type="text" name="dbUser" value="<?php echo $settings->_dbUser ?>" style="background:yellow" /></td>
|
||||
</tr>
|
||||
<tr title="<?php printMLText("settings_dbPass_desc");?>">
|
||||
<td><?php printMLText("settings_dbPass");?>:</td>
|
||||
<td><input name="dbPass" value="<?php echo $settings->_dbPass ?>" type="password" style="background:yellow" /></td>
|
||||
</tr>
|
||||
<tr><td></td></tr>
|
||||
<tr><td></td></tr>
|
||||
<tr>
|
||||
<td><?php printMLText("settings_createdatabase");?>:</td>
|
||||
<td><input name="createDatabase" type="checkbox" style="background:yellow"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td><input type="submit" class="btn btn-primary" value="<?php printMLText("apply");?>" /></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</form>
|
||||
<?php
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
*/
|
||||
|
||||
// just remove info for web page installation
|
||||
$settings->_printDisclaimer = false;
|
||||
$settings->_footNote = false;
|
||||
// end of the page
|
||||
UI::contentContainerEnd();
|
||||
UI::contentEnd();
|
||||
UI::htmlEndPage();
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -51,7 +51,9 @@ ALTER TABLE `new_tblDocumentContent` RENAME TO `tblDocumentContent`;
|
|||
CREATE TABLE `new_tblDocumentFiles` (
|
||||
`id` INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
`document` INTEGER NOT NULL default 0 REFERENCES `tblDocuments` (`id`),
|
||||
`version` INTEGER unsigned NOT NULL default '0',
|
||||
`userID` INTEGER NOT NULL default 0 REFERENCES `tblUsers` (`id`),
|
||||
`public` INTEGER NOT NULL default '0',
|
||||
`comment` text,
|
||||
`name` varchar(150) default NULL,
|
||||
`date` INTEGER default NULL,
|
||||
|
|
@ -61,16 +63,12 @@ CREATE TABLE `new_tblDocumentFiles` (
|
|||
`mimeType` varchar(100) NOT NULL default ''
|
||||
) ;
|
||||
|
||||
INSERT INTO `new_tblDocumentFiles` SELECT * FROM `tblDocumentFiles`;
|
||||
INSERT INTO `new_tblDocumentFiles` SELECT `id`, `document`, 0, `userID`, 0, `comment`, `name`, `date`, `dir`, `orgFileName`, `fileType`, `mimeType` FROM `tblDocumentFiles`;
|
||||
|
||||
DROP TABLE `tblDocumentFiles`;
|
||||
|
||||
ALTER TABLE `new_tblDocumentFiles` RENAME TO `tblDocumentFiles`;
|
||||
|
||||
ALTER TABLE `tblDocumentFiles` ADD COLUMN `version` INTEGER unsigned NOT NULL DEFAULT '0';
|
||||
|
||||
ALTER TABLE `tblDocumentFiles` ADD COLUMN `public` INTEGER unsigned NOT NULL DEFAULT '0';
|
||||
|
||||
CREATE TABLE `new_tblUsers` (
|
||||
`id` INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
`login` varchar(50) default NULL,
|
||||
|
|
|
|||
|
|
@ -37,94 +37,7 @@ $theme = "bootstrap";
|
|||
require_once("../inc/inc.Language.php");
|
||||
include "../languages/en_GB/lang.inc";
|
||||
require_once("../inc/inc.ClassUI.php");
|
||||
include("class.Install.php");
|
||||
|
||||
UI::htmlStartPage('Database update');
|
||||
UI::globalBanner();
|
||||
UI::contentStart();
|
||||
UI::contentHeading("SeedDMS Installation for version ".$_GET['version']);
|
||||
UI::contentContainerStart();
|
||||
|
||||
$sqlfile = "update.sql";
|
||||
switch($settings->_dbDriver) {
|
||||
case 'mysql':
|
||||
case 'mysqli':
|
||||
case 'mysqlnd':
|
||||
$tmp = explode(":", $settings->_dbHostname);
|
||||
$dsn = $settings->_dbDriver.":dbname=".$settings->_dbDatabase.";host=".$tmp[0];
|
||||
if(isset($tmp[1]))
|
||||
$dsn .= ";port=".$tmp[1];
|
||||
break;
|
||||
case 'sqlite':
|
||||
$dsn = $settings->_dbDriver.":".$settings->_dbDatabase;
|
||||
if(file_exists('update-'.$_GET['version'].'/update-sqlite3.sql'))
|
||||
$sqlfile = "update-sqlite3.sql";
|
||||
break;
|
||||
case 'pgsql':
|
||||
$tmp = explode(":", $settings->_dbHostname);
|
||||
$dsn = $settings->_dbDriver.":dbname=".$settings->_dbDatabase.";host=".$tmp[0];
|
||||
if(isset($tmp[1]))
|
||||
$dsn .= ";port=".$tmp[1];
|
||||
if(file_exists('update-'.$_GET['version'].'/update-postgres.sql'))
|
||||
$sqlfile = "update-postgres.sql";
|
||||
}
|
||||
$db = new PDO($dsn, $settings->_dbUser, $settings->_dbPass);
|
||||
if (!$db) {
|
||||
die;
|
||||
}
|
||||
|
||||
$errorMsg = '';
|
||||
$res = $db->query('select * from tblVersion');
|
||||
$recs = $res->fetchAll(PDO::FETCH_ASSOC);
|
||||
if(!empty($recs)) {
|
||||
$rec = $recs[0];
|
||||
if($_GET['version'] > $rec['major'].'.'.$rec['minor'].'.'.$rec['subminor']) {
|
||||
|
||||
if(file_exists('update-'.$_GET['version'].'/'.$sqlfile)) {
|
||||
$queries = file_get_contents('update-'.$_GET['version'].'/'.$sqlfile);
|
||||
$queries = explode(";", $queries);
|
||||
|
||||
// execute queries
|
||||
if($queries) {
|
||||
echo "<h3>Updating database schema</h3>";
|
||||
foreach($queries as $query) {
|
||||
$query = trim($query);
|
||||
if (!empty($query)) {
|
||||
echo $query."<br />";
|
||||
if(false === $db->exec($query)) {
|
||||
$e = $db->ErrorInfo();
|
||||
$errorMsg .= $query.": ".$e[2] . "<br/>";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
echo "<p>SQL file for update missing!</p>";
|
||||
}
|
||||
} else {
|
||||
echo "<p>Database schema already up to date.</p>";
|
||||
}
|
||||
|
||||
|
||||
if(!$errorMsg) {
|
||||
if(file_exists('update-'.$_GET['version'].'/update.php')) {
|
||||
echo "<h3>Running update script</h3>";
|
||||
include('update-'.$_GET['version'].'/update.php');
|
||||
}
|
||||
} else {
|
||||
echo "<h3>Error Messages</h3>";
|
||||
echo $errorMsg;
|
||||
}
|
||||
echo "<p><a href=\"install.php\" class=\"btn btn-primary\">Go back to installation and recheck.</a></p>";
|
||||
} else {
|
||||
echo "<p>Could not determine database schema version.</p>";
|
||||
}
|
||||
$db = null;
|
||||
|
||||
// just remove info for web page installation
|
||||
$settings->_printDisclaimer = false;
|
||||
$settings->_footNote = false;
|
||||
// end of the page
|
||||
UI::contentContainerEnd();
|
||||
UI::contentEnd();
|
||||
UI::htmlEndPage();
|
||||
?>
|
||||
$view = new SeedDMS_View_Install(array('settings'=>$settings, 'session'=>null, 'sitename'=>'SeedDMS', 'printdisclaimer'=>0, 'showmissingtranslations'=>0, 'absbaseprefix'=>'/', 'enabledropfolderlist'=>0, 'enablemenutasks'=>0));
|
||||
$view->update();
|
||||
|
|
|
|||
|
|
@ -125,7 +125,7 @@ default:
|
|||
$user = $controller->getUser();
|
||||
|
||||
if (isset($referuri) && strlen($referuri)>0) {
|
||||
header("Location: " . getBaseUrl() . "/" . $referuri);
|
||||
header("Location: " . getBaseUrl() . $referuri);
|
||||
}
|
||||
else {
|
||||
header("Location: ".$settings->_httpRoot.(isset($settings->_siteDefaultPage) && strlen($settings->_siteDefaultPage)>0 ? $settings->_siteDefaultPage : "out/out.ViewFolder.php?folderid=".($user->getHomeFolder() ? $user->getHomeFolder() : $settings->_rootFolderID)));
|
||||
|
|
|
|||
|
|
@ -84,10 +84,14 @@ foreach($tasks as $task) {
|
|||
if(method_exists($taskobj, 'execute')) {
|
||||
if(!$task->getDisabled() && $task->isDue()) {
|
||||
if($mode == 'run') {
|
||||
echo get_class($task);
|
||||
/* Schedule the next run right away to prevent a second execution
|
||||
* of the task when the cron job of the scheduler is called before
|
||||
* the last run was finished. The task itself can still be scheduled
|
||||
* to fast, but this is up to the admin of seeddms.
|
||||
*/
|
||||
$task->updateLastNextRun();
|
||||
if($taskobj->execute($task)) {
|
||||
add_log_line("Execution of task ".$task->getExtension()."::".$task->getTask()." successful.");
|
||||
$task->updateLastNextRun();
|
||||
} else {
|
||||
add_log_line("Execution of task ".$task->getExtension()."::".$task->getTask()." failed, task has been disabled.", PEAR_LOG_ERR);
|
||||
$task->setDisabled(1);
|
||||
|
|
|
|||
|
|
@ -148,7 +148,10 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
|
|||
} /* }}} */
|
||||
|
||||
function htmlAddHeader($head, $type='js') { /* {{{ */
|
||||
$this->extraheader[$type] .= $head;
|
||||
if($type == 'logo' || $type == 'favicon')
|
||||
$this->extraheader[$type] = $head;
|
||||
else
|
||||
$this->extraheader[$type] .= $head;
|
||||
} /* }}} */
|
||||
|
||||
function htmlAddJsHeader($script) { /* {{{ */
|
||||
|
|
@ -178,7 +181,8 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
|
|||
$tmp['action'] = 'webrootjs';
|
||||
if(isset($tmp['formtoken']))
|
||||
unset($tmp['formtoken']);
|
||||
echo '<script src="'.$this->params['absbaseprefix'].'out/out.'.$this->params['class'].'.php?'.http_build_query($tmp).'"></script>'."\n";
|
||||
if(!empty($this->params['class']))
|
||||
echo '<script src="'.$this->params['absbaseprefix'].'out/out.'.$this->params['class'].'.php?'.http_build_query($tmp).'"></script>'."\n";
|
||||
echo '<script src="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/styles/application.js"></script>'."\n";
|
||||
if($this->params['enablemenutasks'] && isset($this->params['user']) && $this->params['user']) {
|
||||
$this->addFooterJS('SeedDMSTask.run();');
|
||||
|
|
@ -285,7 +289,7 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
|
|||
echo "<div class=\"navbar navbar-inverse navbar-fixed-top\">\n";
|
||||
echo " <div class=\"navbar-inner\">\n";
|
||||
echo " <div class=\"container-fluid\">\n";
|
||||
echo " <a href=\"".$this->params['settings']->_httpRoot."out/out.ViewFolder.php?folderid=".$this->params['dms']->getRootFolder()->getId()."\">".(!empty($this->extraheader['logo']) ? '<img src="'.$this->extraheader['logo'].'">' : '<img src="'.$this->params['settings']->_httpRoot.'views/bootstrap/images/seeddms-logo.svg">')."</a>";
|
||||
echo " <a href=\"".$this->params['settings']->_httpRoot."out/out.ViewFolder.php?folderid=".(!empty($this->params['dms']) ? $this->params['dms']->getRootFolder()->getId() : '1')."\">".(!empty($this->extraheader['logo']) ? '<img src="'.$this->extraheader['logo'].'">' : '<img src="'.$this->params['settings']->_httpRoot.'views/bootstrap/images/seeddms-logo.svg">')."</a>";
|
||||
echo " <a class=\"brand\" href=\"".$this->params['settings']->_httpRoot."out/out.ViewFolder.php\">".(strlen($this->params['sitename'])>0 ? $this->params['sitename'] : "SeedDMS")."</a>\n";
|
||||
echo " </div>\n";
|
||||
echo " </div>\n";
|
||||
|
|
|
|||
|
|
@ -108,17 +108,19 @@ class SeedDMS_View_EditAttributes extends SeedDMS_Theme_Style {
|
|||
$this->formField(htmlspecialchars($attrdef->getName()), $this->getAttributeEditField($attrdef, $version->getAttribute($attrdef)));
|
||||
}
|
||||
}
|
||||
}
|
||||
$arrs = $this->callHook('addDocumentContentAttributes', $version);
|
||||
if(is_array($arrs)) {
|
||||
foreach($arrs as $arr) {
|
||||
$this->formField($arr[0], $arr[1], isset($arr[2]) ? $arr[2] : null);
|
||||
$arrs = $this->callHook('addDocumentContentAttributes', $version);
|
||||
if(is_array($arrs)) {
|
||||
foreach($arrs as $arr) {
|
||||
$this->formField($arr[0], $arr[1], isset($arr[2]) ? $arr[2] : null);
|
||||
}
|
||||
} elseif(is_string($arrs)) {
|
||||
echo $arrs;
|
||||
}
|
||||
} elseif(is_string($arrs)) {
|
||||
echo $arrs;
|
||||
$this->contentContainerEnd();
|
||||
$this->formSubmit("<i class=\"fa fa-save\"></i> ".getMLText('save'));
|
||||
} else {
|
||||
$this->warningMsg(getMLText('no_attributes_defined'));
|
||||
}
|
||||
$this->contentContainerEnd();
|
||||
$this->formSubmit("<i class=\"fa fa-save\"></i> ".getMLText('save'));
|
||||
?>
|
||||
</form>
|
||||
<?php
|
||||
|
|
|
|||
|
|
@ -16,6 +16,11 @@
|
|||
*/
|
||||
//require_once("class.Bootstrap.php");
|
||||
|
||||
/**
|
||||
* Include class to preview documents
|
||||
*/
|
||||
require_once("SeedDMS/Preview.php");
|
||||
|
||||
/**
|
||||
* Class which outputs the html page for RemoveUserFromProcesses view
|
||||
*
|
||||
|
|
|
|||
|
|
@ -181,7 +181,8 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
|
|||
$tmp['action'] = 'webrootjs';
|
||||
if(isset($tmp['formtoken']))
|
||||
unset($tmp['formtoken']);
|
||||
echo '<script src="'.$this->params['absbaseprefix'].'out/out.'.$this->params['class'].'.php?'.http_build_query($tmp).'"></script>'."\n";
|
||||
if(!empty($this->params['class']))
|
||||
echo '<script src="'.$this->params['absbaseprefix'].'out/out.'.$this->params['class'].'.php?'.http_build_query($tmp).'"></script>'."\n";
|
||||
echo '<script src="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/styles/application.js"></script>'."\n";
|
||||
if($this->params['enablemenutasks'] && isset($this->params['user']) && $this->params['user']) {
|
||||
$this->addFooterJS('SeedDMSTask.run();');
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user