GI-LostSession

Changes to validate idf user lost the session.
This commit is contained in:
jennydmz
2015-11-18 14:56:53 -04:00
parent ae8718d0cf
commit b8a9f6d9ae
7 changed files with 183 additions and 192 deletions

View File

@@ -2257,6 +2257,17 @@ class Cases
$sAction = '';
break;
}
if($_SESSION['gmail'] || ($_GET['gmail'] && $_GET['gmail'] == 1)){
$aNextStep = array(
'TYPE' => $oStep->getStepTypeObj(),
'UID' => $oStep->getStepUidObj(),
'POSITION' => $oStep->getStepPosition(),
'PAGE' => 'cases_Step?TYPE=' . $oStep->getStepTypeObj() . '&UID=' .
$oStep->getStepUidObj() . '&POSITION=' . $oStep->getStepPosition() .
'&ACTION=' . $sAction .
'&gmail=1'
);
} else{
$aNextStep = array(
'TYPE' => $oStep->getStepTypeObj(),
'UID' => $oStep->getStepUidObj(),
@@ -2268,10 +2279,19 @@ class Cases
$iPosition = $iLastStep;
}
}
}
$iPosition += 1;
}
}
if (!$aNextStep) {
if($_SESSION['gmail'] || ($_GET['gmail'] && $_GET['gmail'] == 1)){
$aNextStep = array(
'TYPE' => 'DERIVATION',
'UID' => -1,
'POSITION' => ($iLastStep + 1),
'PAGE' => 'cases_Step?TYPE=ASSIGN_TASK&UID=-1&POSITION=10000&ACTION=ASSIGN&gmail=1'
);
}else {
$aNextStep = array(
'TYPE' => 'DERIVATION',
'UID' => -1,
@@ -2279,6 +2299,7 @@ class Cases
'PAGE' => 'cases_Step?TYPE=ASSIGN_TASK&UID=-1&POSITION=10000&ACTION=ASSIGN'
);
}
}
return $aNextStep;
} catch (exception $e) {
throw ($e);

View File

@@ -26,6 +26,7 @@ $(window).load(function () {
}
}
var sesi = document.location.href;
function loadAjaxParams () {
var url;
var action;
@@ -46,8 +47,13 @@ $(window).load(function () {
}
method = 'POST';
} else if (app_uid){ //In case the form is in running cases
url = location.protocol + '//' + location.host;
if(sesi.search("gmail") != -1){
action = "cases_SaveData?UID=" + dyn_uid + "&APP_UID=" + app_uid + "&gmail=1";
}else{
action = "cases_SaveData?UID=" + dyn_uid + "&APP_UID=" + app_uid;
}
url = location.protocol + '//' + location.host;
url += '/sys' + workspace + '/en/neoclassic/cases/' + action;
method = 'POST';
}
@@ -86,7 +92,11 @@ $(window).load(function () {
arrayRequired.name = "DynaformRequiredFields";
arrayRequired.value = fieldsRequired;
var form = document.getElementsByTagName("form")[0];
if(sesi.search("gmail") != -1){
form.action = filePost ? filePost : "cases_SaveData?UID=" + dyn_uid + "&APP_UID=" + app_uid + "&gmail=1";
} else {
form.action = filePost ? filePost : "cases_SaveData?UID=" + dyn_uid + "&APP_UID=" + app_uid;
}
form.method = "post";
form.setAttribute("encType", "multipart/form-data");
form.appendChild(dyn_content_history);

View File

@@ -24,21 +24,14 @@
if (!isset($_SESSION['USER_LOGGED'])) {
G::SendTemporalMessage( 'ID_LOGIN_AGAIN', 'warning', 'labels' );
die( '<script type="text/javascript">
var olink = parent.uri;
var flag = 0;
if(olink == undefined){
olink = window.frameElement.src;
flag = 1;
}
var olink = document.location.href;
olink = ( olink.search("gmail") == -1 ) ? parent.document.location.href : olink;
if(olink.search("gmail") == -1){
parent.location = "../cases/casesStartPage?action=startCase";
} else {
var data = olink.split("?");
var odata = data[1].split("&");
var appUid = odata[0].split("=");
var delIndex = odata[1].split("=");
var action = odata[2].split("=");
var dataToSend = {
"action": "credentials",
@@ -46,28 +39,13 @@ if (!isset($_SESSION['USER_LOGGED'])) {
"type": "processCall",
"funParams": [
appUid[1],
delIndex[1],
action[1],
0
""
],
"expectReturn": false
};
if (flag == 0){
parent.parent.postMessage(JSON.stringify(dataToSend), "https://mail.google.com");
} else {
dataToSend = {
"action": "credentials",
"operation": "refreshPmSession",
"type": "processCall",
"funParams": [
appUid[1],
delIndex[1],
action[1],
1
],
"expectReturn": false
};
parent.postMessage(JSON.stringify(dataToSend), "*");
var x = parent.postMessage(JSON.stringify(dataToSend), "*");
if (x == undefined){
x = parent.parent.postMessage(JSON.stringify(dataToSend), "*");
}
}
</script>');

View File

@@ -27,22 +27,12 @@ if (!isset($_SESSION['USER_LOGGED'])) {
die( '<script type="text/javascript">
try
{
var olink = parent.uri;
var flag = 0;
if(olink == undefined){
olink = window.frameElement.src;
flag = 1;
}
if(olink.search("gmail") == -1){
prnt = parent.parent;
top.location = top.location;
} else {
var olink = document.location.href;
if(olink.search("gmail") != -1){
var data = olink.split("?");
var odata = data[1].split("&");
var appUid = odata[0].split("=");
var delIndex = odata[1].split("=");
var action = odata[2].split("=");
var appUid = odata[1].split("=");
var proUid = odata[0].split("=");
var dataToSend = {
"action": "credentials",
@@ -50,35 +40,17 @@ if (!isset($_SESSION['USER_LOGGED'])) {
"type": "processCall",
"funParams": [
appUid[1],
delIndex[1],
action[1],
0
proUid[1]
],
"expectReturn": false
};
if (flag == 0){
parent.parent.postMessage(JSON.stringify(dataToSend), "https://mail.google.com");
}else {
//top.location =
var x = window.postMessage(JSON.stringify(dataToSend), "https://mail.google.com");
if(x == undefined){
//Here the code to access the extension from the gadget
dataToSend = {
"action": "credentials",
"operation": "refreshPmSession",
"type": "processCall",
"funParams": [
appUid[1],
delIndex[1],
action[1],
1
],
"expectReturn": false
};
parent.postMessage(JSON.stringify(dataToSend), "*");
}
var x = parent.postMessage(JSON.stringify(dataToSend), "*");
if (x == undefined){
x = parent.parent.postMessage(JSON.stringify(dataToSend), "*");
}
}else{
prnt = parent.parent;
top.location = top.location;
}
}
catch (err)
@@ -87,6 +59,7 @@ if (!isset($_SESSION['USER_LOGGED'])) {
}
</script>');
}
try {
if ($_GET['APP_UID'] !== $_SESSION['APPLICATION']) {
throw new Exception( G::LoadTranslation( 'ID_INVALID_APPLICATION_ID_MSG', array ('<a href=\'' . $_SERVER['HTTP_REFERER'] . '\'>{1}</a>',G::LoadTranslation( 'ID_REOPEN' ) ) ) );

View File

@@ -1,4 +1,40 @@
<?php
if (!isset($_SESSION['USER_LOGGED'])) {
G::SendTemporalMessage( 'ID_LOGIN_AGAIN', 'warning', 'labels' );
die( '<script type="text/javascript">
try
{
var olink = document.location.href;
if(olink.search("gmail") == -1){
prnt = parent.parent;
top.location = top.location;
} else {
var data = olink.split("?");
var odata = data[1].split("&");
var appUid = odata[1].split("=");
var proUid = odata[0].split("=");
var dataToSend = {
"action": "credentials",
"operation": "refreshPmSession",
"type": "processCall",
"funParams": [
appUid[1],
proUid[1]
],
};
var x = parent.postMessage(JSON.stringify(dataToSend), "*");
if (x == undefined){
x = parent.parent.postMessage(JSON.stringify(dataToSend), "*");
}
}
}catch (err)
{
parent.location = parent.location;
}
</script>');
}
require_once 'classes/model/AppDelegation.php';
$delegation = new AppDelegation();
if( $delegation->alreadyRouted($_SESSION['APPLICATION'],$_SESSION['INDEX']) ) {
@@ -10,72 +46,6 @@ if( $delegation->alreadyRouted($_SESSION['APPLICATION'],$_SESSION['INDEX']) ) {
G::header('location: ../cases/casesListExtJs');
die();
}
if (!isset($_SESSION['USER_LOGGED'])) {
G::SendTemporalMessage( 'ID_LOGIN_AGAIN', 'warning', 'labels' );
die( '<script type="text/javascript">
try
{
var olink = parent.uri;
var flag = 0;
if(olink == undefined){
olink = window.frameElement.src;
flag = 1;
}
if(olink.search("gmail") == -1){
prnt = parent.parent;
top.location = top.location;
} else {
var data = olink.split("?");
var odata = data[1].split("&");
var appUid = odata[0].split("=");
var delIndex = odata[1].split("=");
var action = odata[2].split("=");
var dataToSend = {
"action": "credentials",
"operation": "refreshPmSession",
"type": "processCall",
"funParams": [
appUid[1],
delIndex[1],
action[1],
0
],
"expectReturn": false
};
if (flag == 0){
parent.parent.postMessage(JSON.stringify(dataToSend), "https://mail.google.com");
}else {
//top.location =
var x = window.postMessage(JSON.stringify(dataToSend), "https://mail.google.com");
if(x == undefined){
//Here the code to access the extension from the gadget
dataToSend = {
"action": "credentials",
"operation": "refreshPmSession",
"type": "processCall",
"funParams": [
appUid[1],
delIndex[1],
action[1],
1
],
"expectReturn": false
};
parent.postMessage(JSON.stringify(dataToSend), "*");
}
}
}
}
catch (err)
{
parent.location = parent.location;
}
</script>');
}
/**
* cases_Step.php
*
@@ -113,6 +83,11 @@ switch ($RBAC->userCanAccess( 'PM_CASES' )) {
break;
}
if($_GET['gmail'] && $_GET['gmail'] == 1){
$_SESSION['gmail'] = 1;
print_r('setea sesion gmail');
}
if ((int) $_SESSION['INDEX'] < 1) {
G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' );
G::header( 'location: ' . $_SERVER['HTTP_REFERER'] );
@@ -339,8 +314,12 @@ try {
if ($a->isResponsive()) {
$a->printEdit();
} else {
if($_GET['gmail'] && $_GET['gmail'] == 1){
$G_PUBLISH->AddContent('dynaform', 'xmlform', $_SESSION['PROCESS'] . '/' . $_GET['UID'], '', $Fields['APP_DATA'], 'cases_SaveData?UID=' . $_GET['UID'] . '&APP_UID=' . $_SESSION['APPLICATION'] . '&gmail=1', '', (strtolower($oStep->getStepMode()) != 'edit' ? strtolower($oStep->getStepMode()) : ''));
}else{
$G_PUBLISH->AddContent('dynaform', 'xmlform', $_SESSION['PROCESS'] . '/' . $_GET['UID'], '', $Fields['APP_DATA'], 'cases_SaveData?UID=' . $_GET['UID'] . '&APP_UID=' . $_SESSION['APPLICATION'], '', (strtolower($oStep->getStepMode()) != 'edit' ? strtolower($oStep->getStepMode()) : ''));
}
}
break;
case 'INPUT_DOCUMENT':
if ($noShowTitle == 0) {

View File

@@ -0,0 +1,33 @@
<?php
session_start();
if (!isset($_SESSION['USER_LOGGED'])) {
die( '<script type="text/javascript">
try
{
alert("lostSession");
var dataToSend = {
"action": "credentials",
"operation": "refreshPmSession",
"type": "processCall",
"funParams": [
"",
""
],
"expectReturn": false
};
var x = parent.postMessage(JSON.stringify(dataToSend), "*");
}catch (err)
{
parent.location = parent.location;
}
</script>');
}
if($_GET['form']){
header( 'location:' . $_SESSION['server'] . $_SESSION['PMCase'] );
}else if($_GET['processmap']){
header( 'location:' . $_SESSION['server'] . $_SESSION['PMProcessmap'] );
}else if($_GET['uploaded']){
header( 'location:' . $_SESSION['server'] . $_SESSION['PMUploadedDocuments'] );
} else if($_GET['generated']){
header( 'location:' . $_SESSION['server'] . $_SESSION['PMGeneratedDocuments'] );
}

View File

@@ -74,33 +74,30 @@
<body>
<?php
session_start();
if (!defined('SYS_SYS')) {
define('SYS_SYS', 'jenws');
}
?>
<div class="pmui-tabpanel-tabs_container" style="display: block; height: 40px;">
<ul class="pmui-tabpanel-tabs" style="display:block; float:left;">
<li class="pmui pmui-tabitem pmui-active" style="left: 0px; top: 0px; width: auto; height: auto; position: relative; z-index: auto; display: inline-block;">
<i class="pmui-tab-icon"> </i>
<a class="pmui-tab-ref" href="#PMCases" linkPM="<?php echo $_SESSION['server'] . $_SESSION['PMCase'] ?>" PMServer="<?php echo $_SESSION['server'] ?>">
<a class="pmui-tab-ref" href="#PMCases" linkPM="<?php echo $_SESSION['server'] . '../../../pmGmail/lostSession.php?form=1' ?>" PMServer="<?php echo $_SESSION['server'] ?>">
Form
</a>
</li>
<li class="pmui pmui-tabitem" style="left: 0px; top: 0px; width: auto; height: auto; position: relative; z-index: auto; display: inline-block;">
<i class="pmui-tab-icon"> </i>
<a class="pmui-tab-ref" href="#PMProcessmap" linkPM="<?php echo $_SESSION['server'] . $_SESSION['PMProcessmap'] ?>" PMServer="<?php echo $_SESSION['server'] ?>">
<a class="pmui-tab-ref" href="#PMProcessmap" linkPM="<?php echo $_SESSION['server'] . '../../../pmGmail/lostSession.php?processmap=1' ?>" PMServer="<?php echo $_SESSION['server'] ?>">
Processmap
</a>
</li>
<li class="pmui pmui-tabitem" style="left: 0px; top: 0px; width: auto; height: auto; position: relative; z-index: auto; display: inline-block;">
<i class="pmui-tab-icon"> </i>
<a class="pmui-tab-ref" href="#PMUploadedDocuments" linkPM="<?php echo $_SESSION['server'] . $_SESSION['PMUploadedDocuments'] ?>" PMServer="<?php echo $_SESSION['server'] ?>">
<a class="pmui-tab-ref" href="#PMUploadedDocuments" linkPM="<?php echo $_SESSION['server'] . '../../../pmGmail/lostSession.php?uploaded=1' ?>" PMServer="<?php echo $_SESSION['server'] ?>">
Uploaded
</a>
</li>
<li class="pmui pmui-tabitem" style="left: 0px; top: 0px; width: auto; height: auto; position: relative; z-index: auto; display: inline-block;">
<i class="pmui-tab-icon"> </i>
<a class="pmui-tab-ref" href="#PMGeneratedDocuments" linkPM="<?php echo $_SESSION['server'] . $_SESSION['PMGeneratedDocuments'] ?>" PMServer="<?php echo $_SESSION['server'] ?>">
<a class="pmui-tab-ref" href="#PMGeneratedDocuments" linkPM="<?php echo $_SESSION['server'] . '../../../pmGmail/lostSession.php?generated=1' ?>" PMServer="<?php echo $_SESSION['server'] ?>">
Generated
</a>
</li>