Merge remote branch 'upstream/master' into EP-2183
This commit is contained in:
2719
apiary.apib
2719
apiary.apib
File diff suppressed because it is too large
Load Diff
@@ -90,10 +90,12 @@ $filesCollection = array(
|
||||
"colosa/michelangelofe/build/css/mafe.css" => "mafe/mafe.css",
|
||||
"colosa/michelangelofe/build/img/*" => "img/",
|
||||
// pmui
|
||||
"colosa/pmui/libraries/jquery.layout/jquery.layout.min.js" => "js/jquery.layout.min.js",
|
||||
"colosa/pmui/libraries/jquery.layout/LayoutPanel.css" => "css/jquery.layout.css",
|
||||
"colosa/pmui/libraries/jquery-ui/js/jquery-ui-1.10.3.custom.min.js" => "js/jquery-ui-1.10.3.custom.min.js",
|
||||
"colosa/pmui/libraries/jquery-ui/css/css-customized/jquery-ui-1.10.3.custom.css" => "css/jquery-ui-1.10.3.custom.min.css",
|
||||
"colosa/pmui/libraries/dataTables/css/jquery.dataTables.css" => "css/jquery.dataTables.css",
|
||||
"colosa/pmui/libraries/jquery.layout/jquery.layout.min.js" => "js/jquery.layout.min.js",
|
||||
"colosa/pmui/libraries/jquery-ui/js/jquery-ui-1.10.3.custom.min.js" => "js/jquery-ui-1.10.3.custom.min.js",
|
||||
"colosa/pmui/libraries/dataTables/js/jquery.dataTables.min.js" => "js/jquery.dataTables.min.js",
|
||||
|
||||
"colosa/pmui/build/js/min/pmui-1.0.0.min.js" => "pmUI/pmui-1.0.0.js",
|
||||
"colosa/pmui/build/css/pmui-1.0.0.css" => "pmUI/pmui-1.0.0.css",
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -6,7 +6,8 @@ class Api
|
||||
private static $workspace;
|
||||
private static $userId;
|
||||
|
||||
const SYSTEM_EXCEPTION_STATUS = 500;
|
||||
const STAT_CREATED = 201;
|
||||
const STAT_APP_EXCEPTION = 400;
|
||||
|
||||
public function __costruct()
|
||||
{
|
||||
|
||||
243
workflow/engine/classes/class.fieldValidator.php
Normal file
243
workflow/engine/classes/class.fieldValidator.php
Normal file
@@ -0,0 +1,243 @@
|
||||
<?php
|
||||
class FieldValidator
|
||||
{
|
||||
/**
|
||||
* Checks if value of an variable is integer number
|
||||
*
|
||||
* @param int $num The variable being evaluated
|
||||
*
|
||||
* @return bool Returns true if $num is an integer, false otherwise
|
||||
*/
|
||||
public static function isInt($num)
|
||||
{
|
||||
$num = $num . "";
|
||||
|
||||
return (preg_match("/^[\+\-]?(?:0|[1-9]\d*)$/", $num))? true : false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if value of an variable is real number
|
||||
*
|
||||
* @param float $num The variable being evaluated
|
||||
*
|
||||
* @return bool Returns true if $num is an real, false otherwise
|
||||
*/
|
||||
public static function isReal($num)
|
||||
{
|
||||
$num = $num . "";
|
||||
|
||||
return (preg_match("/^[\+\-]?(?:0|[1-9]\d*)(?:\.\d+)?$/", $num))? true : false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if value of an variable is boolean
|
||||
*
|
||||
* @param bool $bool The variable being evaluated
|
||||
*
|
||||
* @return bool Returns true if $bool is an boolean, false otherwise
|
||||
*/
|
||||
public static function isBool($bool)
|
||||
{
|
||||
if (is_bool($bool) === true) {
|
||||
return true;
|
||||
}
|
||||
|
||||
$bool = $bool . "";
|
||||
|
||||
return (preg_match("/^(?:true|false)$/i", $bool))? true : false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if value of an variable have valid URL format
|
||||
*
|
||||
* @param string $url The variable being evaluated
|
||||
*
|
||||
* @return bool Returns true if $bool have valid URL format, false otherwise
|
||||
*/
|
||||
public static function isUrl($url)
|
||||
{
|
||||
return (preg_match("/(((^https?)|(^ftp)):\/\/([\-\w]+\.)+\w{2,3}(\/[%\-\w]+(\.\w{2,})?)*(([\w\-\.\?\/+\\@&#;`~=%!]*)(\.\w{2,})?)*\/?)/i", $url))? true : false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if value of an variable have valid email format
|
||||
*
|
||||
* @param string $email The variable being evaluated
|
||||
*
|
||||
* @return bool Returns true if $bool have valid email format, false otherwise
|
||||
*/
|
||||
public static function isEmail($email)
|
||||
{
|
||||
return (preg_match("/^(\w+)([\-+.\'][\w]+)*@(\w[\-\w]*\.){1,5}([A-Za-z]){2,6}$/", $email))? true : false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if value of an variable have valid IP format
|
||||
*
|
||||
* @param string $ip The variable being evaluated
|
||||
*
|
||||
* @return bool Returns true if $bool have valid IP format, false otherwise
|
||||
*/
|
||||
public static function isIp($ip)
|
||||
{
|
||||
return (preg_match("/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/", $ip))? true : false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate fields
|
||||
*
|
||||
* @param array $arrayData Fields to be validate
|
||||
* @param array $arrayDataValidators Validator for each field
|
||||
*
|
||||
* @return array Returns an array with key "succes" in true or false
|
||||
*/
|
||||
public static function validate($arrayData, $arrayDataValidators)
|
||||
{
|
||||
$result = array();
|
||||
$arrayError = array();
|
||||
|
||||
$result["success"] = true;
|
||||
|
||||
try {
|
||||
if (!is_array($arrayData)) {
|
||||
throw (new Exception("Fields no is array"));
|
||||
}
|
||||
|
||||
if (!is_array($arrayDataValidators)) {
|
||||
throw (new Exception("Validators no is array"));
|
||||
}
|
||||
|
||||
if (count($arrayData) == 0) {
|
||||
throw (new Exception("Fields is empty"));
|
||||
}
|
||||
|
||||
if (count($arrayDataValidators) == 0) {
|
||||
throw (new Exception("Validators is empty"));
|
||||
}
|
||||
|
||||
foreach ($arrayDataValidators as $key1 => $value1) {
|
||||
$field = $key1;
|
||||
$arrayValidators = $value1;
|
||||
|
||||
if (is_array($arrayValidators) && count($arrayValidators) > 0) {
|
||||
if (isset($arrayValidators["type"])) {
|
||||
if (isset($arrayData[$field])) {
|
||||
switch ($arrayValidators["type"]) {
|
||||
case "int":
|
||||
if (!self::isInt($arrayData[$field])) {
|
||||
$result["success"] = false;
|
||||
|
||||
$arrayError[] = str_replace(
|
||||
array("{0}"),
|
||||
array($field),
|
||||
"Field \"{0}\" not is an integer number"
|
||||
);
|
||||
}
|
||||
break;
|
||||
case "real":
|
||||
if (!self::isReal($arrayData[$field])) {
|
||||
$result["success"] = false;
|
||||
|
||||
$arrayError[] = str_replace(
|
||||
array("{0}"),
|
||||
array($field),
|
||||
"Field \"{0}\" not is an real number"
|
||||
);
|
||||
}
|
||||
break;
|
||||
case "bool":
|
||||
case "boolean":
|
||||
if (!self::isBool($arrayData[$field])) {
|
||||
$result["success"] = false;
|
||||
|
||||
$arrayError[] = str_replace(
|
||||
array("{0}"),
|
||||
array($field),
|
||||
"Field \"{0}\" not is an boolean"
|
||||
);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
//string
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (isset($arrayValidators["validation"])) {
|
||||
if (isset($arrayData[$field])) {
|
||||
switch ($arrayValidators["validation"]) {
|
||||
case "url":
|
||||
if (!self::isUrl($arrayData[$field])) {
|
||||
$result["success"] = false;
|
||||
|
||||
$arrayError[] = str_replace(
|
||||
array("{0}"),
|
||||
array($field),
|
||||
"Field \"{0}\" have not an valid URL format"
|
||||
);
|
||||
}
|
||||
break;
|
||||
case "email":
|
||||
if (!self::isEmail($arrayData[$field])) {
|
||||
$result["success"] = false;
|
||||
|
||||
$arrayError[] = str_replace(
|
||||
array("{0}"),
|
||||
array($field),
|
||||
"Field \"{0}\" have not an valid email format"
|
||||
);
|
||||
}
|
||||
break;
|
||||
case "ip":
|
||||
if (!self::isIp($arrayData[$field])) {
|
||||
$result["success"] = false;
|
||||
|
||||
$arrayError[] = str_replace(
|
||||
array("{0}"),
|
||||
array($field),
|
||||
"Field \"{0}\" have not an valid IP format"
|
||||
);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (isset($arrayValidators["min_size"])) {
|
||||
if (isset($arrayData[$field]) && !(strlen($arrayData[$field] . "") >= (int)($arrayValidators["min_size"]))) {
|
||||
$result["success"] = false;
|
||||
|
||||
$arrayError[] = str_replace(
|
||||
array("{0}", "{1}", "{2}"),
|
||||
array($field, $arrayValidators["min_size"], strlen($arrayData[$field] . "")),
|
||||
"Field \"{0}\" should be min {1} chars, {2} given"
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
if (isset($arrayValidators["required"])) {
|
||||
if ($arrayValidators["required"] && (!isset($arrayData[$field]) || (isset($arrayData[$field]) && $arrayData[$field] . "" == ""))) {
|
||||
$result["success"] = false;
|
||||
|
||||
$arrayError[] = str_replace(
|
||||
array("{0}"),
|
||||
array($field),
|
||||
"Field \"{0}\" is required"
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
$arrayError[] = $e->getMessage();
|
||||
|
||||
$result["success"] = false;
|
||||
}
|
||||
|
||||
$result["errors"] = $arrayError;
|
||||
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,32 +0,0 @@
|
||||
<?php
|
||||
namespace Services\Api\ProcessMaker;
|
||||
|
||||
class Application extends \ProcessMaker\Api
|
||||
{
|
||||
/**
|
||||
* Sample api protected with OAuth2
|
||||
*
|
||||
* For testing the oAuth token
|
||||
*
|
||||
* @access protected
|
||||
*/
|
||||
public function get($id)
|
||||
{
|
||||
$data = array(
|
||||
'USSER_LOGGED' => $this->getUserId(),
|
||||
"APP_UID" => $id,
|
||||
"PRO_UID" => "13885168416038181883131343548151",
|
||||
"DUMMY" => "sample data",
|
||||
"WS" => $this->getWorkspace()
|
||||
);
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
public function post($requestData = null)
|
||||
{
|
||||
$requestData['processed'] = true;
|
||||
|
||||
return $requestData;
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,10 @@ namespace Services\Api\ProcessMaker;
|
||||
use \ProcessMaker\Api;
|
||||
use \Luracast\Restler\RestException;
|
||||
|
||||
//TODO we need Refactor this class
|
||||
|
||||
/**
|
||||
*
|
||||
* Process Api Controller
|
||||
*
|
||||
* @protected
|
||||
@@ -36,7 +39,7 @@ class Process extends Api
|
||||
return $response;
|
||||
|
||||
} catch (\Exception $e) {
|
||||
throw new RestException(Api::SYSTEM_EXCEPTION_STATUS, $e->getMessage());
|
||||
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -54,7 +57,7 @@ class Process extends Api
|
||||
$response["message"] = "Process load successfully";
|
||||
$response["data"] = $data;
|
||||
} catch (\Exception $e) {
|
||||
throw new RestException(Api::SYSTEM_EXCEPTION_STATUS, $e->getMessage());
|
||||
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
|
||||
}
|
||||
|
||||
return $response;
|
||||
@@ -71,7 +74,7 @@ class Process extends Api
|
||||
return $process->createProcess($userUid, $request_data);
|
||||
|
||||
} catch (\Exception $e) {
|
||||
throw new RestException(Api::SYSTEM_EXCEPTION_STATUS, $e->getMessage());
|
||||
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -90,7 +93,7 @@ class Process extends Api
|
||||
$response["message"] = "Process updated successfully";
|
||||
$response["data"] = $data;
|
||||
} catch (\Exception $e) {
|
||||
throw new RestException(Api::SYSTEM_EXCEPTION_STATUS, $e->getMessage());
|
||||
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
|
||||
}
|
||||
|
||||
return $response;
|
||||
@@ -109,7 +112,7 @@ class Process extends Api
|
||||
$response["success"] = true;
|
||||
$response["message"] = "Process was deleted successfully";
|
||||
} catch (\Exception $e) {
|
||||
throw new RestException(Api::SYSTEM_EXCEPTION_STATUS, $e->getMessage());
|
||||
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
|
||||
}
|
||||
|
||||
return $response;
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
<?php
|
||||
namespace Services\Api\ProcessMaker;
|
||||
namespace Services\Api\ProcessMaker\Project;
|
||||
|
||||
use \ProcessMaker\Api;
|
||||
use \Luracast\Restler\RestException;
|
||||
|
||||
/**
|
||||
* ProjectActivity Api Controller
|
||||
* Project\Activity Api Controller
|
||||
*
|
||||
* @protected
|
||||
*/
|
||||
class ProjectActivity extends Api
|
||||
class Activity extends Api
|
||||
{
|
||||
/**
|
||||
* @url GET /:projectUid/activity/:activityUid
|
||||
@@ -44,7 +44,7 @@ class ProjectActivity extends Api
|
||||
|
||||
return $response;
|
||||
} catch (\Exception $e) {
|
||||
throw new RestException(Api::SYSTEM_EXCEPTION_STATUS, $e->getMessage());
|
||||
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -59,7 +59,7 @@ class ProjectActivity extends Api
|
||||
$task = new \BusinessModel\Task();
|
||||
$properties = $task->updateProperties($activityUid, $projectUid, $request_data);
|
||||
} catch (\Exception $e) {
|
||||
throw new RestException(Api::SYSTEM_EXCEPTION_STATUS, $e->getMessage());
|
||||
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -74,7 +74,7 @@ class ProjectActivity extends Api
|
||||
$task = new \BusinessModel\Task();
|
||||
$task->deleteTask($activityUid);
|
||||
} catch (\Exception $e) {
|
||||
throw new RestException(Api::SYSTEM_EXCEPTION_STATUS, $e->getMessage());
|
||||
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4,4 +4,4 @@
|
||||
|
||||
[alias]
|
||||
test = "Services\Api\ProcessMaker\Test2"
|
||||
project = "Services\Api\ProcessMaker\ProjectActivity"
|
||||
project = "Services\Api\ProcessMaker\Project\Activity"
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
<link rel="stylesheet" type="text/css" href="/lib/mafe/mafe.css">
|
||||
<link rel="stylesheet" type="text/css" href="/lib/css/jquery.layout.css">
|
||||
<link rel="stylesheet" type="text/css" href="/lib/css/jquery-ui-1.10.3.custom.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="/lib/css/jquery.dataTables.css">
|
||||
|
||||
<script type="text/javascript" src="/lib/js/wz_jsgraphics.js"></script>
|
||||
<script type="text/javascript" src="/lib/js/jquery-1.10.2.min.js"></script>
|
||||
@@ -10,6 +11,7 @@
|
||||
<script type="text/javascript" src="/lib/js/jquery-ui-1.10.3.custom.min.js"></script>
|
||||
<script type="text/javascript" src="/lib/js/jquery.layout.min.js"></script>
|
||||
<script type="text/javascript" src="/lib/js/restclient-min.js"></script>
|
||||
<script type="text/javascript" src="/lib/js/jquery.dataTables.min.js"></script>
|
||||
<script type="text/javascript" src="/lib/pmUI/pmui-1.0.0.js"></script>
|
||||
<script type="text/javascript" src="/lib/mafe/mafe.min.js"></script>
|
||||
<script type="text/javascript" src="/lib/mafe/designer.js"></script>
|
||||
|
||||
Reference in New Issue
Block a user