Merged colosa/processmaker into master
This commit is contained in:
@@ -24,8 +24,8 @@ if ($actionAjax == "streaming") {
|
||||
|
||||
$file = \G::getPathFromFileUID($oAppDocument->Fields['APP_UID'], $sAppDocUid);
|
||||
|
||||
$realPath = PATH_DOCUMENT . $app_uid . '/' . $file[0] . $file[1] . '_' . $iDocVersion . '.' . $ext;
|
||||
$realPath1 = PATH_DOCUMENT . $app_uid . '/' . $file[0] . $file[1] . '.' . $ext;
|
||||
$realPath = PATH_DOCUMENT . G::getPathFromUID($app_uid) . '/' . $file[0] . $file[1] . '_' . $iDocVersion . '.' . $ext;
|
||||
$realPath1 = PATH_DOCUMENT . G::getPathFromUID($app_uid) . '/' . $file[0] . $file[1] . '.' . $ext;
|
||||
|
||||
if (file_exists( $realPath )) {
|
||||
$finfo = finfo_open(FILEINFO_MIME_TYPE);
|
||||
|
||||
@@ -130,7 +130,13 @@ if (isset( $oProcessFieds['PRO_DEBUG'] ) && $oProcessFieds['PRO_DEBUG']) {
|
||||
}
|
||||
|
||||
//cleaning debug variables
|
||||
if (! isset( $_GET['breakpoint'] )) {
|
||||
$flagExecuteBeforeTriggers = !isset($_GET["breakpoint"]);
|
||||
|
||||
if (isset($_GET["TYPE"]) && $_GET["TYPE"] == "OUTPUT_DOCUMENT" && isset($_GET["ACTION"]) && $_GET["ACTION"] != "GENERATE") {
|
||||
$flagExecuteBeforeTriggers = false;
|
||||
}
|
||||
|
||||
if ($flagExecuteBeforeTriggers) {
|
||||
if (isset( $_SESSION['TRIGGER_DEBUG']['info'] )) {
|
||||
unset( $_SESSION['TRIGGER_DEBUG']['info'] );
|
||||
}
|
||||
|
||||
@@ -403,8 +403,8 @@ class Light
|
||||
//$app_uid = \G::getPathFromUID($oAppDocument->Fields['APP_UID']);
|
||||
$file = \G::getPathFromFileUID($oAppDocument->Fields['APP_UID'], $sAppDocUid);
|
||||
|
||||
$realPath = PATH_DOCUMENT . $app_uid . '/' . $file[0] . $file[1] . '_' . $iDocVersion . '.' . $ext;
|
||||
$realPath1 = PATH_DOCUMENT . $app_uid . '/' . $file[0] . $file[1] . '.' . $ext;
|
||||
$realPath = PATH_DOCUMENT . G::getPathFromUID($app_uid) . '/' . $file[0] . $file[1] . '_' . $iDocVersion . '.' . $ext;
|
||||
$realPath1 = PATH_DOCUMENT . G::getPathFromUID($app_uid) . '/' . $file[0] . $file[1] . '.' . $ext;
|
||||
|
||||
$width = isset($fileData['width']) ? $fileData['width']:null;
|
||||
$height = isset($fileData['height']) ? $fileData['height']:null;
|
||||
@@ -604,8 +604,9 @@ class Light
|
||||
*/
|
||||
public function getInformation($userUid, $type, $app_uid)
|
||||
{
|
||||
//$response = array();
|
||||
$response = array();
|
||||
switch ($type) {
|
||||
case 'unassigned':
|
||||
case 'paused':
|
||||
case 'participated':
|
||||
$oCase = new \Cases();
|
||||
|
||||
@@ -611,52 +611,18 @@ class Light extends Api
|
||||
}
|
||||
|
||||
/**
|
||||
* @url POST /case/:app_uid/input-document
|
||||
* @url POST /case/:app_uid/upload/location
|
||||
*
|
||||
* @param string $app_uid { @min 32}{@max 32}
|
||||
* @param string $tas_uid {@min 32}{@max 32}
|
||||
* @param string $app_doc_comment
|
||||
* @param string $inp_doc_uid {@min 32}{@max 32}
|
||||
*/
|
||||
public function doPostInputDocument($app_uid, $tas_uid, $app_doc_comment, $inp_doc_uid)
|
||||
{
|
||||
try {
|
||||
$userUid = $this->getUserId();
|
||||
$inputDocument = new \ProcessMaker\BusinessModel\Cases\InputDocument();
|
||||
$file = $inputDocument->addCasesInputDocument($app_uid, $tas_uid, $app_doc_comment, $inp_doc_uid, $userUid);
|
||||
$response = $this->parserInputDocument($file);
|
||||
} catch (\Exception $e) {
|
||||
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
||||
}
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function parserInputDocument ($data)
|
||||
{
|
||||
$structure = array(
|
||||
'app_doc_uid' => 'fileId',
|
||||
'app_doc_filename' => 'fileName',
|
||||
'app_doc_version' => 'version'
|
||||
);
|
||||
$response = $this->replaceFields($data, $structure);
|
||||
return $response;
|
||||
}
|
||||
|
||||
/**
|
||||
* @url POST /case/:app_uid/input-document/location
|
||||
*
|
||||
* @param string $app_uid { @min 32}{@max 32}
|
||||
* @param string $tas_uid {@min 32}{@max 32}
|
||||
* @param string $app_doc_comment
|
||||
* @param string $inp_doc_uid {@min 32}{@max 32}
|
||||
* @param float $latitude {@min -90}{@max 90}
|
||||
* @param string $app_uid { @min 32}{@max 32}
|
||||
* @param float $latitude {@min -90}{@max 90}
|
||||
* @param float $longitude {@min -180}{@max 180}
|
||||
*/
|
||||
public function postInputDocumentLocation($app_uid, $tas_uid, $app_doc_comment, $inp_doc_uid, $latitude, $longitude)
|
||||
public function postInputDocumentLocation($app_uid, $latitude, $longitude)
|
||||
{
|
||||
try {
|
||||
$userUid = $this->getUserId();
|
||||
$inputDocument = new \ProcessMaker\BusinessModel\Cases\InputDocument();
|
||||
$oMobile = new \ProcessMaker\BusinessModel\Light();
|
||||
|
||||
$url = "http://maps.googleapis.com/maps/api/staticmap?center=".$latitude.','.$longitude."&format=jpg&size=600x600&zoom=15&markers=color:blue%7Clabel:S%7C".$latitude.','.$longitude;
|
||||
$imageLocation = imagecreatefromjpeg($url);
|
||||
$tmpfname = tempnam("php://temp","pmm");
|
||||
@@ -668,17 +634,21 @@ class Light extends Api
|
||||
$_FILES["form"]["error"] = 0;
|
||||
$sizes = getimagesize($tmpfname);
|
||||
$_FILES["form"]["size"] = ($sizes['0'] * $sizes['1']);
|
||||
$file = $inputDocument->addCasesInputDocument($app_uid, $tas_uid, $app_doc_comment, $inp_doc_uid, $userUid);
|
||||
|
||||
$request_data = array(array('name' => $_FILES["form"]["name"]));
|
||||
$file = $oMobile->postUidUploadFiles($userUid, $app_uid, $request_data);
|
||||
|
||||
$strPathName = PATH_DOCUMENT . G::getPathFromUID($app_uid) . PATH_SEP;
|
||||
$strFileName = $file->app_doc_uid . "_" . $file->app_doc_version . ".jpg";
|
||||
copy($tmpfname, $strPathName . "/" . $strFileName);
|
||||
$response = $this->parserInputDocument($file);
|
||||
$strFileName = $file[0]['appDocUid'] . "_" . $file[0]['docVersion'] . ".jpg";
|
||||
if (! is_dir( $strPathName )) {
|
||||
G::verifyPath( $strPathName, true );
|
||||
}
|
||||
copy($tmpfname, $strPathName . $strFileName);
|
||||
unlink($tmpfname);
|
||||
} catch (\Exception $e) {
|
||||
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
||||
}
|
||||
return $response;
|
||||
return $file;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -1739,6 +1739,16 @@ function copymoveCtx(e) {
|
||||
copymove('moveExecute');
|
||||
}
|
||||
|
||||
var loader = new Ext.tree.TreeLoader({
|
||||
preloadChildren : true,
|
||||
dataUrl : '../appFolder/appFolderAjax.php',
|
||||
baseParams : {
|
||||
action : 'expandNode',
|
||||
sendWhat : 'dirs',
|
||||
renderTree : 1
|
||||
}
|
||||
});
|
||||
|
||||
var documentsTab = {
|
||||
id : 'documents',
|
||||
// title : 'Documents',
|
||||
@@ -1772,15 +1782,7 @@ var documentsTab = {
|
||||
}
|
||||
],
|
||||
// rootVisible: false,
|
||||
loader : new Ext.tree.TreeLoader({
|
||||
preloadChildren : true,
|
||||
dataUrl : '../appFolder/appFolderAjax.php',
|
||||
baseParams : {
|
||||
action : 'expandNode',
|
||||
sendWhat : 'dirs',
|
||||
renderTree : 1
|
||||
}
|
||||
}),
|
||||
loader : loader,
|
||||
containerScroll : true,
|
||||
enableDD : true,
|
||||
ddGroup : 'TreeDD',
|
||||
@@ -1834,10 +1836,10 @@ var documentsTab = {
|
||||
return true;
|
||||
}
|
||||
},
|
||||
'beforenodedrop' : {
|
||||
fn : function(e) {
|
||||
dropEvent = e;
|
||||
copymoveCtx(e);
|
||||
'nodedrop' : {
|
||||
fn : function(e) {
|
||||
dropEvent = e;
|
||||
copymoveCtx(e);
|
||||
datastore.reload();
|
||||
}
|
||||
},
|
||||
|
||||
@@ -82,12 +82,14 @@
|
||||
<nav>
|
||||
<ul>
|
||||
<li><a href="#" ><span class="mafe-button-close" ></span></a></li>
|
||||
<li><a href="#" class="mafe-button-save"></a></li>
|
||||
<li class="mafe-save-process"><a href="#" class="mafe-button-save"></a></li>
|
||||
<li><a href="#" class="mafe-button-export-process"></a></li>
|
||||
<li><a class="mafe-button-export-bpmn-process"></a></li>
|
||||
<li><a href="#" class="mafe-button-undo"></a> <a href="#" class="mafe-button-redo"></a></li>
|
||||
<li></li>
|
||||
<li class="mafe-undo"><a href="#"><span class="mafe-button-undo"></span></a></li>
|
||||
<li class="mafe-redo"><a href="#"><span class="mafe-button-redo"></span></a></li>
|
||||
<li><a href="#" title="" class="mafe-button-fullscreen"></a></li>
|
||||
<li></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -254,7 +254,7 @@ clientSetup.application = {
|
||||
data: [["20"], ["30"], ["40"], ["50"], ["100"]],
|
||||
autoLoad: true
|
||||
});
|
||||
|
||||
|
||||
//Components
|
||||
var winData = new Ext.Window({
|
||||
layout: "fit",
|
||||
@@ -289,7 +289,11 @@ clientSetup.application = {
|
||||
id: "txtName",
|
||||
name: "txtName",
|
||||
|
||||
fieldLabel: "Name"
|
||||
fieldLabel: "Name",
|
||||
validator: function(value){
|
||||
var val = (value=='')? false: true;
|
||||
return val;
|
||||
}
|
||||
},
|
||||
{
|
||||
xtype: "label",
|
||||
@@ -320,8 +324,15 @@ clientSetup.application = {
|
||||
id: "txtWebSite",
|
||||
name: "txtWebSite",
|
||||
|
||||
fieldLabel: "Web Site",
|
||||
vtype: "url"
|
||||
fieldLabel: "Web Site",
|
||||
validator: function (value){
|
||||
var regexpUrl = /[-a-zA-Z0-9@:%_\+.~#?&//=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~#?&//=]*)?/gi;
|
||||
var regexStringIp = new RegExp(regexpUrl);
|
||||
var regexpIpAdress = /^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/g;
|
||||
var regexNumberIp = new RegExp(regexpIpAdress);
|
||||
var result = (value.match(regexStringIp) || value.match(regexNumberIp))? true : false;
|
||||
return result;
|
||||
}
|
||||
},
|
||||
{
|
||||
xtype: "label",
|
||||
@@ -345,7 +356,7 @@ clientSetup.application = {
|
||||
fieldLabel: " ",
|
||||
labelSeparator: "",
|
||||
|
||||
html: "<span style=\"font-size: 11px;\">" + "here should we return after successfully authenticating? For @Anywhere applications, only the domain specified in the callback will be used. OAuth 1.0a applications should explicitly specify their oauth_callback URL on the request token step, regardless of the value given here. To restrict your application from using callbacks, leave this field blank." + "</span>"
|
||||
html: "<span style=\"font-size: 11px;\">" + "URL where redirected after successfully authenticating (calling the {workspace}/oauth2/authorize endpoint). This URL typically contains code to get the access token from the {workspace}/oauth2/token endpoint. To prevent your application from using callbacks, leave this field blank." + "</span>"
|
||||
}
|
||||
]
|
||||
})
|
||||
@@ -499,7 +510,7 @@ clientSetup.application = {
|
||||
var btnDetail = new Ext.Action({
|
||||
id: "btnDetail",
|
||||
|
||||
text: _("ID_DETAIL"),
|
||||
text: _("ID_DETAILS"),
|
||||
iconCls: "button_menu_ext ss_sprite ss_zoom",
|
||||
|
||||
handler: function ()
|
||||
@@ -695,7 +706,7 @@ clientSetup.application = {
|
||||
items: [grdpnlMain]
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Ext.onReady(clientSetup.application.init, clientSetup.application);
|
||||
|
||||
Ext.onReady(clientSetup.application.init, clientSetup.application);
|
||||
@@ -4,6 +4,8 @@
|
||||
*/
|
||||
|
||||
var _NODE_SELECTED;
|
||||
var flagRenderTabLog = false;
|
||||
|
||||
var main = function(){
|
||||
var cookiep = new Ext.state.CookieProvider();
|
||||
|
||||
@@ -130,7 +132,19 @@ var main = function(){
|
||||
activeTab:this.items.indexOf(this.getActiveTab())
|
||||
};
|
||||
},
|
||||
items: items
|
||||
items: items,
|
||||
listeners: {
|
||||
tabchange: function (tabpanel, tab)
|
||||
{
|
||||
if (tab.id == "logs" && flagRenderTabLog) {
|
||||
tab.getLoader().load(tab.root);
|
||||
}
|
||||
|
||||
if (tab.id == "logs") {
|
||||
flagRenderTabLog = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}),
|
||||
{
|
||||
region: 'center',
|
||||
@@ -166,5 +180,3 @@ new Ext.KeyMap(document, {
|
||||
});
|
||||
|
||||
Ext.onReady(main);
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user