Пример #1
0
 /**
  * Building menu to cache
  * @param Translate $lang
  * @return array
  */
 static function build_menu(Translate $lang)
 {
     $store = NCStore::instance();
     return $store->get('admin.main.menu', 120, function () use($lang) {
         return Helper::rebuild_menu($lang);
     });
 }
Пример #2
0
 public function configure()
 {
     // Control panel menu
     $this->view->assign('menu', Helper::build_menu($this->lang));
 }
Пример #3
0
 public function fmanager(Request $request)
 {
     $root = ROOT . S . 'static';
     $method = strtolower($request->get('m', 'list'));
     $dir = $root . $request->get('d', S);
     function filterp($path)
     {
         return str_replace(S . S, S, str_replace('//', '/', $path));
     }
     function filterup($path)
     {
         $path = explode(S, $path);
         array_pop($path);
         return implode(S, $path);
     }
     // Assign current directory path
     $this->view->assign('dir', rtrim($request->get('d', S), S) . S);
     // Assign prev directory path
     $up_dir = filterup($request->get('d', S));
     $this->view->assign('up', $up_dir ? $up_dir : S);
     // Base URL for any item
     $url = filterp('/static/' . trim(str_replace(S, '/', $request->get('d', S)), '/') . '/');
     $this->view->assign('base_url', $url);
     // Define wyi name
     $this->view->assign('wyi', $request->get('wyi', 'edit'));
     switch ($method) {
         // Delete file
         case 'delete':
             $filename = filterp(rtrim($dir, S) . S . $request->get('f'));
             if (file_exists($filename)) {
                 Helper::delete($filename);
             }
             break;
             // Upload file
         // Upload file
         case 'upload':
             $uploader = new FileUploader(['file']);
             $uploader->upload($dir);
             break;
             // Rename file
         // Rename file
         case 'rename':
             $filename = filterp(rtrim($dir, S) . S . $request->get('f'));
             $newname = filterp(rtrim($dir, S) . S . $request->get('n'));
             if (file_exists($newname)) {
                 Helper::delete($newname);
             }
             if (file_exists($filename)) {
                 rename($filename, $newname);
                 $this->view->assign('up', filterup($up_dir));
             }
             break;
             // Create folder
         // Create folder
         case 'create':
             $dirname = filterp(rtrim($dir, S) . S . $request->get('f'));
             if (!file_exists($dirname) && $request->get('f', false)) {
                 @mkdir($dirname, 0777, true);
             }
             break;
         default:
             break;
     }
     return $this->view->render('com/filemanager.twig', ['items' => Helper::items($dir, ['.', '..']), 'date' => date('Y-m-d')]);
 }