content = local_import::get_admin_page(); print $view; } public function add_path() { access::verify_csrf(); $form = local_import::get_admin_form(); $paths = unserialize(module::get_var("local_import", "authorized_paths", "a:0:{}")); if ($form->validate()) { if (is_readable($form->add_path->path->value)) { $paths[$form->add_path->path->value] = 1; module::set_var("local_import", "authorized_paths", serialize($paths)); $path_count = count($paths) - 1; $path_view = new View("local_import_dir_list.html"); $path_view->paths = array_keys($paths); $form->add_path->inputs["path"]->value(""); print json_encode( array("result" => "success", "paths" => $path_view->__toString(), "form" => $form->__toString())); } else { $form->add_path->inputs["path"]->error("not_readable"); print json_encode(array("result" => "error", "form" => $form->__toString())); } } else { print json_encode(array("result" => "error", "form" => $form->__toString())); } } public function remove() { access::verify_csrf(); $path = $this->input->post("path"); $paths = unserialize(module::get_var("local_import", "authorized_paths")); unset($paths[$path]); module::set_var("local_import", "authorized_paths", serialize($paths)); $view = new View("local_import_dir_list.html"); $view->paths = array_keys($paths); print $view->render(); } public function autocomplete() { access::verify_csrf(); $directories = array(); $path_prefix = $this->input->get("q"); foreach (glob("{$path_prefix}*") as $file) { if (is_dir($file)) { $directories[] = $file; } } print implode("\n", $directories); } }