added constants.php file and implemented constants for file system modes
diff --git a/system/application/config/constants.php b/system/application/config/constants.php
new file mode 100644
index 0000000..ace3f8b
--- /dev/null
+++ b/system/application/config/constants.php
@@ -0,0 +1,21 @@
+<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
+
+/*
+|--------------------------------------------------------------------------
+| File and Directory Modes
+|--------------------------------------------------------------------------
+|
+| These prefs are used when checking and setting modes when working
+| with the file system. The defaults are fine on servers with proper
+| security, but you may wish (or even need) to change the values in
+| certain environments (Apache running a separate process for each
+| user, PHP under CGI with Apache suEXEC, etc.). Octal values should
+| always be used to set the mode correctly.
+|
+*/
+define('FILE_READ_MODE', 0644);
+define('FILE_WRITE_MODE', 0666);
+define('DIR_READ_MODE', 0755);
+define('DIR_WRITE_MODE', 0777);
+
+?>
\ No newline at end of file
diff --git a/system/codeigniter/CodeIgniter.php b/system/codeigniter/CodeIgniter.php
index 866be35..04936b9 100644
--- a/system/codeigniter/CodeIgniter.php
+++ b/system/codeigniter/CodeIgniter.php
@@ -43,7 +43,14 @@
* ------------------------------------------------------
*/
require(BASEPATH.'codeigniter/Compat'.EXT);
-
+
+/*
+ * ------------------------------------------------------
+ * Load the compatibility override functions
+ * ------------------------------------------------------
+ */
+require(APPPATH.'config/constants'.EXT);
+
/*
* ------------------------------------------------------
* Define a custom error handler so we can log PHP errors
diff --git a/system/codeigniter/Common.php b/system/codeigniter/Common.php
index d9ddf80..4554a71 100644
--- a/system/codeigniter/Common.php
+++ b/system/codeigniter/Common.php
@@ -52,7 +52,7 @@
}
fclose($fp);
- @chmod($file, 0777);
+ @chmod($file, DIR_WRITE_MODE);
@unlink($file);
return TRUE;
}
diff --git a/system/database/DB_cache.php b/system/database/DB_cache.php
index ad54fc3..08394da 100644
--- a/system/database/DB_cache.php
+++ b/system/database/DB_cache.php
@@ -129,12 +129,12 @@
if ( ! @is_dir($dir_path))
{
- if ( ! @mkdir($dir_path, 0777))
+ if ( ! @mkdir($dir_path, DIR_WRITE_MODE))
{
return FALSE;
}
- @chmod($dir_path, 0777);
+ @chmod($dir_path, DIR_WRITE_MODE);
}
if (write_file($dir_path.$filename, serialize($object)) === FALSE)
@@ -142,7 +142,7 @@
return FALSE;
}
- @chmod($dir_path.$filename, 0777);
+ @chmod($dir_path.$filename, DIR_WRITE_MODE);
return TRUE;
}
diff --git a/system/database/drivers/sqlite/sqlite_driver.php b/system/database/drivers/sqlite/sqlite_driver.php
index c859dea..16a8308 100644
--- a/system/database/drivers/sqlite/sqlite_driver.php
+++ b/system/database/drivers/sqlite/sqlite_driver.php
@@ -48,7 +48,7 @@
*/
function db_connect()
{
- if ( ! $conn_id = @sqlite_open($this->database, 0666, $error))
+ if ( ! $conn_id = @sqlite_open($this->database, FILE_WRITE_MODE, $error))
{
log_message('error', $error);
@@ -73,7 +73,7 @@
*/
function db_pconnect()
{
- if ( ! $conn_id = @sqlite_popen($this->database, 0666, $error))
+ if ( ! $conn_id = @sqlite_popen($this->database, FILE_WRITE_MODE, $error))
{
log_message('error', $error);
diff --git a/system/libraries/Image_lib.php b/system/libraries/Image_lib.php
index 3957420..85435f6 100644
--- a/system/libraries/Image_lib.php
+++ b/system/libraries/Image_lib.php
@@ -484,7 +484,7 @@
return FALSE;
}
- @chmod($this->full_dst_path, 0777);
+ @chmod($this->full_dst_path, DIR_WRITE_MODE);
return TRUE;
}
@@ -539,7 +539,7 @@
imagedestroy($src_img);
// Set the file to 777
- @chmod($this->full_dst_path, 0777);
+ @chmod($this->full_dst_path, DIR_WRITE_MODE);
return TRUE;
}
@@ -609,7 +609,7 @@
}
// Set the file to 777
- @chmod($this->full_dst_path, 0777);
+ @chmod($this->full_dst_path, DIR_WRITE_MODE);
return TRUE;
}
@@ -695,7 +695,7 @@
// we have to rename the temp file.
copy ($this->dest_folder.'netpbm.tmp', $this->full_dst_path);
unlink ($this->dest_folder.'netpbm.tmp');
- @chmod($dst_image, 0777);
+ @chmod($dst_image, DIR_WRITE_MODE);
return TRUE;
}
@@ -754,7 +754,7 @@
// Set the file to 777
- @chmod($this->full_dst_path, 0777);
+ @chmod($this->full_dst_path, DIR_WRITE_MODE);
return true;
}
@@ -838,7 +838,7 @@
imagedestroy($src_img);
// Set the file to 777
- @chmod($this->full_dst_path, 0777);
+ @chmod($this->full_dst_path, DIR_WRITE_MODE);
return TRUE;
}
diff --git a/system/libraries/Log.php b/system/libraries/Log.php
index f9ca85a..1aa8bd0 100644
--- a/system/libraries/Log.php
+++ b/system/libraries/Log.php
@@ -109,7 +109,7 @@
flock($fp, LOCK_UN);
fclose($fp);
- @chmod($filepath, 0666);
+ @chmod($filepath, FILE_WRITE_MODE);
return TRUE;
}
diff --git a/system/libraries/Output.php b/system/libraries/Output.php
index a4d8d34..07990eb 100644
--- a/system/libraries/Output.php
+++ b/system/libraries/Output.php
@@ -308,7 +308,7 @@
fwrite($fp, $expire.'TS--->'.$output);
flock($fp, LOCK_UN);
fclose($fp);
- @chmod($cache_path, 0777);
+ @chmod($cache_path, DIR_WRITE_MODE);
log_message('debug', "Cache file written: ".$cache_path);
}
diff --git a/user_guide/changelog.html b/user_guide/changelog.html
index 4e3ca7c..af51c0e 100644
--- a/user_guide/changelog.html
+++ b/user_guide/changelog.html
@@ -64,6 +64,7 @@
<ul>
<li>Added 'application/vnd.ms-powerpoint' to list of mime types.</li>
<li>Added 'audio/mpg' to list of mime types.</li>
+ <li>Added new user-modifiable file constants.php containing file mode constants</li>
</ul>
</li>
<li>Libraries
diff --git a/user_guide/installation/upgrade_162.html b/user_guide/installation/upgrade_162.html
index 7fd01ea..66c498b 100644
--- a/user_guide/installation/upgrade_162.html
+++ b/user_guide/installation/upgrade_162.html
@@ -42,7 +42,7 @@
<td id="breadcrumb">
<a href="http://codeigniter.com/">CodeIgniter Home</a> ›
<a href="../index.html">User Guide Home</a> ›
-Upgrading from 1.6.0 to 1.6.1
+Upgrading from 1.6.1 to 1.6.2
</td>
<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="codeigniter.com/user_guide/" />Search User Guide <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" /> <input type="submit" class="submit" name="sa" value="Go" /></form></td>
</tr>
@@ -80,8 +80,10 @@
<h2>Step 2: Encryption Key</h2>
<p>If you are using sessions, open up system/application/config.php and verify you've set an encryption key.</p>
+<h2>Step 3: Constants File</h2>
+<p>Copy /system/application/config/constants.php to your installation, and modify if necessary.</p>
-<h2>Step 3: Update your user guide</h2>
+<h2>Step 4: Update your user guide</h2>
<p>Please also replace your local copy of the user guide with the new version.</p>
</div>
diff --git a/user_guide/libraries/ftp.html b/user_guide/libraries/ftp.html
index 9e4af8b..0e577e9 100644
--- a/user_guide/libraries/ftp.html
+++ b/user_guide/libraries/ftp.html
@@ -258,7 +258,7 @@
<code>
// Creates a folder named "bar"<br />
-$this->ftp->mkdir('/public_html/foo/bar/', 0777);
+$this->ftp->mkdir('/public_html/foo/bar/', DIR_WRITE_MODE);
</code>
@@ -268,7 +268,7 @@
<code>
// Chmod "bar" to 777<br />
-$this->ftp->chmod('/public_html/foo/bar/', 0777);
+$this->ftp->chmod('/public_html/foo/bar/', DIR_WRITE_MODE);
</code>