Blame view

js/_tiny_mce/plugins/ajaxfilemanager/ajax_create_folder.php 3.61 KB
42868d70   andryeyev   Создал GIT
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
  <?php
          /**
           * create a folder
           * @author Logan Cai (cailongqun [at] yahoo [dot] com [dot] cn)
           * @link www.phpletter.com
           * @since 22/May/2007
           *
           */
  
          require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR . "inc" . DIRECTORY_SEPARATOR . "config.php");        
          @ob_start();
          displayArray($_POST);
          writeInfo(@ob_get_clean());        
          echo "{";
          $error = "";
          $info = "";        
  /*        $_POST['new_folder'] = substr(md5(time()), 1, 5);
          $_POST['currentFolderPath'] = "../../uploaded/";*/
          
          if(empty($_POST['new_folder']))
          {
                  $error  =  ERR_FOLDER_NAME_EMPTY;
          }elseif(!preg_match("/^[a-zA-Z0-9_\- ]+$/", $_POST['new_folder']))
          {
                  $error  =  ERR_FOLDER_FORMAT;
          }else if(empty($_POST['currentFolderPath']) || !isUnderRoot($_POST['currentFolderPath']))
          {
                  $error = ERR_FOLDER_PATH_NOT_ALLOWED;
          }
          elseif(file_exists(addTrailingSlash($_POST['currentFolderPath']) . $_POST['new_folder']))
          {
                  $error = ERR_FOLDER_EXISTS;
          }else
          {
          include_once(CLASS_FILE);
                  $file = new file();
                  if($file->mkdir(addTrailingSlash($_POST['currentFolderPath']) . $_POST['new_folder'], 0777))
                  {
                                          include_once(CLASS_MANAGER);
                                          $manager = new manager(addTrailingSlash($_POST['currentFolderPath']) . $_POST['new_folder'], false);
                                          $pathInfo = $manager->getFolderInfo(addTrailingSlash($_POST['currentFolderPath']) . $_POST['new_folder']);
                                          foreach($pathInfo as $k=>$v)
                                          {                                
                                                  switch ($k)
                                                  {
                                                          case "path";
                                                                  $info .= sprintf(", %s:'%s'", 'realpath', $v);
                                                                  $v = transformFilePath($v);
                                                                  break;
                                                          case "ctime";                                                                
                                                          case "mtime":
                                                          case "atime":
                                                                  $v = date(DATE_TIME_FORMAT, $v);
                                                                  break;
                                                  }                                                        
                                                  $info .= sprintf(", %s:'%s'", $k, $v);
                                          }
                                          $info .= sprintf(", url:'%s'",  appendQueryString(CONFIG_URL_HOME, "path=" . $pathInfo['path'] .  "&" . makeQueryString(array('path'))));
                                          $info .= sprintf(", tip:'%s'", $k, TIP_FOLDER_GO_DOWN);
                                          $info .= sprintf(", tipedit:'%s'", $k, TIP_DOC_RENAME);
                  }else 
                  {
                          $error = ERR_FOLDER_CREATION_FAILED;
                  }
                  //$error = "For security reason, folder creation function has been disabled.";
          }
          echo "error:'" . $error . "'";
          echo $info;
          echo "}";
  ?>