Revision 795,
1.3 KB
checked in by viani, 15 years ago
(diff) |
Ticket #488 - Inclusão do módulo workflow no ramo trunk do repositório Expresso.
|
-
Property svn:executable set to
*
|
Line | |
---|
1 | <?php |
---|
2 | /** |
---|
3 | * Writes new contents to files. |
---|
4 | * @param string $filename File's name to be written. |
---|
5 | * @param string $content New contents to be inserted. |
---|
6 | * @return boolean |
---|
7 | * @license http://www.gnu.org/copyleft/gpl.html GPL |
---|
8 | * @package Workflow |
---|
9 | * @subpackage local |
---|
10 | * @access public |
---|
11 | */ |
---|
12 | function wf_write_file($filename, $content) |
---|
13 | { |
---|
14 | /* reject empty file name */ |
---|
15 | if (trim(basename($filename)) == '') |
---|
16 | return false; |
---|
17 | |
---|
18 | /* reject "php" extensions */ |
---|
19 | if (strpos(strtolower(strrchr($filename, '.')), 'php') !== false) |
---|
20 | return false; |
---|
21 | |
---|
22 | /* check if the file will be stored inside the process resource path */ |
---|
23 | if (strpos($filename, '..') !== false) |
---|
24 | return false; |
---|
25 | |
---|
26 | $processPath = GALAXIA_PROCESSES . SEP . $GLOBALS['workflow']['wf_normalized_name'] . SEP . 'resources'; |
---|
27 | $filename = $processPath . SEP . $filename; |
---|
28 | |
---|
29 | $subDirectories = explode(SEP, substr($filename, strlen($processPath) + 1)); |
---|
30 | |
---|
31 | /* reject directories with empty name */ |
---|
32 | foreach ($subDirectories as $subDir) |
---|
33 | if (trim($subDir) == "") |
---|
34 | return false; |
---|
35 | |
---|
36 | array_pop($subDirectories); |
---|
37 | $baseDir = $processPath; |
---|
38 | foreach ($subDirectories as $subDir) |
---|
39 | { |
---|
40 | $baseDir .= SEP . $subDir; |
---|
41 | if (!is_dir($baseDir)) |
---|
42 | @mkdir($baseDir, 0770); |
---|
43 | } |
---|
44 | |
---|
45 | $fileHandle = fopen($filename, 'w+'); |
---|
46 | fwrite($fileHandle, $content); |
---|
47 | fclose($fileHandle); |
---|
48 | |
---|
49 | return true; |
---|
50 | } |
---|
51 | ?> |
---|
Note: See
TracBrowser
for help on using the repository browser.