mirror of
https://github.com/e107inc/e107.git
synced 2025-04-21 05:02:02 +02:00
Install path fixes.
This commit is contained in:
parent
b1f4c980cc
commit
bc72f5522e
@ -412,7 +412,7 @@ City, State, Country
|
||||
<field name="gen_user_id">1</field>
|
||||
<field name="gen_ip"></field>
|
||||
<field name="gen_intdata">0</field>
|
||||
<field name="gen_chardata"><![CDATA[[center]<img src='{e_IMAGE}splash.jpg' style='width: 412px; height: 275px' alt='' />[/center]]]></field>
|
||||
<field name="gen_chardata">Welcome!</field>
|
||||
</item>
|
||||
</dbTable>
|
||||
<dbTable name="links">
|
||||
@ -642,17 +642,6 @@ City, State, Country
|
||||
<field name="menu_layout"></field>
|
||||
<field name="menu_parms"></field>
|
||||
</item>
|
||||
<item>
|
||||
<field name="menu_id">22</field>
|
||||
<field name="menu_name">PCMag</field>
|
||||
<field name="menu_location">2</field>
|
||||
<field name="menu_order">1</field>
|
||||
<field name="menu_class">0</field>
|
||||
<field name="menu_pages"></field>
|
||||
<field name="menu_path">1</field>
|
||||
<field name="menu_layout"></field>
|
||||
<field name="menu_parms"></field>
|
||||
</item>
|
||||
<item>
|
||||
<field name="menu_id">24</field>
|
||||
<field name="menu_name">counter_menu</field>
|
||||
@ -715,19 +704,6 @@ City, State, Country
|
||||
</item>
|
||||
</dbTable>
|
||||
<dbTable name="page">
|
||||
<item>
|
||||
<field name="page_id">1</field>
|
||||
<field name="page_title"></field>
|
||||
<field name="page_text">[img]{e_IMAGE}pcmag.png[/img]</field>
|
||||
<field name="page_author">0</field>
|
||||
<field name="page_datestamp">1145843485</field>
|
||||
<field name="page_rating_flag">0</field>
|
||||
<field name="page_comment_flag">0</field>
|
||||
<field name="page_password"></field>
|
||||
<field name="page_class"></field>
|
||||
<field name="page_ip_restrict"></field>
|
||||
<field name="page_theme">PCMag</field>
|
||||
</item>
|
||||
</dbTable>
|
||||
<dbTable name="userclass_classes">
|
||||
<item>
|
||||
@ -743,8 +719,8 @@ City, State, Country
|
||||
</item>
|
||||
<item>
|
||||
<field name="userclass_id">2</field>
|
||||
<field name="userclass_name">PRIVATEFORUM1</field>
|
||||
<field name="userclass_description">Example private forum class</field>
|
||||
<field name="userclass_name">CONTACT PEOPLE</field>
|
||||
<field name="userclass_description">Example contact person class</field>
|
||||
<field name="userclass_editclass">254</field>
|
||||
<field name="userclass_parent">0</field>
|
||||
<field name="userclass_accum"></field>
|
||||
|
@ -278,11 +278,13 @@ class e107
|
||||
{
|
||||
// Do some security checks/cleanup, prepare the environment
|
||||
$this->prepare_request();
|
||||
|
||||
|
||||
$this->site_path = "[hash]"; // placeholder
|
||||
// folder info
|
||||
//$this->e107_dirs = $e107_paths;
|
||||
$this->setDirs($e107_paths, $e107_config_override);
|
||||
|
||||
|
||||
// build all paths
|
||||
$this->set_paths();
|
||||
$this->file_path = $this->fix_windows_paths($e107_root_path)."/";
|
||||
@ -295,7 +297,7 @@ class e107
|
||||
|
||||
// set some core URLs (e_LOGIN/SIGNUP)
|
||||
$this->set_urls();
|
||||
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
@ -316,7 +318,7 @@ class e107
|
||||
$this->e107_config_mysql_info = $e107_config_mysql_info;
|
||||
|
||||
// unique folder for e_MEDIA - support for multiple websites from single-install. Must be set before setDirs()
|
||||
$this->site_path = substr(md5($e107_config_mysql_info['mySQLdefaultdb'].".".$e107_config_mysql_info['mySQLprefix']),0,10);
|
||||
$this->site_path = $this->makeSiteHash($e107_config_mysql_info['mySQLdefaultdb'], $e107_config_mysql_info['mySQLprefix']);
|
||||
|
||||
// Set default folder (and override paths) if missing from e107_config.php
|
||||
$this->setDirs($e107_paths, $e107_config_override);
|
||||
@ -338,9 +340,17 @@ class e107
|
||||
$this->set_urls();
|
||||
}
|
||||
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
// Create a unique hash for each database configuration (multi-site support)
|
||||
function makeSiteHash($db,$prefix) // also used by install.
|
||||
{
|
||||
return substr(md5($db.".".$prefix),0,10);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Set system folders and override paths
|
||||
* $e107_paths is the 'compact' version of e107_config folder vars ($ADMIN_DIRECTORY, $IMAGES_DIRECTORY, etc)
|
||||
|
42
install_.php
42
install_.php
@ -26,6 +26,8 @@ define('MIN_PHP_VERSION', '5.0');
|
||||
define('MIN_MYSQL_VERSION', '4.1.2');
|
||||
define('MAKE_INSTALL_LOG', false);
|
||||
|
||||
|
||||
|
||||
// ensure CHARSET is UTF-8 if used
|
||||
//define('CHARSET', 'utf-8');
|
||||
|
||||
@ -233,6 +235,7 @@ class e_install
|
||||
// public function __construct()
|
||||
function e_install()
|
||||
{
|
||||
|
||||
// notice removal, required from various core routines
|
||||
define('USERID', 1);
|
||||
define('USER', true);
|
||||
@ -272,6 +275,9 @@ class e_install
|
||||
define("e_LANGUAGE", $this->previous_steps['language']);
|
||||
include_lan(e_LANGUAGEDIR.e_LANGUAGE."/admin/lan_admin.php");
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -445,6 +451,23 @@ class e_install
|
||||
$this->logLine('Stage 2 completed');
|
||||
}
|
||||
|
||||
|
||||
|
||||
private function updatePaths() // replace hash paths and create folders if needed.
|
||||
{
|
||||
$hash = e107::makeSiteHash($this->previous_steps['mysql']['db'],$this->previous_steps['mysql']['prefix']);
|
||||
$this->e107->site_path = $hash;
|
||||
foreach($this->e107->e107_dirs as $dir => $p)
|
||||
{
|
||||
$this->e107->e107_dirs[$dir] = str_replace("[hash]", $hash, $this->e107->e107_dirs[$dir]);
|
||||
if(!is_dir($this->e107->e107_dirs[$dir]))
|
||||
{
|
||||
@mkdir($this->e107->e107_dirs[$dir]);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
private function stage_3()
|
||||
{
|
||||
@ -465,6 +488,8 @@ class e_install
|
||||
$this->previous_steps['mysql']['db'] = trim($_POST['db']);
|
||||
$this->previous_steps['mysql']['createdb'] = (isset($_POST['createdb']) && $_POST['createdb'] == TRUE ? TRUE : FALSE);
|
||||
$this->previous_steps['mysql']['prefix'] = trim($_POST['prefix']);
|
||||
|
||||
|
||||
$success = $this->check_name($this->previous_steps['mysql']['db'], FALSE) && $this->check_name($this->previous_steps['mysql']['prefix'], TRUE);
|
||||
if ($success)
|
||||
{
|
||||
@ -586,6 +611,8 @@ class e_install
|
||||
private function stage_4()
|
||||
{
|
||||
global $e_forms;
|
||||
|
||||
|
||||
|
||||
$this->stage = 4;
|
||||
$this->logLine('Stage 4 started');
|
||||
@ -720,6 +747,9 @@ class e_install
|
||||
private function stage_5()
|
||||
{
|
||||
global $e_forms;
|
||||
|
||||
$this->updatePaths(); // update dynamic paths and create media and system directories - requires mysql info.
|
||||
|
||||
$this->stage = 5;
|
||||
$this->logLine('Stage 5 started');
|
||||
|
||||
@ -1049,7 +1079,7 @@ class e_install
|
||||
\$HANDLERS_DIRECTORY = '{$this->e107->e107_dirs['HANDLERS_DIRECTORY']}';
|
||||
\$LANGUAGES_DIRECTORY = '{$this->e107->e107_dirs['LANGUAGES_DIRECTORY']}';
|
||||
\$HELP_DIRECTORY = '{$this->e107->e107_dirs['HELP_DIRECTORY']}';
|
||||
\$CACHE_DIRECTORY = '{$this->e107->e107_dirs['CACHE_DIRECTORY']}';
|
||||
\$SYSTEM_DIRECTORY = '{$this->e107->e107_dirs['SYSTEM_DIRECTORY']}';
|
||||
\$DOWNLOADS_DIRECTORY = '{$this->e107->e107_dirs['DOWNLOADS_DIRECTORY']}';
|
||||
\$UPLOADS_DIRECTORY = '{$this->e107->e107_dirs['UPLOADS_DIRECTORY']}';
|
||||
\$MEDIA_DIRECTORY = '{$this->e107->e107_dirs['MEDIA_DIRECTORY']}';
|
||||
@ -1182,6 +1212,7 @@ class e_install
|
||||
}
|
||||
|
||||
// Media import
|
||||
/*
|
||||
e107::getMedia()->import('news',e_IMAGE.'newspost_images/') //TODO remove when news are pluginized
|
||||
->import('page',e_IMAGE.'custom/') //TODO remove when pages are pluginized
|
||||
// ->importIcons(e_PLUGIN) - icons for plugins are imported on install
|
||||
@ -1189,7 +1220,7 @@ class e_install
|
||||
->importIcons(e_THEME.$this->previous_steps['prefs']['sitetheme']."/images/")
|
||||
->importIcons(e_THEME.$this->previous_steps['prefs']['sitetheme']."/icons/");
|
||||
$this->logLine('Media imported to media manager');
|
||||
|
||||
*/
|
||||
e107::getSingleton('e107plugin')->save_addon_prefs(); // save plugin addon pref-lists. eg. e_latest_list.
|
||||
$this->logLine('Addon prefs saved');
|
||||
|
||||
@ -1411,11 +1442,16 @@ class e_install
|
||||
function check_writable_perms($list = 'must_write')
|
||||
{
|
||||
$bad_files = array();
|
||||
|
||||
$system_dirs = $this->e107->e107_dirs;
|
||||
$system_dirs['MEDIA_DIRECTORY'] = str_replace("[hash]/","", $system_dirs['MEDIA_DIRECTORY']);
|
||||
$system_dirs['SYSTEM_DIRECTORY'] = str_replace("[hash]/","", $system_dirs['SYSTEM_DIRECTORY']);
|
||||
|
||||
$data['must_write'] = 'e107_config.php|{$MEDIA_DIRECTORY}|{$SYSTEM_DIRECTORY}'; // all-sub folders are created on-the-fly
|
||||
|
||||
$data['can_write'] = '{$PLUGINS_DIRECTORY}|{$THEMES_DIRECTORY}';
|
||||
if (!isset($data[$list])) return $bad_files;
|
||||
foreach ($this->e107->e107_dirs as $dir_name => $value)
|
||||
foreach ($system_dirs as $dir_name => $value)
|
||||
{
|
||||
$find[] = "{\${$dir_name}}";
|
||||
$replace[] = "./$value";
|
||||
|
Loading…
x
Reference in New Issue
Block a user