Пример #1
0
 public function actionOperation()
 {
     Yii::import('mod.core.components.fs');
     if (isset($_GET['operation'])) {
         //$fs = new fs(dirname(__FILE__) . DS . 'data' . DS . 'root' . DS);
         $fs = new fs(Yii::getPathOfAlias('webroot.themes'));
         try {
             $rslt = null;
             switch ($_GET['operation']) {
                 case 'get_node':
                     $node = isset($_GET['id']) && $_GET['id'] !== '#' ? $_GET['id'] : '/';
                     $rslt = $fs->lst($node, isset($_GET['id']) && $_GET['id'] === '#');
                     break;
                 case "get_content":
                     $node = isset($_GET['id']) && $_GET['id'] !== '#' ? $_GET['id'] : '/';
                     $rslt = $fs->data($node);
                     break;
                 case 'create_node':
                     $node = isset($_GET['id']) && $_GET['id'] !== '#' ? $_GET['id'] : '/';
                     $rslt = $fs->create($node, isset($_GET['text']) ? $_GET['text'] : '', !isset($_GET['type']) || $_GET['type'] !== 'file');
                     break;
                 case 'rename_node':
                     $node = isset($_GET['id']) && $_GET['id'] !== '#' ? $_GET['id'] : '/';
                     $rslt = $fs->rename($node, isset($_GET['text']) ? $_GET['text'] : '');
                     break;
                 case 'delete_node':
                     $node = isset($_GET['id']) && $_GET['id'] !== '#' ? $_GET['id'] : '/';
                     $rslt = $fs->remove($node);
                     break;
                 case 'move_node':
                     $node = isset($_GET['id']) && $_GET['id'] !== '#' ? $_GET['id'] : '/';
                     $parn = isset($_GET['parent']) && $_GET['parent'] !== '#' ? $_GET['parent'] : '/';
                     $rslt = $fs->move($node, $parn);
                     break;
                 case 'copy_node':
                     $node = isset($_GET['id']) && $_GET['id'] !== '#' ? $_GET['id'] : '/';
                     $parn = isset($_GET['parent']) && $_GET['parent'] !== '#' ? $_GET['parent'] : '/';
                     $rslt = $fs->copy($node, $parn);
                     break;
                 default:
                     throw new Exception('Unsupported operation: ' . $_GET['operation']);
                     break;
             }
             header('Content-Type: application/json; charset=utf-8');
             echo json_encode($rslt);
         } catch (Exception $e) {
             header($_SERVER["SERVER_PROTOCOL"] . ' 500 Server Error');
             header('Status:  500 Server Error');
             echo $e->getMessage();
         }
         die;
     }
 }
Пример #2
0
 switch ($_GET['operation']) {
     case 'get_node':
         $node = isset($_GET['id']) && $_GET['id'] !== '#' ? $_GET['id'] : '/';
         $rslt = $fs->lst($node, isset($_GET['id']) && $_GET['id'] === '#');
         break;
     case "get_content":
         $node = isset($_GET['id']) && $_GET['id'] !== '#' ? $_GET['id'] : '/';
         $rslt = $fs->data($node);
         break;
     case 'create_node':
         $node = isset($_GET['id']) && $_GET['id'] !== '#' ? $_GET['id'] : '/';
         $rslt = $fs->create($node, isset($_GET['text']) ? $_GET['text'] : '', !isset($_GET['type']) || $_GET['type'] !== 'file');
         break;
     case 'rename_node':
         $node = isset($_GET['id']) && $_GET['id'] !== '#' ? $_GET['id'] : '/';
         $rslt = $fs->rename($node, isset($_GET['text']) ? $_GET['text'] : '');
         break;
     case 'delete_node':
         $node = isset($_GET['id']) && $_GET['id'] !== '#' ? $_GET['id'] : '/';
         $rslt = $fs->remove($node);
         break;
     case 'move_node':
         $node = isset($_GET['id']) && $_GET['id'] !== '#' ? $_GET['id'] : '/';
         $parn = isset($_GET['parent']) && $_GET['parent'] !== '#' ? $_GET['parent'] : '/';
         $rslt = $fs->move($node, $parn);
         break;
     case 'copy_node':
         $node = isset($_GET['id']) && $_GET['id'] !== '#' ? $_GET['id'] : '/';
         $parn = isset($_GET['parent']) && $_GET['parent'] !== '#' ? $_GET['parent'] : '/';
         $rslt = $fs->copy($node, $parn);
         break;
$rslt = null;
$fs = new fs($url);
try {
    $node = getIdNode($id);
    switch ($operation) {
        case 'get_node':
            $rslt = $fs->lst($node, isset($id) && $id === '#');
            break;
        case "get_content":
            $rslt = $fs->data($node);
            break;
        case 'create_node':
            $rslt = $fs->create($node, getIdText($text), !isset($type) || $type !== 'file');
            break;
        case 'rename_node':
            $rslt = $fs->rename($node, getIdText($text));
            break;
        case 'delete_node':
            $rslt = $fs->remove($node);
            break;
        case 'move_node':
            $rslt = $fs->move($node, getParent($parent));
            break;
        case 'copy_node':
            $rslt = $fs->copy($node, getParent($parent));
            break;
        default:
            throw new Exception(_('Unsupported operation: ') . $operation);
            break;
    }
} catch (Exception $e) {
 $fs = new fs($url);
 try {
     $rslt = null;
     $node = getIdNode($id);
     switch ($operation) {
         case 'get_node':
             $rslt = $fs->lst($node, isset($id) && $id === '#');
             break;
         case "get_content":
             $rslt = $fs->data($node);
             break;
         case 'create_node':
             $rslt = $fs->create($node, isset($text) ? $text : '', !isset($type) || $type !== 'file');
             break;
         case 'rename_node':
             $rslt = $fs->rename($node, isset($text) ? $text : '');
             break;
         case 'delete_node':
             $rslt = $fs->remove($node);
             break;
         case 'move_node':
             $rslt = $fs->move($node, getParent($parent));
             break;
         case 'copy_node':
             $rslt = $fs->copy($node, getParent($parent));
             break;
         default:
             throw new Exception(_('Unsupported operation: ') . $operation);
             break;
     }
     header('Content-Type: application/json; charset=utf-8');