diff --git a/e107_languages/English/lan_installer.php b/e107_languages/English/lan_installer.php index 667eaf528..c62f35eeb 100644 --- a/e107_languages/English/lan_installer.php +++ b/e107_languages/English/lan_installer.php @@ -145,5 +145,9 @@ define("LANINS_103", 'Reviews'); define("LANINS_104", 'Review Front Page ...'); define("LANINS_105", 'A database name or prefix beginning with some digits followed by \'e\' or \'E\' is not acceptable'); -define("LANINS_106", ''); +define("LANINS_106", 'WARNING - E107 cannot write to the directories and/or files listed. While this will not stop E107 installing, it will mean that certain features are not available. + You will need to change the file permissions to use these features'); +define("LANINS_107", ''); +define("LANINS_108", ''); + ?> \ No newline at end of file diff --git a/install_.php b/install_.php index b512ba38c..6a4713156 100644 --- a/install_.php +++ b/install_.php @@ -11,8 +11,8 @@ | GNU General Public License (http://gnu.org). | | $Source: /cvs_backup/e107_0.8/install_.php,v $ -| $Revision: 1.10 $ -| $Date: 2008-07-08 21:09:13 $ +| $Revision: 1.11 $ +| $Date: 2008-07-09 21:38:24 $ | $Author: e107steved $ +----------------------------------------------------------------------------+ */ @@ -399,7 +399,8 @@ class e_install $this->template->SetTag("stage_pre", LANINS_002); $this->template->SetTag("stage_num", LANINS_007); $this->template->SetTag("stage_title", LANINS_008); - $not_writable = $this->check_writable_perms(); + $not_writable = $this->check_writable_perms('must_write'); // Some directories MUST be writable + $opt_writable = $this->check_writable_perms('can_write'); // Some directories CAN optionally be writable $version_fail = false; $perms_errors = ""; if(count($not_writable)) @@ -411,6 +412,15 @@ class e_install } $perms_notes = LANINS_018; } + elseif (count($opt_writable)) + { + $perms_pass = true; + foreach ($opt_writable as $file) + { + $perms_errors .= (substr($file, -1) == "/" ? LANINS_010a : LANINS_010)."...
{$file}
\n"; + } + $perms_notes = LANINS_106; + } else { $perms_pass = true; @@ -710,19 +720,28 @@ This file has been generated by the installation script. $e_forms->add_hidden_data("stage", ($force_stage ? $force_stage : ($this->stage + 1))); } - function check_writable_perms(){ + + function check_writable_perms($list = 'must_write') + { $bad_files = array(); - $data = 'e107_config.php|{$CACHE_DIRECTORY}|{$UPLOADS_DIRECTORY}|{$FILES_DIRECTORY}public/avatars/|{$PLUGINS_DIRECTORY}|{$THEMES_DIRECTORY}'; - foreach ($this->e107->e107_dirs as $dir_name => $value) { - $find[] = "{\${$dir_name}}"; - $replace[] = "./$value"; + $data['must_write'] = 'e107_config.php'; + $data['can_write'] = '{$FILES_DIRECTORY}cache/|{$FILES_DIRECTORY}public/|{$FILES_DIRECTORY}public/avatars/|{$PLUGINS_DIRECTORY}|{$THEMES_DIRECTORY}'; + $data = 'e107_config.php|{$FILES_DIRECTORY}public/temp/|{$FILES_DIRECTORY}public/logs/'; + $data = '{$CACHE_DIRECTORY}|{$UPLOADS_DIRECTORY}|{$FILES_DIRECTORY}public/avatars/|{$PLUGINS_DIRECTORY}|{$THEMES_DIRECTORY}'; + if (!isset($data[$list])) return $bad_files; + foreach ($this->e107->e107_dirs as $dir_name => $value) + { + $find[] = "{\${$dir_name}}"; + $replace[] = "./$value"; } - $data = str_replace($find, $replace, $data); - $files = explode("|", trim($data)); - foreach ($files as $file) { - if(!is_writable($file)) { - $bad_files[] = str_replace("./", "", $file); - } + $data[$list] = str_replace($find, $replace, $data[$list]); + $files = explode("|", trim($data[$list])); + foreach ($files as $file) + { + if(!is_writable($file)) + { + $bad_files[] = str_replace("./", "", $file); + } } return $bad_files; }