GI-138
New changes to pmgmail integration
This commit is contained in:
@@ -1,26 +1,22 @@
|
||||
<?php
|
||||
require_once(dirname(__FILE__) . '/../../../gulliver/init.php');
|
||||
use Gulliver\core\ServiceContainer;
|
||||
$sc = ServiceContainer::getInstance();
|
||||
$session = $sc->make('session.store');
|
||||
$request = $sc->make('request');
|
||||
require_once (dirname(__FILE__) . '/../../../gulliver/system/class.bootstrap.php');
|
||||
|
||||
$gmailToken = $request->query->get('gmailToken');
|
||||
$gmail = $request->query->get('gmail');
|
||||
$pmtoken = $request->query->get('pmtoken');
|
||||
$pmws = $request->query->get('pmws');
|
||||
$appUid = $request->query->get('appUid');
|
||||
$delIndex = $request->query->get('delIndex');
|
||||
$action = $request->query->get('action');
|
||||
$proUid = $request->query->has('proUid') ? $request->query->get('proUid') : '';
|
||||
$server = $request->query->get('server');
|
||||
$gmailToken = $_GET['gmailToken'];
|
||||
$gmail = $_GET['gmail'];
|
||||
$pmtoken = $_GET['pmtoken'];
|
||||
$pmws = $_GET['pmws'];
|
||||
$appUid = $_GET['appUid'];
|
||||
$delIndex = $_GET['delIndex'];
|
||||
$action = $_GET['action'];
|
||||
$proUid = $_GET['proUid'];
|
||||
$server = isset($_GET['server']) ? $_GET['server'] : '';
|
||||
|
||||
//First check if the feature is enabled in the license.
|
||||
$gCurl = curl_init( 'https://' . $server . '/api/1.0/' . $pmws . '/gmailIntegration/verifyGmailfeature/' );
|
||||
curl_setopt( $gCurl, CURLOPT_HTTPHEADER, array( 'Authorization: Bearer ' . $pmtoken ) );
|
||||
curl_setopt( $gCurl, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt( $gCurl, CURLOPT_SSL_VERIFYPEER,false);
|
||||
curl_setopt( $gCurl, CURLOPT_CONNECTTIMEOUT ,0);
|
||||
curl_setopt( $gCurl, CURLOPT_SSL_VERIFYPEER, false);
|
||||
curl_setopt( $gCurl, CURLOPT_CONNECTTIMEOUT, 0);
|
||||
|
||||
$gCurl_response = curl_exec( $gCurl );
|
||||
curl_close($gCurl);
|
||||
@@ -37,7 +33,7 @@ $curl = curl_init( 'https://' . $server . '/api/1.0/' . $pmws . '/gmailIntegrati
|
||||
curl_setopt( $curl, CURLOPT_HTTPHEADER, array( 'Authorization: Bearer ' . $pmtoken ) );
|
||||
curl_setopt( $curl, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt( $curl, CURLOPT_SSL_VERIFYPEER,false);
|
||||
curl_setopt( $curl, CURLOPT_CONNECTTIMEOUT ,0);
|
||||
curl_setopt( $curl, CURLOPT_CONNECTTIMEOUT, 0);
|
||||
|
||||
$curl_response = curl_exec( $curl );
|
||||
curl_close($curl);
|
||||
@@ -49,7 +45,7 @@ if(count($decodedResp) > 1){
|
||||
}
|
||||
|
||||
//validationg if there is an actual PM session
|
||||
if( !$session->has('USER_LOGGED') || $session->get('USER_LOGGED') != $decodedResp['0']->USR_UID){
|
||||
if( !isset($_SESSION['USER_LOGGED']) || $_SESSION['USER_LOGGED'] != $decodedResp['0']->USR_UID){
|
||||
$url = 'https://www.googleapis.com/oauth2/v1/tokeninfo?access_token='.$gmailToken;
|
||||
|
||||
// init curl object
|
||||
@@ -72,32 +68,28 @@ if( !$session->has('USER_LOGGED') || $session->get('USER_LOGGED') != $decodedRes
|
||||
//If the email corresponds I get the username and with the gmail user_id the session is created.
|
||||
if($decodedResp['0']->USR_STATUS == "ACTIVE"){
|
||||
//User Active! lets create the Session
|
||||
$request = $sc->make('request');
|
||||
$session = $sc->make('session.store');
|
||||
|
||||
$session->setId($request->cookies->get($session->getName()));
|
||||
$session->start();
|
||||
setcookie($session->getName(), $session->getId(), 0, '/');
|
||||
$request->setSession($session);
|
||||
|
||||
@session_destroy();
|
||||
session_start();
|
||||
session_regenerate_id();
|
||||
|
||||
if (PHP_VERSION < 5.2) {
|
||||
setcookie("workspaceSkin", "neoclasic", time() + (24 * 60 * 60), "/sys" . "neoclasic", "; HttpOnly");
|
||||
} else {
|
||||
setcookie("workspaceSkin", "neoclasic", time() + (24 * 60 * 60), "/sys" . "neoclasic", null, false, true);
|
||||
}
|
||||
|
||||
$session->set('__EE_INSTALLATION__', 2);
|
||||
$session->set('__EE_SW_PMLICENSEMANAGER__', 1);
|
||||
$session->set('phpLastFileFound', '');
|
||||
$session->set('USERNAME_PREVIOUS1', 'admin');
|
||||
$session->set('USERNAME_PREVIOUS2', 'admin');
|
||||
$session->set('WORKSPACE', $pmws);
|
||||
$session->set('USER_LOGGED', $decodedResp['0']->USR_UID);
|
||||
$session->set('USR_USERNAME', $decodedResp['0']->USR_USERNAME);
|
||||
$session->set('USR_FULLNAME', $decodedResp['0']->USR_FIRSTNAME. ' ' .$decodedResp['0']->USR_LASTNAME);
|
||||
$session->set('__sw__', 1);
|
||||
$session->save();
|
||||
//session created
|
||||
$_SESSION = array();
|
||||
$_SESSION['__EE_INSTALLATION__'] = 2;
|
||||
$_SESSION['__EE_SW_PMLICENSEMANAGER__'] = 1;
|
||||
$_SESSION['phpLastFileFound'] = '';
|
||||
$_SESSION['USERNAME_PREVIOUS1'] = 'admin';
|
||||
$_SESSION['USERNAME_PREVIOUS2'] = 'admin';
|
||||
$_SESSION['WORKSPACE'] = $pmws;
|
||||
$_SESSION['USER_LOGGED'] = $decodedResp['0']->USR_UID;
|
||||
$_SESSION['USR_USERNAME'] = $decodedResp['0']->USR_USERNAME;
|
||||
$_SESSION['USR_FULLNAME'] = $decodedResp['0']->USR_FIRSTNAME. ' ' .$decodedResp['0']->USR_LASTNAME;
|
||||
$_SESSION['__sw__'] = 1;
|
||||
//session created
|
||||
} else {
|
||||
echo Bootstrap::LoadTranslation( 'ID_USER_NOT_ACTIVE' );
|
||||
die;
|
||||
@@ -115,7 +107,7 @@ if ($action == "draft"){
|
||||
curl_setopt( $curlApp, CURLOPT_CUSTOMREQUEST, "POST");
|
||||
curl_setopt( $curlApp, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt( $curlApp, CURLOPT_SSL_VERIFYPEER,false);
|
||||
curl_setopt( $curlApp, CURLOPT_CONNECTTIMEOUT ,0);
|
||||
curl_setopt( $curlApp, CURLOPT_CONNECTTIMEOUT, 0);
|
||||
|
||||
$curl_response_app = curl_exec( $curlApp );
|
||||
curl_close( $curlApp );
|
||||
@@ -124,20 +116,12 @@ if ($action == "draft"){
|
||||
header( 'location:' . $mainUrl );
|
||||
die;
|
||||
}
|
||||
$session->set('server', 'https://' . $server . '/sys'. $pmws .'/en/neoclassic/');
|
||||
|
||||
$session->set('PMCase', 'cases/cases_Open?APP_UID='.$appUid.'&DEL_INDEX='.$delIndex.'&action='.$action.'&gmail=1');
|
||||
$_SESSION['server'] = 'https://' . $server . '/sys'. $pmws .'/en/neoclassic/';
|
||||
$_SESSION['PMCase'] = 'cases/cases_Open?APP_UID='.$appUid.'&DEL_INDEX='.$delIndex.'&action='.$action.'&gmail=1';
|
||||
$_SESSION['PMProcessmap'] = 'designer?prj_uid=' . $proUid . '&prj_readonly=true&app_uid=' . $appUid;
|
||||
$_SESSION['PMUploadedDocuments'] = 'cases/ajaxListener?action=uploadedDocuments';
|
||||
$_SESSION['PMGeneratedDocuments'] = 'cases/casesGenerateDocumentPage_Ajax.php?actionAjax=casesGenerateDocumentPage';
|
||||
|
||||
$session->set('PMProcessmap', 'designer?prj_uid=' . $proUid . '&prj_readonly=true&app_uid=' . $appUid);
|
||||
|
||||
$session->set('PMCasesHistory', 'cases/ajaxListener?action=caseHistory');
|
||||
|
||||
$session->set('PMHistoryDynaform', 'cases/casesHistoryDynaformPage_Ajax?actionAjax=historyDynaformPage');
|
||||
|
||||
$session->set('PMUploadedDocuments', 'cases/ajaxListener?action=uploadedDocuments');
|
||||
|
||||
$session->set('PMGeneratedDocuments', 'cases/casesGenerateDocumentPage_Ajax.php?actionAjax=casesGenerateDocumentPage');
|
||||
ob_end_flush();
|
||||
$session->save();
|
||||
header( 'location:' . 'templateForm.php' );
|
||||
|
||||
|
||||
117
workflow/public_html/pmGmail/templateForm.php
Normal file
117
workflow/public_html/pmGmail/templateForm.php
Normal file
@@ -0,0 +1,117 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>Interface Processmaker</title>
|
||||
<script type="text/javascript" src="/lib/js/jquery-1.10.2.min.js"></script>
|
||||
<link rel="stylesheet" href="/lib/pmUI/pmui.min.css">
|
||||
|
||||
<script type="text/javascript" >
|
||||
jQuery(document).ready(function() {
|
||||
|
||||
var tid;
|
||||
|
||||
var addLoading = function (host, panel, message) {
|
||||
panel = panel || 'PMContent';
|
||||
message = message || 'Loading...';
|
||||
|
||||
var divLoading = document.createElement('div');
|
||||
var span = document.createElement('span');
|
||||
var text = document.createTextNode(message);
|
||||
|
||||
divLoading.setAttribute('id', 'PMGmailLoad');
|
||||
divLoading.setAttribute('style', 'position:absolute; left: 0px;top: 0px;width: 100%;height: 100%;z-index: 9999;background: url('+host+'../../../lib/img/loading.gif) 50% 50% no-repeat #f9f9f9;');
|
||||
|
||||
span.setAttribute('style', ' margin-top: 50%; margin-left: 44%; position: absolute; font-weight: bold; font-size: 12px; margin-right: auto;');
|
||||
span.appendChild(text);
|
||||
divLoading.appendChild(span);
|
||||
document.getElementById(panel).appendChild(divLoading);
|
||||
};
|
||||
|
||||
var removeLoading = function () {
|
||||
document.getElementById('PMGmailLoad').remove();
|
||||
};
|
||||
|
||||
var resizePMDynadorm = function () {
|
||||
var iframe = document.getElementById('iframePM');
|
||||
var content = iframe.contentDocument;
|
||||
if (content != null){
|
||||
clearInterval(tid);
|
||||
}
|
||||
};
|
||||
|
||||
jQuery('.pmui-tab-ref').on('click', function(e) {
|
||||
var currentAttrValue = jQuery(this).attr('href');
|
||||
|
||||
jQuery(this).parent('li').addClass('pmui-active').siblings().removeClass('pmui-active');
|
||||
|
||||
//url iframe
|
||||
currentAttrValue = jQuery(this).attr('linkPM');
|
||||
addLoading(jQuery(this).attr('PMServer'));
|
||||
$('#iframePM').attr('src', currentAttrValue);
|
||||
e.preventDefault();
|
||||
});
|
||||
$('#iframePM').load( function () {
|
||||
tid = setInterval(function(){ resizePMDynadorm() }, 500);
|
||||
removeLoading();
|
||||
});
|
||||
|
||||
var currentAttrValue = jQuery('.pmui-tab-ref');
|
||||
addLoading(currentAttrValue[0].attributes[3].value);
|
||||
$('#iframePM').attr('src',currentAttrValue[0].attributes[2].value);
|
||||
});
|
||||
|
||||
var eventMethod = window.addEventListener ? "addEventListener" : "attachEvent";
|
||||
var eventer = window[eventMethod];
|
||||
var messageEvent = eventMethod == "attachEvent" ? "onmessage" : "message";
|
||||
eventer(messageEvent,function(e) {
|
||||
parent.parent.postMessage(e.data, 'https://mail.google.com');
|
||||
},false);
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<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'] ?>">
|
||||
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'] ?>">
|
||||
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'] ?>">
|
||||
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'] ?>">
|
||||
Generated
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="tab-content">
|
||||
<div class="tab active" id="PMContent">
|
||||
<iframe id="iframePM" src="" width="100%" height="530" style="overflow:hidden;"></iframe>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user