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; } }
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']); } header('Content-Type: application/json; charset=utf8'); echo json_encode($rslt); } catch (Exception $e) { header($_SERVER["SERVER_PROTOCOL"] . ' 500 Server Error'); header('Status: 500 Server Error'); echo $e->getMessage(); } die; }
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) { $rslt = array("server_protocol" => $_SERVER["SERVER_PROTOCOL"], "status" => "500 Server Error", "msg" => $e->getMessage()); } header('Content-Type: application/json; charset=utf-8'); echo json_encode($rslt);