OSDN Git Service

v1.0.2.8
[ntch/develop.git] / nce / nc_write_file.php
1 <?php
2 /*
3  nce (ntch cloud environment.)
4  name: nc_write_file.php
5  author: Akira Ohta (akohta001.gmail.com)
6  date: 2013-apr-14th
7  description:
8  License: GPLv3
9  */
10 include_once "account.php";
11 include_once "preference.php";
12 include_once "database.php";
13 include_once "log.php";
14 include_once "http_util.php";
15 include_once "error_code.php";
16
17 $user_id = $_POST['user'];
18 $token = $_POST['token'];
19 $file_name = $_POST['file_name'];
20 $data = $_POST['data'];
21
22 $user = chk_passwd( $user_id, $token);
23 if(FALSE === $user){
24         echo $ERROR_MSG;
25         exit;
26 }
27
28 if(!chk_file_name($file_name) || !$data){
29         echo ERROR303;
30         exit;
31 }
32
33 $home_dir = OUTPUT_DIR."/{$user->home_dir}";
34
35 if(!is_dir($home_dir)){
36         $rc = mkdir($home_dir, 0755, true);
37         if(!$rc){
38                 nc_logging("Failed to create folders: $home_dir");
39                 echo ERROR400;
40                 exit;
41         }
42 }
43
44 $data = replace_urlencodeTo64symbol($data);
45
46 $file_path = $home_dir.'/'.$file_name;
47
48 @$fp=fopen($file_path, 'w');
49 if(!$fp){
50         nc_logging("Failed to create file: $file_path");
51         echo ERROR400;
52         exit;
53 }
54 flock($fp, LOCK_EX);
55 if(FALSE === fwrite($fp, $data."\n")){
56         flock($fp, LOCK_UN);
57         nc_logging("Failed to write file: $file_path");
58         echo ERROR400;
59         exit;
60 }
61 flock($fp, LOCK_UN);
62 fclose($fp);
63
64
65 echo SUCCESS100;
66
67 ?>