Merged in release/3.8.0 (pull request #8603)

Updating develop branch with last changes in release/3.8.0

Approved-by: Julio Cesar Laura Avendaño
This commit is contained in:
Paula Quispe
2022-10-05 13:13:49 +00:00
committed by Julio Cesar Laura Avendaño
13 changed files with 597 additions and 20 deletions

View File

@@ -96,6 +96,7 @@
"thirdparty/pear", "thirdparty/pear",
"thirdparty/phing", "thirdparty/phing",
"thirdparty/pake", "thirdparty/pake",
"thirdparty/wizard",
"rbac/engine/classes/" "rbac/engine/classes/"
], ],
"files": [ "files": [

View File

@@ -252,7 +252,7 @@ export default {
}) })
) )
.then((response) => { .then((response) => {
if (response.status === 200 ) { if (response.status === 200 || response.status === 201) {
that.attachDocuments = false; that.attachDocuments = false;
that.dataAttachedDocuments.items = []; that.dataAttachedDocuments.items = [];
that.getCasesNotes(); that.getCasesNotes();

View File

@@ -93,11 +93,10 @@ export default {
}) })
) )
.then((response) => { .then((response) => {
if (response.status === 200) { if (response.status === 200 || response.status === 201) {
that.attachDocuments = false; that.attachDocuments = false;
that.dataAttachedDocuments.items = []; that.dataAttachedDocuments.items = [];
that.getCasesNotes(); that.getCasesNotes();
this.$refs["modal-comments"].hide();
this.$emit("postNotes"); this.$emit("postNotes");
} }
}) })

39
thirdparty/wizard/include.php vendored Normal file
View File

@@ -0,0 +1,39 @@
<?php
/*
This file is part of ActiveLink PHP XML Package (www.active-link.com).
Copyright (c) 2002-2004 by Zurab Davitiani
You can contact the author of this software via E-mail at
hattrick@mailcan.com
ActiveLink PHP XML Package is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.
ActiveLink PHP XML Package is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with ActiveLink PHP XML Package; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
/**
* Include file for ActiveLink IORCA
*/
// define included package locations
$GLOBALS["IORCA"]["BASE"]["PATH"] = dirname(__FILE__) . "/";
function import($classPath) {
$importFile = str_replace(".", "/", $classPath) . ".php";
require_once($GLOBALS["IORCA"]["BASE"]["PATH"] . $importFile);
}
?>

View File

@@ -0,0 +1,242 @@
<?php
/*
This file is part of ActiveLink PHP DOC Package (www.active-link.com).
Copyright (c) 2002-2004 by Zurab Davitiani
You can contact the author of this software via E-mail at
hattrick@mailcan.com
ActiveLink PHP DOC Package is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.
ActiveLink PHP DOC Package is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with ActiveLink PHP DOC Package; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
import("org.active-link.xml.XML");
import("org.active-link.doc.PHPClass");
import("org.active-link.doc.Method");
/**
* DocHTML parses PHP class file comments and generates documentation
* @class DocHTML
* @package org.active-link.doc
* @author Zurab Davitiani
* @version 0.3.4
* @requires XML, PHPClass, Method
* @see PHPClass
*/
class DocHTML {
var $CSSFile;
var $CSSFileTag;
var $CSSString;
var $CSSStringTag;
var $CSSStringDefault;
/**
* Constructor, runs when new object instance is created, sets default values
* @method DocHTML
*/
function DocHTML() {
$this->CSSStringDefault = "
body {background-color: white;}
a {font-family: monospace;}
ul {list-style-type: none;}
.classTitle {color: blue;}
.name {color: black;}
.version {color: black;}
.requires {color: red;}
.extends {color: black;}
.description {color: black;font-family: sans-serif;}
.author {color: blue;}
.methodsTitle {color: blue;}
.methodList {color: blue;}
.methodName {color: blue;font-weight: bold;}
.returns {color: black;}
.param {color: black;font-weight: bold;font-family: monospace;}
";
}
/**
* Returns class documentation as a string, formatted in HTML
* If argument is a filename, it parses the file for comments and generates documentation
* If argument is an object of type PHPClass, then documentation is generated from it
* @method getClassDoc
* @param mixed argument
* @returns string HTML-formatted documentation if successful, false otherwise
*/
function getClassDoc($argument) {
if(is_object($argument) && get_class($argument) == "phpclass")
return $this->getClassDocFromClass($argument);
elseif(is_string($argument))
return $this->getClassDocFromFile($argument);
else
return false;
}
/**
* Returns class documentation as a string, formatted in HTML
* @method getClassDocFromClass
* @param object objClass
* @returns string HTML-formatted documentation if successful, false otherwise
*/
function getClassDocFromClass($objClass) {
if(is_object($objClass) && get_class($objClass) == "phpclass") {
$classDocXML = new XML_("html");
// ---------------------- HEAD ---------------------- //
$headXML = new XMLBranch("head");
$headXML->setTagContent($objClass->getInfo("name"), "head/title");
$headXML->setTagContent("", "head/meta");
$headXML->setTagAttribute("http-equiv", "content-type", "head/meta");
$headXML->setTagAttribute("content", "text/html; charset=ISO-8859-1", "head/meta");
$headXML->setTagContent($this->CSSStringDefault, "head/style");
$headXML->setTagAttribute("type", "text/css", "head/style");
// ---------------------- BODY ---------------------- //
$bodyXML = new XMLBranch("body");
$classTitleXML = new XMLBranch("h1");
$classTitleXML->setTagAttribute("class", "classTitle");
$classTitleXML->setTagContent($objClass->getInfo("name") . " Class");
$bodyXML->addXMLBranch($classTitleXML);
foreach($objClass->info as $infoKey => $infoValue) {
$brXML = new XMLBranch("br");
$bodyXML->addXMLBranch($brXML);
if(is_array($infoValue)) {
$spanXML = new XMLBranch("span");
$spanXML->setTagAttribute("class", $infoKey);
$spanXML->setTagContent(ucfirst($infoKey) . ":");
$ulXML = new XMLBranch("ul");
$ulXML->setTagAttribute("class", $infoKey);
foreach($infoValue as $value) {
$liXML = new XMLBranch("li");
$liXML->setTagContent($value);
$ulXML->addXMLBranch($liXML);
}
$bodyXML->addXMLBranch($spanXML);
$bodyXML->addXMLBranch($ulXML);
}
else {
$spanXML = new XMLBranch("span");
$spanXML->setTagAttribute("class", $infoKey);
$spanXML->setTagContent(ucfirst($infoKey) . ": " . $infoValue);
$bodyXML->addXMLBranch($spanXML);
}
}
$hrXML = new XMLBranch("hr");
$bodyXML->addXMLBranch($hrXML);
$h2XML = new XMLBranch("h2");
$h2XML->setTagAttribute("class", "methodsTitle");
$h2XML->setTagContent("All Methods");
$bodyXML->addXMLBranch($h2XML);
$spanXML = new XMLBranch("span");
$spanXML->setTagAttribute("class", "methodList");
foreach($objClass->methods as $methodName => $method) {
$aMethodXML = new XMLBranch("a");
$aMethodXML->setTagAttribute("href", "#" . $methodName);
$aMethodXML->setTagContent($methodName);
$brXML = new XMLBranch("br");
$spanXML->addXMLBranch($aMethodXML);
$spanXML->addXMLBranch($brXML);
}
$bodyXML->addXMLBranch($spanXML);
foreach($objClass->methods as $methodName => $method) {
$hrXML = new XMLBranch("hr");
$bodyXML->addXMLBranch($hrXML);
$pMethodXML = new XMLBranch("p");
$aMethodXML = new XMLBranch("a");
$aMethodXML->setTagAttribute("name", $methodName);
$spanXMLName = new XMLBranch("span");
$spanXMLName->setTagAttribute("class", "methodName");
$spanXMLName->setTagContent($methodName);
$spanXMLArgs = new XMLBranch("span");
$tagContentArgs = " ( ";
if(is_array($method->params) && count($method->params) > 0) {
$paramCount = 0;
foreach($method->params as $key => $value) {
if($paramCount > 0)
$tagContentArgs .= ", ";
$tagContentArgs .= $key;
$paramCount ++;
}
}
$tagContentArgs .= " )";
$spanXMLArgs->setTagContent($tagContentArgs);
$aMethodXML->addXMLBranch($spanXMLName);
$aMethodXML->addXMLBranch($spanXMLArgs);
$pMethodXML->addXMLBranch($aMethodXML);
$bodyXML->addXMLBranch($pMethodXML);
unset($method->info["name"]);
foreach($method->info as $infoKey => $infoValue) {
if(is_array($infoValue)) {
$pXML = new XMLBranch("p");
$pXML->setTagAttribute("class", $infoKey);
$pXML->setTagContent(ucfirst($infoKey) . ":");
$ulXML = new XMLBranch("ul");
$ulXML->setTagAttribute("class", $infoKey);
foreach($infoValue as $value) {
$liXML = new XMLBranch("li");
$liXML->setTagContent($value);
$ulXML->addXMLBranch($liXML);
}
$bodyXML->addXMLBranch($pXML);
$bodyXML->addXMLBranch($ulXML);
}
else {
$pXML = new XMLBranch("p");
$pXML->setTagAttribute("class", $infoKey);
$pXML->setTagContent(ucfirst($infoKey) . ": " . $infoValue);
$bodyXML->addXMLBranch($pXML);
}
}
if(is_array($method->params) && count($method->params) > 0) {
$pParamXML = new XMLBranch("p");
//$pParamXML->setTagAttribute("class", "param");
$paramTitleXML = new XMLBranch("span");
$paramTitleXML->setTagContent("Arguments:");
$pParamXML->addXMLBranch($paramTitleXML);
$paramListXML = new XMLBranch("ul");
foreach($method->params as $key => $value) {
$paramItemXML = new XMLBranch("li");
$paramItemXML->setTagAttribute("class", "param");
$paramItemXML->setTagContent($key);
$paramListXML->addXMLBranch($paramItemXML);
}
$pParamXML->addXMLBranch($paramListXML);
$bodyXML->addXMLBranch($pParamXML);
}
}
// ---------------------- END ---------------------- //
$classDocXML->addXMLBranch($headXML);
$classDocXML->addXMLBranch($bodyXML);
return $classDocXML->getXMLString(0);
}
else
return false;
}
/**
* Returns class documentation as a string, formatted in HTML
* @method getClassDocFromFile
* @param string filename
* @returns string HTML-formatted documentation if successful, false otherwise
*/
function getClassDocFromFile($filename) {
if(is_string($filename) && file_exists($filename) && is_readable($filename)) {
$objClass = new PHPClass($filename);
return $this->getClassDocFromClass($objClass);
}
else
return false;
}
}

View File

@@ -0,0 +1,83 @@
<?php
/*
This file is part of ActiveLink PHP DOC Package (www.active-link.com).
Copyright (c) 2002-2004 by Zurab Davitiani
You can contact the author of this software via E-mail at
hattrick@mailcan.com
ActiveLink PHP DOC Package is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.
ActiveLink PHP DOC Package is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with ActiveLink PHP DOC Package; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
/**
* Method class complements PHPClass and is used to define a class method
* @class Method
* @package org.active-link.doc
* @author Zurab Davitiani
* @version 0.3.4
* @see PHPClass
*/
class Method {
var $params;
var $info;
/**
* Constructor, runs when new object instance is created, sets name of the method
* @method Method
* @param string name
*/
function Method($name) {
$this->info = array();
$this->params = array();
$this->setInfo("name", $name);
}
/**
* Returns value of a property by name
* @method getInfo
* @param string name
* @returns string value of a property if found, false otherwise
*/
function getInfo($name) {
if(array_key_exists($name, $this->info))
return $this->info[$name];
else
return false;
}
/**
* Sets a property with supplied name to a supplied value
* @method setInfo
* @param string name, string value
* @returns none
*/
function setInfo($name, $value) {
$this->info[$name] = $value;
}
/**
* Sets a parameter with supplied name and value
* @method setParam
* @param string name, string value
* @returns none
*/
function setParam($name, $value) {
$this->params[$name] = $value;
}
}

View File

@@ -0,0 +1,195 @@
<?php
/*
This file is part of ActiveLink PHP DOC Package (www.active-link.com).
Copyright (c) 2002-2004 by Zurab Davitiani
You can contact the author of this software via E-mail at
hattrick@mailcan.com
ActiveLink PHP DOC Package is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.
ActiveLink PHP DOC Package is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with ActiveLink PHP DOC Package; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
/**
* PHPClass class provides a structural definition for a class
* @class PHPClass
* @package org.active-link.doc
* @author Zurab Davitiani
* @version 0.3.4
* @requires Method
* @see PHPClass
*/
class PHPClass {
var $methods;
var $properties;
var $info;
/**
* Constructor, if filename is supplied parses the file into the object
* @method PHPClass
* @param optional string filename
* @returns none
*/
function PHPClass($filename = "") {
$this->methods = array();
$this->properties = array();
$this->info = array();
if($filename != "")
$this->parseFromFile($filename);
}
/**
* Deletes a property by name
* @method deleteInfo
* @param string name
* @returns true if successful, false otherwise
*/
function deleteInfo($name) {
$success = false;
if(array_key_exists($name, $this->info)) {
unset($this->info[$name]);
$success = true;
}
return $success;
}
/**
* Returns a property value by name
* @method getInfo
* @param string name
* @returns string value if successful, false otherwise
*/
function getInfo($name) {
if(array_key_exists($name, $this->info))
return $this->info[$name];
else
return false;
}
/**
* Parses a class from supplied filename
* @method parseFromFile
* @param string filename
* @returns true if successful, false otherwise
*/
function parseFromFile($filename) {
$success = false;
if(file_exists($filename) && is_readable($filename)) {
$arrContents = file($filename);
$parsing = false;
$parsingBlocks = array();
$tempBlock = array();
foreach($arrContents as $line) {
if(trim($line) == "/**") {
$parsing = true;
$blockstart = true;
}
elseif($parsing && trim($line) == "*/") {
$parsing = false;
$parsingBlocks[] = $tempBlock;
$tempBlock = array();
}
else {
if($parsing) {
if($blockstart) {
$tempBlock[] = $line;
$blockstart = false;
}
else {
$tempBlock[] = $line;
}
}
}
}
foreach($parsingBlocks as $blockLines) {
$block = array();
foreach($blockLines as $line) {
$str = strstr($line, "@");
$str = substr($str, 1);
if($str !== false) {
$separatorPos = (strpos($str, " ") && strpos($str, "\t")) ? min(strpos($str, " "), strpos($str, "\t")) : (strpos($str, " ") ? strpos($str, " ") : (strpos($str, "\t") ? strpos($str, "\t") : strlen($str)));
$name = trim(substr($str, 0, $separatorPos));
$value = trim(substr($str, $separatorPos));
}
else {
$name = "description";
$value = trim($line);
}
if($name == "param" || $name == "description")
$block[$name][] = $value;
else
$block[$name] = $value;
}
//print("<pre>");
//print_r($block);
//print("</pre>");
if(array_key_exists("method", $block)) {
$tempMethod = new Method($block["method"]);
unset($block["method"]);
if(isset($block["param"]) && is_array($block["param"])) {
foreach($block["param"] as $param) {
$tempMethod->setParam($param, "");
}
}
unset($block["param"]);
foreach($block as $name => $value) {
$tempMethod->setInfo($name, $value);
}
$this->setMethod($tempMethod);
}
elseif(array_key_exists("class", $block)) {
$this->setInfo("name", $block["class"]);
unset($block["class"]);
foreach($block as $name => $value) {
$this->setInfo($name, $value);
}
}
}
$success = true;
}
return $success;
}
/**
* Sets a property by name
* @method setInfo
* @param string name, string value
* @returns none
*/
function setInfo($name, $value) {
$this->info[$name] = $value;
}
/**
* Adds a method to the class definition
* @method setMethod
* @param object method
* @returns true if successful, false otherwise
*/
function setMethod($method) {
$success = false;
if(is_object($method) && get_class($method) == "Method") {
$this->methods[$method->getInfo("name")] = $method;
$success = true;
}
return $success;
}
}
?>

View File

@@ -396,11 +396,24 @@ class AdditionalTables extends BaseAdditionalTables
} }
} }
public function getAllData($sUID, $start = null, $limit = null, $keyOrderUppercase = true, $filter = '', $appUid = false, $search = '') /**
* Get all data
*
* @param string $uid
* @param int $start
* @param int $limit
* @param bool $keyOrderUppercase
* @param string $filter
* @param bool $appUid
* @param string $search
*
* @return array
*/
public static function getAllData($uid, $start = null, $limit = null, $keyOrderUppercase = true, $filter = '', $appUid = false, $search = '')
{ {
$conf = Bootstrap::getSystemConfiguration(); $conf = Bootstrap::getSystemConfiguration();
$addTab = new AdditionalTables(); $addTab = new AdditionalTables();
$aData = $addTab->load($sUID, true); $aData = $addTab->load($uid, true);
if (!isset($_SESSION['PROCESS'])) { if (!isset($_SESSION['PROCESS'])) {
$_SESSION["PROCESS"] = $aData['PRO_UID']; $_SESSION["PROCESS"] = $aData['PRO_UID'];
} }

View File

@@ -37,6 +37,7 @@ use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Log;
use InputDocument; use InputDocument;
use InvalidIndexSearchTextException; use InvalidIndexSearchTextException;
use Luracast\Restler\RestException;
use PmDynaform; use PmDynaform;
use PmTable; use PmTable;
use ProcessMaker\BusinessModel\Cases as BmCases; use ProcessMaker\BusinessModel\Cases as BmCases;
@@ -57,6 +58,7 @@ use ProcessMaker\Model\Triggers;
use ProcessMaker\Model\ProcessUser; use ProcessMaker\Model\ProcessUser;
use ProcessMaker\Model\User; use ProcessMaker\Model\User;
use ProcessMaker\Plugins\PluginRegistry; use ProcessMaker\Plugins\PluginRegistry;
use ProcessMaker\Services\Api;
use ProcessMaker\Services\OAuth2\Server; use ProcessMaker\Services\OAuth2\Server;
use ProcessMaker\Util\DateTime as UtilDateTime; use ProcessMaker\Util\DateTime as UtilDateTime;
use ProcessMaker\Validation\ExceptionRestApi; use ProcessMaker\Validation\ExceptionRestApi;
@@ -2640,7 +2642,7 @@ class Cases
* @param string $typeView type of view * @param string $typeView type of view
* *
* @return array Return an array with process list that the user can start. * @return array Return an array with process list that the user can start.
* @throws Exception * @throws RestException
*/ */
public function getCasesListStarCase($usrUid, $typeView) public function getCasesListStarCase($usrUid, $typeView)
{ {

View File

@@ -353,7 +353,10 @@ class TriggerWizard
$library = $this->library->getLibraryDefinition($this->libraryGetLibraryName($libraryName)); $library = $this->library->getLibraryDefinition($this->libraryGetLibraryName($libraryName));
$method = $library->methods[$methodName]; $method = $library->methods[$methodName];
$arrayParameter = array_keys($method->params); $arrayParameter = [];
if (isset($method->params)) {
$arrayParameter = array_keys($method->params);
}
foreach ($arrayParameter as $key => $value) { foreach ($arrayParameter as $key => $value) {
$strParam = $value; $strParam = $value;
@@ -796,7 +799,7 @@ class TriggerWizard
public function getMethod($libraryName, $methodName) public function getMethod($libraryName, $methodName)
{ {
try { try {
$arrayMethod = array(); $arrayMethod = [];
//Verify data //Verify data
$arrayMethodInputParam = $this->methodGetInputParams($libraryName, $methodName); $arrayMethodInputParam = $this->methodGetInputParams($libraryName, $methodName);
@@ -805,10 +808,9 @@ class TriggerWizard
//Get data //Get data
$library = $this->library->getLibraryDefinition($this->libraryGetLibraryName($libraryName)); $library = $this->library->getLibraryDefinition($this->libraryGetLibraryName($libraryName));
$method = $library->methods[$methodName]; $method = $library->methods[$methodName];
$arrayMethod[$this->getFieldNameByFormatFieldName("FN_NAME")] = isset($method->info["name"]) ? trim($method->info["name"]) : '';
$arrayMethod[$this->getFieldNameByFormatFieldName("FN_NAME")] = trim($method->info["name"]); $arrayMethod[$this->getFieldNameByFormatFieldName("FN_DESCRIPTION")] = isset($method->info["description"]) ? trim(str_replace("*", "", implode("", $method->info["description"]))) : '';
$arrayMethod[$this->getFieldNameByFormatFieldName("FN_DESCRIPTION")] = trim(str_replace("*", "", implode("", $method->info["description"]))); $arrayMethod[$this->getFieldNameByFormatFieldName("FN_LABEL")] = isset($method->info["label"]) ? trim($method->info["label"]) : '';
$arrayMethod[$this->getFieldNameByFormatFieldName("FN_LABEL")] = trim($method->info["label"]);
$arrayMethod[$this->getFieldNameByFormatFieldName("FN_LINK")] = (isset($method->info["link"]) && trim($method->info["link"]) != "")? trim($method->info["link"]) : ""; $arrayMethod[$this->getFieldNameByFormatFieldName("FN_LINK")] = (isset($method->info["link"]) && trim($method->info["link"]) != "")? trim($method->info["link"]) : "";
if ($this->formatFieldNameInUppercase) { if ($this->formatFieldNameInUppercase) {
@@ -841,7 +843,7 @@ class TriggerWizard
public function getLibrary($libraryName) public function getLibrary($libraryName)
{ {
try { try {
$arrayLibrary = array(); $arrayLibrary = [];
//Verify data //Verify data
$this->throwExceptionIfNotExistsLibrary($libraryName, $this->arrayFieldNameForException["libraryName"]); $this->throwExceptionIfNotExistsLibrary($libraryName, $this->arrayFieldNameForException["libraryName"]);
@@ -850,12 +852,12 @@ class TriggerWizard
$library = $this->library->getLibraryDefinition($this->libraryGetLibraryName($libraryName)); $library = $this->library->getLibraryDefinition($this->libraryGetLibraryName($libraryName));
$arrayLibrary[$this->getFieldNameByFormatFieldName("LIB_NAME")] = $libraryName; $arrayLibrary[$this->getFieldNameByFormatFieldName("LIB_NAME")] = $libraryName;
$arrayLibrary[$this->getFieldNameByFormatFieldName("LIB_TITLE")] = trim($library->info["name"]); $arrayLibrary[$this->getFieldNameByFormatFieldName("LIB_TITLE")] = isset($library->info["name"]) ? trim($library->info["name"]) : '';
$arrayLibrary[$this->getFieldNameByFormatFieldName("LIB_DESCRIPTION")] = trim(str_replace("*", "", implode("", $library->info["description"]))); $arrayLibrary[$this->getFieldNameByFormatFieldName("LIB_DESCRIPTION")] = isset($library->info["description"]) ? trim(str_replace("*", "", implode("", $library->info["description"]))) : '';
$arrayLibrary[$this->getFieldNameByFormatFieldName("LIB_ICON")] = (isset($library->info["icon"]) && trim($library->info["icon"]) != "")? trim($library->info["icon"]) : "/images/browse.gif"; $arrayLibrary[$this->getFieldNameByFormatFieldName("LIB_ICON")] = (isset($library->info["icon"]) && trim($library->info["icon"]) != "")? trim($library->info["icon"]) : "/images/browse.gif";
$arrayLibrary[$this->getFieldNameByFormatFieldName("LIB_CLASS_NAME")] = trim($library->info["className"]); $arrayLibrary[$this->getFieldNameByFormatFieldName("LIB_CLASS_NAME")] = trim($library->info["className"]);
$arrayMethod = array(); $arrayMethod = [];
if (count($library->methods) > 0) { if (count($library->methods) > 0) {
ksort($library->methods, SORT_STRING); ksort($library->methods, SORT_STRING);

View File

@@ -1517,12 +1517,13 @@ class System
//Test Create Database //Test Create Database
$dbNameTest = 'PROCESSMAKERTESTDC'; $dbNameTest = 'PROCESSMAKERTESTDC';
$result = DB::connection($connection)->statement("CREATE DATABASE $dbNameTest"); $result = DB::connection($connection)->statement("CREATE DATABASE IF NOT EXISTS $dbNameTest");
if ($result) { if ($result) {
//Test set permissions user //Test set permissions user
$usrTest = self::generateUserName(strlen($userName)); $usrTest = self::generateUserName(strlen($userName));
$passTest = '!Sample123_'; $passTest = '!Sample123_';
$result = DB::connection($connection)->statement("GRANT ALL PRIVILEGES ON `$dbNameTest`.* TO $usrTest@'%%' IDENTIFIED BY '$passTest' WITH GRANT OPTION"); $result = DB::connection($connection)->statement("CREATE USER `$usrTest`@`%%` IDENTIFIED BY '$passTest'");
$result = DB::connection($connection)->statement("GRANT ALL PRIVILEGES ON `$dbNameTest`.* TO `$usrTest`@`%%`");
if ($result) { if ($result) {
//Test Create user //Test Create user

2
workflow/engine/xmlform/tracker/loginpm3.html Normal file → Executable file
View File

@@ -6,7 +6,7 @@
<label class="panel-login"> <label class="panel-login">
<div class="login_result"><h4>{$form.TITLE}</h4></div> <div class="login_result"><h4>{$form.TITLE}</h4></div>
</label> </label>
{$form.USR_USERNAME} {if isset($form.USR_USERNAME)}{$form.USR_USERNAME}{/if}
{$form.CASE} {$form.CASE}
{$form.PIN} {$form.PIN}

View File

@@ -1132,7 +1132,7 @@ if (!defined('EXECUTE_BY_CRON')) {
header('Pragma: '); header('Pragma: ');
} }
ob_end_flush(); @ob_end_flush();
if (DEBUG_TIME_LOG) { if (DEBUG_TIME_LOG) {
bootstrap::logTimeByPage(); //log this page bootstrap::logTimeByPage(); //log this page
} }