Start Building Professional
Web Apps Today


 
Categories Question details Back To List
Question  posted by Sriyanto on Apr 25, 2009 11:12
open dhtmlx forum
dhtmlxWindow Login page

hi,

how to used dhtmlxwindow for the login form scenario.

this my case .

i have an application used dhtmlxlayout for main application (app.php)

in app.php should check the session of the user , if the session is invalid the login form displayed, after user enter user and password correctly login form closed and return to the app.php with the new session.


script that i already used :

app.php

<?php

include_once("classes/CConnection.php");
include_once("classes/CParam.php");
include_once("classes/CSql.php");

$appId = $_GET['appId'];
$context = $_GET['context'];
$session = 0;
$param = new CParam("include/config.ini");
$db = new CConnection();
$db->setDriver("mysql");

$param->loadConfig();
$section = "rad_database";
$param->setSection($section);
$serverName = $param->getParamValue("server");
$dbName = $param->getParamValue("dbname");
$userName = $param->getParamValue("username");
$password = $param->getParamValue("password");
$port = $param->getParamValue("port");

$db->setServerName($serverName);
$db->setPort($port);
$db->setUserName($userName);
$db->setPassword($password);
$db->setDbName($dbName);
$db->connect();
$db->setIsDebug(false);
$conn = $db->getConn();

$sql = "select * from radapplication where app_id = $appId";
$rs = $conn->Execute($sql);
//print_r($rs);
$radapp = $rs->FetchNextObject();
$header = $radpp->HEADER_IMAGE;

?>
<html>
<head>
<title><?php echo $radapp->APP_NAME?> </title>
<link rel="stylesheet" type="text/css" href="lib/dhtmlx/dhtmlxLayout/dhtmlxlayout.css">
<link rel="stylesheet" type="text/css" href="lib/dhtmlx/dhtmlxLayout/skins/dhtmlxlayout_dhx_blue.css">
<link rel="stylesheet" type="text/css" href="lib/dhtmlx/dhtmlxWindows/dhtmlxwindows.css">
<link rel="stylesheet" type="text/css" href="lib/dhtmlx/dhtmlxTree/dhtmlxtree.css">
<link rel="stylesheet" type="text/css" href="lib/dhtmlx/dhtmlxWindows/skins/dhtmlxwindows_dhx_blue.css">
<link rel="stylesheet" type="text/css" href="lib/dhtmlx/dhtmlxToolbar/skins/dhtmlxtoolbar_dhx_blue.css">
<link rel="stylesheet" type="text/css" href="lib/dhtmlx/dhtmlxAccordion/skins/dhtmlxaccordion_dhx_blue.css">


<script src="lib/dhtmlx/dhtmlxcommon.js"></script>
<script src="lib/dhtmlx/dhtmlxLayout/dhtmlxlayout.js"></script>
<script src="lib/dhtmlx/dhtmlxWindows/dhtmlxwindows.js"></script>
<script src="lib/dhtmlx/dhtmlxTree/dhtmlxtree.js"></script>
<script src="lib/dhtmlx/dhtmlxToolbar/dhtmlxtoolbar.js"></script>
<script src="lib/dhtmlx/dhtmlxWindows/ext/dhtmlxwindows_wmn.js"></script>
<script src="lib/dhtmlx/dhtmlxWindows/ext/dhtmlxwindows_wtb.js"></script>
<script src="lib/dhtmlx/dhtmlxWindows/ext/dhtmlxwindows_sb.js"></script>
<script src="lib/dhtmlx/dhtmlxAccordion/dhtmlxaccordion.js"></script>
<script>
function intwindow(){
var dhxWins= new dhtmlXWindows();
dhxWins.setSkin("dhx_blue");
var win = dhxWins.createWindow('login', 0, 100, 450, 400);

win.denyResize();
win.denyMove();
win.denyPark();
win.setModal(true);
win.button("close").disable(); // disable "close" button
win.setText("CCF LOGIN");
dhxWins.window('login').attachURL("login.php?appId=<?php echo $appId; ?>&context=<?php $context?>",true);
dhxWins.window('login').center();

}
function submit2(){
var user = document.getElementById("username").value;
alert('user = '+user);

}
</script>
</head>
<body style="width: 100%; height: 100%; margin: 0px; overflow: hidden;">

<?php
if($session == 1){
?>
<script>
var radapp = new dhtmlXLayoutObject(document.body, <?php echo "\"".$radapp->APP_LAYOUT ."\"" ;?>);
radapp.cells("a").setText("<?php echo " ".$radapp->HEADER_IMAGE." ";?>");
radapp.cells("a").setHeight(60);
radapp.cells("a").fixSize(true, true);

var webBar = radapp.cells("a").attachToolbar();
webBar.setIconsPath("lib/dhtmlx/dhtmlxToolbar/images/");
webBar.addButton("new", 0, "", "new.gif");
webBar.setItemToolTip("new", "New");
webBar.addButton("save", 1, "Save", "save.gif");
webBar.setItemToolTip("save", "Save");
webBar.addButton("open", 2, "Open");
webBar.addSeparator("sep0", 3);
var printOpts = Array(Array('print_page', 'obj', 'Page'),
                Array('print_selection', 'obj', 'Selection'),
                Array('print_sep0', 'sep'),
                Array('print_custom', 'obj', 'Custom...'));
webBar.addButtonSelect("print", 18, "", printOpts, "print.gif");


radapp.cells("b").setText("TEST");
//radapp.cells("b").hideHeader();
radapp.cells("b").setWidth(250);
var radAccord = radapp.cells("b").attachAccordion();
radAccord.setIconsPath("lib/dhtmlx/dhtmlxAccordion/imgs/");
radAccord.addItem("a1", "MENU");

radAccord.addItem("a2", "Customer");
radAccord.addItem("a3", "History");

radAccord.cells("a1").open();

var radMenuTree = radAccord.cells("a1").attachTree();
radMenuTree.setImagePath("lib/dhtmlx/dhtmlxTree/imgs/csh_bluebooks/");
radMenuTree.loadXML("tree.xml");
radMenuTree.setOnClickHandler(doOnClick);

radapp.cells("c").setText("BODY");
radapp.cells("c").hideHeader();
var status = radapp.attachStatusBar();

function doOnClick(nodeId){
var myUrl = radMenuTree.getUserData(nodeId,"url");
//window.open(myUrl);
myUrl += "&appId=<?php echo $context;?>&SID=<?php echo strip_tags(SID); ?>"
alert(radMenuTree.getItemText(nodeId));
alert(myUrl);

status.setText("Current Transaction : "+radMenuTree.getItemText(nodeId));
radapp.cells("c").attachURL(myUrl);
}

</script>
<?php
}else{
?>
<script>
//alert('Login');
intwindow();

</script>
<script>
var radapp = new dhtmlXLayoutObject(document.body, <?php echo "\"".$radapp->APP_LAYOUT ."\"" ;?>);
radapp.cells("a").setText("<?php echo " ".$radapp->HEADER_IMAGE." ";?>");
radapp.cells("a").setHeight(60);
radapp.cells("a").fixSize(true, true);

var webBar = radapp.cells("a").attachToolbar();
webBar.setIconsPath("lib/dhtmlx/dhtmlxToolbar/images/");
webBar.addButton("new", 0, "", "new.gif");
webBar.setItemToolTip("new", "New");
webBar.addButton("save", 1, "Save", "save.gif");
webBar.setItemToolTip("save", "Save");
webBar.addButton("open", 2, "Open");
webBar.addSeparator("sep0", 3);
var printOpts = Array(Array('print_page', 'obj', 'Page'),
                Array('print_selection', 'obj', 'Selection'),
                Array('print_sep0', 'sep'),
                Array('print_custom', 'obj', 'Custom...'));
webBar.addButtonSelect("print", 18, "", printOpts, "print.gif");


radapp.cells("b").setText("CCF V3.0");
//radapp.cells("b").hideHeader();
radapp.cells("b").setWidth(250);
var radAccord = radapp.cells("b").attachAccordion();
radAccord.setIconsPath("lib/dhtmlx/dhtmlxAccordion/imgs/");
radAccord.addItem("a1", "MENU");

radAccord.addItem("a2", "LIHAT DATA PELANGGAN");
radAccord.addItem("a3", "History");

radAccord.cells("a1").open();


radapp.cells("c").setText("BODY");
radapp.cells("c").hideHeader();
var status = radapp.attachStatusBar();


</script>
<?php
}
?>
</body>
</html>


login.php

for example thereis form input username and password

if checking success

window login closed and in the app.php the value of $session must be 1 or (later i can used php session to handled it ).


Answer posted by Support on Apr 27, 2009 08:35
>>window login closed
on successful login, login.php must contain next line
<script>
         parent.dhxWins.window("login").close()
</script>

>>and in the app.php the value of $session must be 1 or
Technically, you need to reload page, right?
It can be initiated by adding, the next line to successful login.php output
<script>
         parent.document.location.href = "app.php?logged=true";
</script>