various enhacements

do not include lang file unless user is logged in,
check for user in all cases besides calculating the password strength
add comman 'session_info'
This commit is contained in:
Uwe Steinmann 2014-03-06 11:33:31 +01:00
parent d0769bcdf7
commit 87e7aa083a

View File

@ -48,12 +48,11 @@ if (isset($_COOKIE["mydms_session"])) {
$user = $dms->getUser($resArr["su"]);
}
}
include $settings->_rootDir . "languages/" . $resArr["language"] . "/lang.inc";
} else {
$user = null;
}
include $settings->_rootDir . "languages/" . $resArr["language"] . "/lang.inc";
$command = $_REQUEST["command"];
switch($command) {
case 'checkpwstrength':
@ -75,6 +74,12 @@ switch($command) {
}
break;
case 'sessioninfo': /* {{{ */
if($user) {
echo json_encode($resArr);
}
break; /* }}} */
case 'searchdocument': /* {{{ */
if($user) {
$query = $_GET['query'];
@ -108,58 +113,62 @@ switch($command) {
break; /* }}} */
case 'subtree': /* {{{ */
if(empty($_GET['node']))
$nodeid = $settings->_rootFolderID;
else
$nodeid = (int) $_GET['node'];
if(empty($_GET['showdocs']))
$showdocs = false;
else
$showdocs = true;
if($user) {
if(empty($_GET['node']))
$nodeid = $settings->_rootFolderID;
else
$nodeid = (int) $_GET['node'];
if(empty($_GET['showdocs']))
$showdocs = false;
else
$showdocs = true;
$folder = $dms->getFolder($nodeid);
if (!is_object($folder)) return '';
$subfolders = $folder->getSubFolders();
$subfolders = SeedDMS_Core_DMS::filterAccess($subfolders, $user, M_READ);
$tree = array();
foreach($subfolders as $subfolder) {
$level = array('label'=>$subfolder->getName(), 'id'=>$subfolder->getID(), 'load_on_demand'=>$subfolder->hasSubFolders() ? true : false, 'is_folder'=>true);
if(!$subfolder->hasSubFolders())
$level['children'] = array();
$tree[] = $level;
}
if($showdocs) {
$documents = $folder->getDocuments();
$documents = SeedDMS_Core_DMS::filterAccess($documents, $user, M_READ);
foreach($documents as $document) {
$level = array('label'=>$document->getName(), 'id'=>$document->getID(), 'load_on_demand'=>false, 'is_folder'=>false);
$folder = $dms->getFolder($nodeid);
if (!is_object($folder)) return '';
$subfolders = $folder->getSubFolders();
$subfolders = SeedDMS_Core_DMS::filterAccess($subfolders, $user, M_READ);
$tree = array();
foreach($subfolders as $subfolder) {
$level = array('label'=>$subfolder->getName(), 'id'=>$subfolder->getID(), 'load_on_demand'=>$subfolder->hasSubFolders() ? true : false, 'is_folder'=>true);
if(!$subfolder->hasSubFolders())
$level['children'] = array();
$tree[] = $level;
}
}
if($showdocs) {
$documents = $folder->getDocuments();
$documents = SeedDMS_Core_DMS::filterAccess($documents, $user, M_READ);
foreach($documents as $document) {
$level = array('label'=>$document->getName(), 'id'=>$document->getID(), 'load_on_demand'=>false, 'is_folder'=>false);
$tree[] = $level;
}
}
echo json_encode($tree);
// echo json_encode(array(array('label'=>'test1', 'id'=>1, 'load_on_demand'=> true), array('label'=>'test2', 'id'=>2, 'load_on_demand'=> true)));
echo json_encode($tree);
// echo json_encode(array(array('label'=>'test1', 'id'=>1, 'load_on_demand'=> true), array('label'=>'test2', 'id'=>2, 'load_on_demand'=> true)));
}
break; /* }}} */
case 'addtoclipboard': /* {{{ */
if (isset($_GET["id"]) && is_numeric($_GET["id"]) && isset($_GET['type'])) {
switch($_GET['type']) {
case "folder":
$session->addToClipboard($dms->getFolder($_GET['id']));
break;
case "document":
$session->addToClipboard($dms->getDocument($_GET['id']));
break;
if($user) {
if (isset($_GET["id"]) && is_numeric($_GET["id"]) && isset($_GET['type'])) {
switch($_GET['type']) {
case "folder":
$session->addToClipboard($dms->getFolder($_GET['id']));
break;
case "document":
$session->addToClipboard($dms->getDocument($_GET['id']));
break;
}
}
$view = UI::factory($theme, '', array('dms'=>$dms, 'user'=>$user));
if($view) {
$view->setParam('refferer', '');
$content = $view->menuClipboard($session->getClipboard());
header('Content-Type: application/json');
echo json_encode($content);
} else {
}
}
$view = UI::factory($theme, '', array('dms'=>$dms, 'user'=>$user));
if($view) {
$view->setParam('refferer', '');
$content = $view->menuClipboard($session->getClipboard());
header('Content-Type: application/json');
echo json_encode($content);
} else {
}
break; /* }}} */