diff options
author | Tim Almdal <tnalmdal@shaw.ca> | 2008-11-10 03:17:56 +0000 |
---|---|---|
committer | Tim Almdal <tnalmdal@shaw.ca> | 2008-11-10 03:17:56 +0000 |
commit | 8858b957b05f9673ed29b6ad941cbeaefd29cd13 (patch) | |
tree | 8f49449a575e065e1adac29270ebf3c4d0730dcf | |
parent | 5e385398f00cd77ced7b91892c02c8c97db0848e (diff) |
The start of the login functionality. It shows the login popup but doesn't do anything else. Just got tire of my changes being clobbered :-)
-rw-r--r-- | core/controllers/album.php | 5 | ||||
-rw-r--r-- | core/controllers/photo.php | 5 | ||||
-rw-r--r-- | modules/auth/css/login.css | 44 | ||||
-rw-r--r-- | modules/auth/js/login.js | 68 | ||||
-rw-r--r-- | modules/auth/views/login.html.php | 25 | ||||
-rw-r--r-- | themes/default/views/header.html.php | 30 |
6 files changed, 160 insertions, 17 deletions
diff --git a/core/controllers/album.php b/core/controllers/album.php index c94bcbef..47811fd2 100644 --- a/core/controllers/album.php +++ b/core/controllers/album.php @@ -35,6 +35,11 @@ class Album_Controller extends Item_Controller { $template->set_global('theme', $theme); $template->content = new View("album.html"); + $login_view = new View("login.html"); + $user = Session::instance()->get("user", null); + $login_view->logged_in = !empty($user); + $template->set_global("login", $login_view); + print $template->render(); } } diff --git a/core/controllers/photo.php b/core/controllers/photo.php index 55ab6247..87d76e5e 100644 --- a/core/controllers/photo.php +++ b/core/controllers/photo.php @@ -30,6 +30,11 @@ class Photo_Controller extends Item_Controller { $template->set_global('theme', $theme); $template->content = new View("photo.html"); + $login_view = new View("login.html"); + $user = Session::instance()->get("user", null); + $login_view->logged_in = !empty($user); + $template->set_global("login", $login_view); + print $template->render(); } } diff --git a/modules/auth/css/login.css b/modules/auth/css/login.css new file mode 100644 index 00000000..6aff3e80 --- /dev/null +++ b/modules/auth/css/login.css @@ -0,0 +1,44 @@ +@CHARSET "UTF-8"; +#backgroundPopup { + display:none; + position:fixed; + _position:absolute; /* hack for internet explorer 6*/ + height:100%; + width:100%; + top:0; + left:0; + background:#000000; + border:1px solid #cecece; + z-index:1; +} +#gLoginPopup { + display:none; + position:fixed; + _position:absolute; /* hack for internet explorer 6*/ + height:384px; + width:408px; + background:#FFFFFF; + border:2px solid #cecece; + z-index:2; + padding:12px; + font-size:13px; +} +#gLoginPopup h1 { + text-align:left; + color:#6FA5FD; + font-size:22px; + font-weight:700; + border-bottom:1px dotted #D3D3D3; + padding-bottom:2px; + margin-bottom:20px; +} +#gLoginPopupClose { + font-size:14px; + line-height:14px; + right:6px; + top:4px; + position:absolute; + color:#6fa5fd; + font-weight:700; + display:block; +}
\ No newline at end of file diff --git a/modules/auth/js/login.js b/modules/auth/js/login.js new file mode 100644 index 00000000..db344d6f --- /dev/null +++ b/modules/auth/js/login.js @@ -0,0 +1,68 @@ +//SETTING UP OUR POPUP +//0 means disabled; 1 means enabled; +var popupStatus = 0; + +//loading popup with jQuery magic! +function loadPopup(){ + //loads popup only if it is disabled + if(popupStatus==0){ + $("#backgroundPopup").css({"opacity": "0.7"}); + $("#backgroundPopup").fadeIn("slow"); + $("#gLoginPopup").fadeIn("slow"); + popupStatus = 1; + } +} + +//disabling popup with jQuery magic! +function disablePopup(){ + //disables popup only if it is enabled + if(popupStatus==1){ + $("#backgroundPopup").fadeOut("slow"); + $("#gLoginPopup").fadeOut("slow"); + popupStatus = 0; + } +} + +//centering popup +function centerPopup(){ + //request data for centering + var windowWidth = document.documentElement.clientWidth; + var windowHeight = document.documentElement.clientHeight; + var popupHeight = $("#gLoginPopup").height(); + var popupWidth = $("#gLoginPopup").width(); + //centering + $("#gLoginPopup").css({ + "position": "absolute", + "top": windowHeight/2-popupHeight/2, + "left": windowWidth/2-popupWidth/2 + }); + //only need force for IE6 + $("#backgroundPopup").css({"height": windowHeight}); +} + +$(document).ready(function(){ + //LOADING POPUP + //Click the button event! + $("#login").click(function(){ + //centering with css + centerPopup(); + //load popup + loadPopup(); + }); + //CLOSING POPUP + //Click the x event! + $("#gLoginPopupClose").click(function() { + disablePopup(); + }); + //Click out event! + $("#backgroundPopup").click(function() { + disablePopup(); + }); + //Press Escape event! + $(document).keypress(function(e) { + if(e.keyCode==27 && popupStatus==1) { + disablePopup(); + } + }); +}); + diff --git a/modules/auth/views/login.html.php b/modules/auth/views/login.html.php new file mode 100644 index 00000000..e2489db4 --- /dev/null +++ b/modules/auth/views/login.html.php @@ -0,0 +1,25 @@ +<div id="gLoginMenu"> + <? if ($logged_in == false): ?> + <a href="<?=url::site("user/register") ?>"><?= _("Register") ?></a> | + <a href="#" id="login">Login</a> + + <!-- @todo need a better way to get the javascript into the page. --> + <script type="text/javascript" src="<?=url::base() . "modules/auth/js/login.js" ?>"></script> + <!-- @todo integrate this into the theme. --> + <link rel="stylesheet" type="text/css" href="<?=url::base() . "modules/auth/css/login.css" ?>" media="screen,print,projection" /> + <div id="gLoginPopup"> + <a id="gLoginPopupClose">x</a> + <form id="gLogin" style="display:none;"> + <label for="username">Username</label> + <input type="text" class="text" id="username" /> + <label for="password">Password</label> + <input type="password" class="password" id="password" /> + <input type="submit" class="submit" value="<?= url::site("auth/login") ?>" /> + </form> + </div> + <? else: ?> + <a href="<?=url::site("auth/logout") ?>"><?= _("Logout") ?></a> + <? endif ?> + + +</div>
\ No newline at end of file diff --git a/themes/default/views/header.html.php b/themes/default/views/header.html.php index 6aa3f410..264c8fa4 100644 --- a/themes/default/views/header.html.php +++ b/themes/default/views/header.html.php @@ -1,29 +1,25 @@ <? defined("SYSPATH") or die("No direct script access."); ?> -<img id="gLogo" alt="<?= _("Logo") ?>" src="<?= $theme->url("images/logo.png") ?>" /> + <img id="gLogo" alt="<?= _("Logo") ?>" src="<?= $theme->url("images/logo.png") ?>" /> + <h1><?= $item->title_edit ?></h1> + <?= $login ?> -<h1><?= $item->title_edit ?></h1> - -<div id="gLoginMenu"> - <a href="#"><?= _("Register") ?></a> | - <a href="#"><?= _("Login") ?></a> -</div> - -<ul id="gSiteMenu"> + <ul id="gSiteMenu"> <li><a href="index.php"><?= _("HOME") ?></a></li> <li><a class="active" href="index.php/album/1"><?= _("BROWSE") ?></a></li> <li><a href="#"><?= _("UPLOAD") ?></a></li> <li><a href="#"><?= _("MY GALLERY") ?></a></li> - <li><a href="#"><?= _("ADMIN") ?></a></li> -</ul> + <li><a href="#"><?= _("ADMIN") ?></a></li> + </ul> <form id="gSearchForm"> <input type="text" class="text" value="<?= _("Search Gallery ...") ?>"/> <input type="submit" class="submit" value="search" /> </form> -<ul id="gBreadcrumbs"> - <? foreach ($parents as $parent): ?> - <li><a href="<?= url::site("album/{$parent->id}") ?>"><?= $parent->title_edit ?></a></li> - <? endforeach ?> - <li class="active"><?= $item->title_edit ?></li> -</ul> + <ul id="gBreadcrumbs"> + <? foreach ($parents as $parent): ?> + <li><a href="<?= url::site("album/{$parent->id}") ?>"><?= $parent->title_edit ?></a></li> + <? endforeach ?> + <li class="active"><?= $item->title_edit ?></li> + </ul> + |