mirror of
https://github.com/Pathduck/gallery3.git
synced 2026-05-02 02:59:09 -04:00
load admin subpages AJAXy way
This commit is contained in:
@@ -18,34 +18,36 @@
|
||||
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
class Admin_Controller extends Controller {
|
||||
public $template = null;
|
||||
public $theme_name = null;
|
||||
|
||||
public function __construct() {
|
||||
if (!(user::active()->admin)) {
|
||||
throw new Exception("Unauthorized", 401);
|
||||
}
|
||||
// giving default is probably overkill
|
||||
$this->theme_name = module::get_var("core", "active_admin_theme", "default_admin");
|
||||
parent::__construct();
|
||||
}
|
||||
|
||||
public function index() {
|
||||
// For now, in order not to duplicate js and css, keep the regular ("item")
|
||||
// theme in addition to admin theme.
|
||||
$item_theme_name = module::get_var("core", "active_theme", "default");
|
||||
$item_theme = new Theme_View("album.html", "album", $item_theme_name);
|
||||
|
||||
// giving default is probably overkill
|
||||
$theme_name = module::get_var("core", "active_admin_theme", "default_admin");
|
||||
$this->template = new Theme_View("admin.html", "admin", $theme_name);
|
||||
$this->template->item_theme = $item_theme;
|
||||
parent::__construct();
|
||||
$template = new Theme_View("admin.html", "admin", $this->theme_name);
|
||||
$template->item_theme = $item_theme;
|
||||
$template->subpage = "dashboard.html";
|
||||
print $template;
|
||||
}
|
||||
|
||||
public function dashboard() {
|
||||
$this->template->subpage = "dashboard.html";
|
||||
print $this->template;
|
||||
}
|
||||
|
||||
public function list_users() {
|
||||
$this->template->set_global("users", ORM::factory("user")->find_all());
|
||||
|
||||
$this->template->subpage = "list_users.html";
|
||||
print $this->template;
|
||||
public function subpage() {
|
||||
$template = new Theme_View($_REQUEST["name"] . ".html", "admin", $this->theme_name);
|
||||
switch ($_REQUEST["name"]) {
|
||||
case "list_users":
|
||||
$template->set_global("users", ORM::factory("user")->find_all());
|
||||
}
|
||||
print $template;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -66,7 +66,7 @@ class core_menu_Core {
|
||||
Menu::factory("link")
|
||||
->id("site_admin")
|
||||
->label(_("Site Admin"))
|
||||
->url(url::site("admin/dashboard")));
|
||||
->url(url::site("admin")));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,10 +13,14 @@
|
||||
<link rel="stylesheet" href="<?= $item_theme->url("jquery/superfish-navbar.css") ?>" type="text/css" media="screen,projection">
|
||||
<script src="<?= $item_theme->url("jquery/superfish.js") ?>"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
$(document).ready(function(){
|
||||
$("ul.sf-menu").superfish({
|
||||
pathClass: 'current'
|
||||
});
|
||||
});
|
||||
$("#gSiteAdminMenu li[id]").click(function(event) {
|
||||
$("#gContent").load("admin/subpage", {name: this.id});
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
@@ -70,7 +74,7 @@
|
||||
</ul>
|
||||
<img src="<?= $item_theme->url("images/logo.png") ?>" id="gLogo" alt="Gallery 3: Your Photos on Your Web Site" />
|
||||
<ul id="gSiteAdminMenu" class="sf-menu sf-navbar">
|
||||
<li><?= html::anchor("admin/dashboard", "Dashboard") ?><li>
|
||||
<li id="dashboard"><a href="#">Dashboard</a><li>
|
||||
<li><a href="#">General Settings</a><li>
|
||||
<li class="current"><a href="#">Content</a>
|
||||
<ul>
|
||||
@@ -91,7 +95,7 @@
|
||||
</li>
|
||||
<li><a href="#">Users/Groups</a>
|
||||
<ul>
|
||||
<li><?= html::anchor("admin/list_users", "List Users") ?></li>
|
||||
<li id="list_users"><a href="#">List Users</a></li>
|
||||
<li><a href="#">Create new user</a><li>
|
||||
<li><a href="#">Edit Profile</a></li>
|
||||
</ul>
|
||||
|
||||
Reference in New Issue
Block a user