diff --git a/framework/src/Maveriks/WebApplication.php b/framework/src/Maveriks/WebApplication.php
index f733520b8..b8a1f3480 100644
--- a/framework/src/Maveriks/WebApplication.php
+++ b/framework/src/Maveriks/WebApplication.php
@@ -328,24 +328,24 @@ class WebApplication
//if (! class_exists($namespace)) {
require_once $classFile;
//}
-
+ //echo "****".$namespace."
";
$this->rest->addAPIClass($namespace);
}
}
// adding features extension api classes
- $featuresPath = $this->workflowDir .'engine' . DS . 'classes' . DS . 'features';
+ $featuresPath = $this->workflowDir .'engine' . DS . 'features';
// $apiDir - contains directory to scan classes and add them to Restler
$featureDirList = glob($featuresPath . "/*", GLOB_ONLYDIR);
foreach ($featureDirList as $directory) {
if ($directory == 'ViewContainers') {
continue;
}
- $featureApiClassList = Util\Common::rglob($directory . DS . 'api' . "/*");
+ $featureApiClassList = Util\Common::rglob($directory . DS . 'Services' . DS . 'Api' . "/*");
foreach ($featureApiClassList as $classFile) {
if (pathinfo($classFile, PATHINFO_EXTENSION) === 'php') {
$relClassPath = str_replace('.php', '', str_replace($servicesDir, '', $classFile));
- $namespace = 'Features\\'.basename($classFile, '.php');
+ $namespace = '\\ProcessMaker\\Services\\Api\\'.basename($classFile, '.php');
$namespace = strpos($namespace, "//") === false? $namespace: str_replace("//", '', $namespace);
require_once $classFile;
$this->rest->addAPIClass($namespace);
@@ -430,6 +430,7 @@ class WebApplication
define("PATH_XMLFORM", PATH_CORE . "xmlform" . PATH_SEP);
define("PATH_CONFIG", PATH_CORE . "config" . PATH_SEP);
define("PATH_PLUGINS", PATH_CORE . "plugins" . PATH_SEP);
+ define("PATH_FEATURES", PATH_CORE . "features" . PATH_SEP);
define("PATH_HTMLMAIL", PATH_CORE . "html_templates" . PATH_SEP);
define("PATH_TPL", PATH_CORE . "templates" . PATH_SEP);
define("PATH_TEST", PATH_CORE . "test" . PATH_SEP);
diff --git a/rbac/engine/config/paths.php b/rbac/engine/config/paths.php
index 440731e86..501659baf 100755
--- a/rbac/engine/config/paths.php
+++ b/rbac/engine/config/paths.php
@@ -50,6 +50,7 @@
define( 'PATH_METHODS', PATH_CORE . 'methods' . PATH_SEP );
define( 'PATH_XMLFORM', PATH_CORE . 'xmlform' . PATH_SEP );
define( 'PATH_PLUGINS', PATH_CORE . 'plugins' . PATH_SEP );
+ define( 'PATH_FEATURES', PATH_CORE . 'features' . PATH_SEP );
define( 'PATH_HTMLMAIL', PATH_CORE . 'html_templates' . PATH_SEP );
define( 'PATH_TPL', PATH_CORE . 'templates' . PATH_SEP );
define( 'PATH_TEST', PATH_CORE . 'test' . PATH_SEP );
diff --git a/workflow/engine/classes/features/ActionsByEmail/api/ActionsByEmail.php b/workflow/engine/classes/features/ActionsByEmail/api/ActionsByEmail.php
deleted file mode 100644
index 506111ce7..000000000
--- a/workflow/engine/classes/features/ActionsByEmail/api/ActionsByEmail.php
+++ /dev/null
@@ -1,29 +0,0 @@
-
- * @protected
- */
-class ActionsByEmail extends Api
-{
- /**
- * @url GET
- */
- public function getABEList()
- {
- try {
- $projects = array('status' => 200, 'message' => 'Hello');
- return $projects;
- } catch (\Exception $e) {
- throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
- }
- }
-}
-
diff --git a/workflow/engine/controllers/installer.php b/workflow/engine/controllers/installer.php
index 59049ce12..7c780bc20 100755
--- a/workflow/engine/controllers/installer.php
+++ b/workflow/engine/controllers/installer.php
@@ -38,7 +38,7 @@ class Installer extends Controller
public function index ($httpData)
{
- if ((strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') && (file_exists($this->path_shared . 'partner.info'))){
+ if ((strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') && (file_exists($this->path_shared . 'partner.info'))) {
$this->includeExtJS( 'installer/stopInstall');
$this->setView( 'installer/mainStopInstall' );
G::RenderPage( 'publish', 'extJs' );
@@ -776,12 +776,14 @@ class Installer extends Controller
$this->mysqlFileQuery( PATH_RBAC_HOME . 'engine/data/mysql/schema.sql' );
$this->mysqlFileQuery( PATH_RBAC_HOME . 'engine/data/mysql/insert.sql' );
-
+
$query = sprintf( "USE %s;", $wf_workpace );
$this->mysqlQuery( $query );
$this->mysqlFileQuery( PATH_HOME . 'engine/data/mysql/schema.sql' );
$this->mysqlFileQuery( PATH_HOME . 'engine/data/mysql/insert.sql' );
-
+
+ $this->createMysqlFeatures();
+
if (defined('PARTNER_FLAG') || isset($_REQUEST['PARTNER_FLAG'])) {
$this->setPartner();
//$this->setConfiguration();
@@ -1624,5 +1626,31 @@ class Installer extends Controller
}
}
}
+
+ public function createMysqlFeatures()
+ {
+ foreach ($this->getFeatureList() as $feature) {
+ $this->mysqlFileQuery( $feature->path . '/data/schema.sql' );
+ $this->mysqlFileQuery( $feature->path . '/data/insert.sql' );
+ }
+
+ }
+
+ public function getFeatureList()
+ {
+ $invalidFolders = array('ViewContainers');
+ $featuresFolders = glob(PATH_FEATURES.'/*', GLOB_ONLYDIR);
+ $features = array();
+ foreach ($featuresFolders as $directory) {
+ $feature = new stdClass();
+ if (in_array($directory, $invalidFolders)) {
+ continue;
+ }
+ $feature->path = PATH_FEATURES . PATH_SEP . $directory;
+ $feature->name = $directory;
+ $features[] = $feature;
+ }
+ return $features;
+ }
}
diff --git a/workflow/engine/classes/features/ActionsByEmail/ActionByEmail.php b/workflow/engine/features/ActionsByEmail/ActionByEmail.php
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/ActionByEmail.php
rename to workflow/engine/features/ActionsByEmail/ActionByEmail.php
diff --git a/workflow/engine/classes/features/ActionsByEmail/ActionsByEmailFeature.php b/workflow/engine/features/ActionsByEmail/ActionsByEmailFeature.php
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/ActionsByEmailFeature.php
rename to workflow/engine/features/ActionsByEmail/ActionsByEmailFeature.php
diff --git a/workflow/engine/features/ActionsByEmail/Services/Api/ActionsByEmail.php b/workflow/engine/features/ActionsByEmail/Services/Api/ActionsByEmail.php
new file mode 100644
index 000000000..c10cb6c11
--- /dev/null
+++ b/workflow/engine/features/ActionsByEmail/Services/Api/ActionsByEmail.php
@@ -0,0 +1,520 @@
+
+ * @protected
+ */
+class ActionsByEmail extends Api
+{
+
+ /**
+ * @url GET
+ */
+ public function getABEList()
+ {
+ try {
+ $projects = array('status' => 200, 'message' => 'Hello');
+ return $projects;
+ } catch (\Exception $e) {
+ throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
+ }
+ }
+
+ /**
+ *
+ * @url GET /editTemplate
+ */
+ public function editTemplate($params)
+ {
+ // Action Validations
+ if (!isset($_REQUEST['TEMPLATE'])) {
+ $_REQUEST['TEMPLATE'] = '';
+ }
+
+ if ($_REQUEST['TEMPLATE'] == '') {
+ throw new Exception('The TEMPLATE parameter is empty.');
+ }
+
+ $data = array(
+ 'CONTENT' => file_get_contents(PATH_DATA_MAILTEMPLATES . $_REQUEST['PRO_UID'] . PATH_SEP . $_REQUEST['TEMPLATE']),
+ 'TEMPLATE' => $_REQUEST['TEMPLATE'],
+ );
+
+ global $G_PUBLISH;
+
+ $G_PUBLISH = new Publisher();
+ $G_PUBLISH->AddContent('xmlform', 'xmlform', 'actionsByEmail/actionsByEmail_FileEdit', '', $data);
+
+ G::RenderPage('publish', 'raw');
+ die();
+ }
+
+ /**
+ *
+ * @url PUT /updateTemplate
+ */
+ public function updateTemplate($params)
+ {
+ // Action Validations
+ if (!isset($_REQUEST['TEMPLATE'])) {
+ $_REQUEST['TEMPLATE'] = '';
+ }
+
+ if (!isset($_REQUEST['CONTENT'])) {
+ $_REQUEST['CONTENT'] = '';
+ }
+
+ if ($_REQUEST['TEMPLATE'] == '') {
+ throw new Exception('The TEMPLATE parameter is empty.');
+ }
+
+ $templateFile = fopen(PATH_DATA_MAILTEMPLATES . $_REQUEST['PRO_UID'] . PATH_SEP . $_REQUEST['TEMPLATE'], 'w');
+ $content = stripslashes($_REQUEST['CONTENT']);
+ $content = str_replace('@amp@', '&', $content);
+ $content = base64_decode($content);
+
+ fwrite($templateFile, $content);
+ fclose($templateFile);
+ }
+
+ /**
+ *
+ * @url GET /loadFields
+ */
+ public function loadFields($params)
+ {
+ if (!isset($_REQUEST['DYN_UID'])) {
+ $_REQUEST['DYN_UID'] = '';
+ }
+
+ if (!isset($_REQUEST['PRO_UID'])) {
+ $_REQUEST['PRO_UID'] = '';
+ }
+
+ $response->emailFields = array();
+ $response->actionFields = array();
+
+ if ($_REQUEST['PRO_UID'] != '' && $_REQUEST['DYN_UID']) {
+ $dynaform = new Form($_REQUEST['PRO_UID'] . PATH_SEP . $_REQUEST['DYN_UID'], PATH_DYNAFORM, SYS_LANG, false);
+
+ foreach ($dynaform->fields as $fieldName => $data) {
+ switch ($data->type) {
+ case 'text':
+ case 'suggest':
+ case 'hidden':
+ case 'textarea':
+ $response->emailFields[] = array('value' => $data->name, 'label' => $data->label . ' (@@' . $data->name . ')');
+ break;
+ case 'dropdown':
+ case 'radiogroup':
+ case 'yesno':
+ case 'checkbox':
+ $response->actionFields[] = array('value' => $data->name, 'label' => $data->label . ' (@@' . $data->name . ')');
+ break;
+ }
+ }
+ }
+ return $response;
+ }
+
+ /**
+ *
+ * @url PUT /saveConfiguration
+ */
+ public function saveConfiguration($params)
+ {
+ if (!isset($_REQUEST['ABE_UID'])) {
+ $_REQUEST['ABE_UID'] = '';
+ }
+
+ if (!isset($_REQUEST['PRO_UID'])) {
+ $_REQUEST['PRO_UID'] = '';
+ }
+
+ if (!isset($_REQUEST['TAS_UID'])) {
+ $_REQUEST['TAS_UID'] = '';
+ }
+
+ if (!isset($_REQUEST['ABE_TYPE'])) {
+ $_REQUEST['ABE_TYPE'] = '';
+ }
+
+ if (!isset($_REQUEST['ABE_TEMPLATE'])) {
+ $_REQUEST['ABE_TEMPLATE'] = '';
+ }
+
+ if (!isset($_REQUEST['DYN_UID'])) {
+ $_REQUEST['DYN_UID'] = '';
+ }
+
+ if (!isset($_REQUEST['ABE_EMAIL_FIELD'])) {
+ $_REQUEST['ABE_EMAIL_FIELD'] = '';
+ }
+
+ if (!isset($_REQUEST['ABE_ACTION_FIELD'])) {
+ $_REQUEST['ABE_ACTION_FIELD'] = '';
+ }
+
+ if (!isset($_REQUEST['ABE_CASE_NOTE_IN_RESPONSE'])) {
+ $_REQUEST['ABE_CASE_NOTE_IN_RESPONSE'] = 0;
+ }
+
+ if ($_REQUEST['PRO_UID'] == '') {
+ throw new Exception('The PRO_UID parameter is empty.');
+ }
+
+ if ($_REQUEST['TAS_UID'] == '') {
+ throw new Exception('The TAS_UID parameter is empty.');
+ }
+
+ require_once 'classes/model/AbeConfiguration.php';
+
+ $abeConfigurationInstance = new AbeConfiguration();
+
+ if ($_REQUEST['ABE_TYPE'] != '') {
+ if ($_REQUEST['DYN_UID'] == '') {
+ throw new Exception('The DYN_UID parameter is empty.');
+ }
+
+ try {
+ $response->ABE_UID = $abeConfigurationInstance->createOrUpdate($_REQUEST);
+ } catch (Exception $error) {
+ throw $error;
+ }
+ } else {
+ try {
+ $abeConfigurationInstance->deleteByTasUid($_REQUEST['TAS_UID']);
+ $response->ABE_UID = '';
+ } catch (Exception $error) {
+ throw $error;
+ }
+ }
+ }
+
+ /**
+ *
+ * @url GET /loadActionByEmail
+ */
+ public function loadActionByEmail($params)
+ {
+ $criteria = new Criteria();
+ $criteria->addSelectColumn('COUNT(*)');
+
+ $criteria->addJoin(AbeConfigurationPeer::ABE_UID, AbeRequestsPeer::ABE_UID);
+ $criteria->addJoin(AppDelegationPeer::APP_UID, AbeRequestsPeer::APP_UID);
+ $criteria->addJoin(AppDelegationPeer::DEL_INDEX, AbeRequestsPeer::DEL_INDEX);
+ $result = AbeConfigurationPeer::doSelectRS($criteria);
+ $result->setFetchmode(ResultSet::FETCHMODE_ASSOC);
+ $result->next();
+ $totalCount = $result->getRow();
+ $totalCount = $totalCount['COUNT(*)'];
+
+ $criteria = new Criteria();
+ $criteria->addSelectColumn(AbeConfigurationPeer::ABE_UID);
+ $criteria->addSelectColumn(AbeConfigurationPeer::PRO_UID);
+ $criteria->addSelectColumn(AbeConfigurationPeer::TAS_UID);
+ $criteria->addSelectColumn(AbeConfigurationPeer::ABE_UPDATE_DATE);
+ $criteria->addSelectColumn(AbeConfigurationPeer::ABE_TEMPLATE);
+ $criteria->addSelectColumn(AbeConfigurationPeer::ABE_ACTION_FIELD);
+ $criteria->addSelectColumn(AbeConfigurationPeer::DYN_UID);
+
+ $criteria->addSelectColumn(AbeRequestsPeer::ABE_REQ_UID);
+ $criteria->addSelectColumn(AbeRequestsPeer::APP_UID);
+ $criteria->addSelectColumn(AbeRequestsPeer::DEL_INDEX);
+ $criteria->addSelectColumn(AbeRequestsPeer::ABE_REQ_SENT_TO);
+ $criteria->addSelectColumn(AbeRequestsPeer::ABE_REQ_STATUS);
+ $criteria->addSelectColumn(AbeRequestsPeer::ABE_REQ_SUBJECT);
+ $criteria->addSelectColumn(AbeRequestsPeer::ABE_REQ_ANSWERED);
+ $criteria->addSelectColumn(AbeRequestsPeer::ABE_REQ_BODY);
+ $criteria->addSelectColumn(AbeRequestsPeer::ABE_REQ_DATE);
+
+ $criteria->addSelectColumn(ApplicationPeer::APP_NUMBER);
+
+ $criteria->addSelectColumn(AppDelegationPeer::DEL_PREVIOUS);
+
+ $criteria->addJoin(AbeConfigurationPeer::ABE_UID, AbeRequestsPeer::ABE_UID);
+ $criteria->addJoin(ApplicationPeer::APP_UID, AbeRequestsPeer::APP_UID);
+
+ $criteria->addJoin(AppDelegationPeer::APP_UID, AbeRequestsPeer::APP_UID);
+ $criteria->addJoin(AppDelegationPeer::DEL_INDEX, AbeRequestsPeer::DEL_INDEX);
+ $criteria->addDescendingOrderByColumn(AbeRequestsPeer::ABE_REQ_DATE);
+ $criteria->setLimit($_REQUEST['limit']);
+ $criteria->setOffset($_REQUEST['start']);
+ $result = AbeConfigurationPeer::doSelectRS($criteria);
+ $result->setFetchmode(ResultSet::FETCHMODE_ASSOC);
+ $data = Array();
+ $arrayPro = Array();
+ $arrayTAS = Array();
+ $index = 0;
+
+ while ($result->next()) {
+ $data[] = $result->getRow();
+ $criteriaRes = new Criteria();
+
+ $criteriaRes->addSelectColumn(AbeResponsesPeer::ABE_RES_UID);
+ $criteriaRes->addSelectColumn(AbeResponsesPeer::ABE_RES_CLIENT_IP);
+ $criteriaRes->addSelectColumn(AbeResponsesPeer::ABE_RES_DATA);
+ $criteriaRes->addSelectColumn(AbeResponsesPeer::ABE_RES_STATUS);
+ $criteriaRes->addSelectColumn(AbeResponsesPeer::ABE_RES_MESSAGE);
+
+ $criteriaRes->add(AbeResponsesPeer::ABE_REQ_UID, $data[$index]['ABE_REQ_UID']);
+
+ $resultRes = AbeResponsesPeer::doSelectRS($criteriaRes);
+ $resultRes->setFetchmode(ResultSet::FETCHMODE_ASSOC);
+ $resultRes->next();
+ $dataRes = Array();
+
+ if ($dataRes = $resultRes->getRow()) {
+ $data[$index]['ABE_RES_UID'] = $dataRes['ABE_RES_UID'];
+ $data[$index]['ABE_RES_CLIENT_IP'] = $dataRes['ABE_RES_CLIENT_IP'];
+ $data[$index]['ABE_RES_DATA'] = $dataRes['ABE_RES_DATA'];
+ $data[$index]['ABE_RES_STATUS'] = $dataRes['ABE_RES_STATUS'];
+ $data[$index]['ABE_RES_MESSAGE'] = $dataRes['ABE_RES_MESSAGE'];
+ } else {
+ $data[$index]['ABE_RES_UID'] = '';
+ $data[$index]['ABE_RES_CLIENT_IP'] = '';
+ $data[$index]['ABE_RES_DATA'] = '';
+ $data[$index]['ABE_RES_STATUS'] = '';
+ $data[$index]['ABE_RES_MESSAGE'] = '';
+ }
+
+ $criteriaRes = new Criteria();
+
+ $criteriaRes->addSelectColumn(AppDelegationPeer::USR_UID);
+ $criteriaRes->addSelectColumn(UsersPeer::USR_FIRSTNAME);
+ $criteriaRes->addSelectColumn(UsersPeer::USR_LASTNAME);
+
+ $criteria->addJoin(AppDelegationPeer::APP_UID, $data[$index]['APP_UID']);
+ $criteria->addJoin(AppDelegationPeer::DEL_INDEX, $data[$index]['DEL_PREVIOUS']);
+ $criteria->addJoin(AppDelegationPeer::USR_UID, UsersPeer::USR_UID);
+ $resultRes = AppDelegationPeer::doSelectRS($criteriaRes);
+ $resultRes->setFetchmode(ResultSet::FETCHMODE_ASSOC);
+ $resultRes->next();
+
+ if ($dataRes = $resultRes->getRow()) {
+ $data[$index]['USER'] = $dataRes['USR_FIRSTNAME'] . ' ' . $dataRes['USR_LASTNAME'];
+ } else {
+ $data[$index]['USER'] = '';
+ }
+
+ $data[$index]['ABE_REQ_ANSWERED'] = ($data[$index]['ABE_REQ_ANSWERED'] == 1) ? 'YES' : 'NO';
+ $index++;
+ }
+
+ $response = array();
+ $response['totalCount'] = $totalCount;
+ $response['data'] = $data;
+ }
+
+ /**
+ *
+ * @url POST /forwardMail
+ */
+ public function forwardMail($params)
+ {
+ if (!isset($_REQUEST['REQ_UID'])) {
+ $_REQUEST['REQ_UID'] = '';
+ }
+
+ $criteria = new Criteria();
+ $criteria->addSelectColumn(AbeConfigurationPeer::ABE_UID);
+ $criteria->addSelectColumn(AbeConfigurationPeer::PRO_UID);
+ $criteria->addSelectColumn(AbeConfigurationPeer::TAS_UID);
+
+ $criteria->addSelectColumn(AbeRequestsPeer::ABE_REQ_UID);
+ $criteria->addSelectColumn(AbeRequestsPeer::APP_UID);
+ $criteria->addSelectColumn(AbeRequestsPeer::DEL_INDEX);
+ $criteria->addSelectColumn(AbeRequestsPeer::ABE_REQ_SENT_TO);
+ $criteria->addSelectColumn(AbeRequestsPeer::ABE_REQ_SUBJECT);
+ $criteria->addSelectColumn(AbeRequestsPeer::ABE_REQ_BODY);
+ $criteria->addSelectColumn(AbeRequestsPeer::ABE_REQ_ANSWERED);
+ $criteria->addSelectColumn(AbeRequestsPeer::ABE_REQ_STATUS);
+
+ $criteria->addSelectColumn(AppDelegationPeer::DEL_FINISH_DATE);
+
+ $criteria->add(AbeRequestsPeer::ABE_REQ_UID, $_REQUEST['REQ_UID']);
+ $criteria->addJoin(AbeRequestsPeer::ABE_UID, AbeConfigurationPeer::ABE_UID);
+ $criteria->addJoin(AppDelegationPeer::APP_UID, AbeRequestsPeer::APP_UID);
+ $criteria->addJoin(AppDelegationPeer::DEL_INDEX, AbeRequestsPeer::DEL_INDEX);
+ $resultRes = AbeRequestsPeer::doSelectRS($criteria);
+ $resultRes->setFetchmode(ResultSet::FETCHMODE_ASSOC);
+
+ $resultRes->next();
+ $dataRes = Array();
+
+ if ($dataRes = $resultRes->getRow()) {
+ if (is_null($dataRes['DEL_FINISH_DATE'])) {
+ require_once 'classes/model/Configuration.php';
+ G::LoadClass('spool');
+
+ $configuration = new Configuration();
+ $sDelimiter = DBAdapter::getStringDelimiter();
+ $criteria = new Criteria('workflow');
+ $criteria->add(ConfigurationPeer::CFG_UID, 'Emails');
+ $criteria->add(ConfigurationPeer::OBJ_UID, '');
+ $criteria->add(ConfigurationPeer::PRO_UID, '');
+ $criteria->add(ConfigurationPeer::USR_UID, '');
+ $criteria->add(ConfigurationPeer::APP_UID, '');
+
+ if (ConfigurationPeer::doCount($criteria) == 0) {
+ $configuration->create(array('CFG_UID' => 'Emails', 'OBJ_UID' => '', 'CFG_VALUE' => '', 'PRO_UID' => '', 'USR_UID' => '', 'APP_UID' => ''));
+ $newConfiguration = array();
+ } else {
+ $newConfiguration = $configuration->load('Emails', '', '', '', '');
+
+ if ($newConfiguration['CFG_VALUE'] != '') {
+ $newConfiguration = unserialize($newConfiguration['CFG_VALUE']);
+ } else {
+ $newConfiguration = array();
+ }
+ }
+
+ $spool = new spoolRun();
+ $spool->setConfig(array(
+ 'MESS_ENGINE' => $newConfiguration['MESS_ENGINE'],
+ 'MESS_SERVER' => $newConfiguration['MESS_SERVER'],
+ 'MESS_PORT' => $newConfiguration['MESS_PORT'],
+ 'MESS_ACCOUNT' => $newConfiguration['MESS_ACCOUNT'],
+ 'MESS_PASSWORD' => $newConfiguration['MESS_PASSWORD'],
+ 'SMTPAuth' => $newConfiguration['MESS_RAUTH']
+ ));
+
+ $spool->create(array(
+ 'msg_uid' => '',
+ 'app_uid' => $dataRes['APP_UID'],
+ 'del_index' => $dataRes['DEL_INDEX'],
+ 'app_msg_type' => 'TEST',
+ 'app_msg_subject' => $dataRes['ABE_REQ_SUBJECT'],
+ 'app_msg_from' => $newConfiguration['MESS_ACCOUNT'],
+ 'app_msg_to' => $dataRes['ABE_REQ_SENT_TO'],
+ 'app_msg_body' => $dataRes['ABE_REQ_BODY'],
+ 'app_msg_cc' => '',
+ 'app_msg_bcc' => '',
+ 'app_msg_attach' => '',
+ 'app_msg_template' => '',
+ 'app_msg_status' => 'pending'
+ ));
+
+ if ($spool->sendMail()) {
+ $dataRes['ABE_REQ_STATUS'] = 'SENT';
+
+ $message = 'The email was resend to: ' . $dataRes['ABE_REQ_SENT_TO'];
+ } else {
+ $dataRes['ABE_REQ_STATUS'] = 'ERROR';
+ $message = 'There was a problem sending the email to: ' . $dataRes['ABE_REQ_SENT_TO'] . ', please try later.';
+ }
+
+ try {
+ $abeRequestsInstance = new AbeRequests();
+ $abeRequestsInstance->createOrUpdate($dataRes);
+ } catch (Exception $error) {
+ throw $error;
+ }
+ } else {
+ $message = 'Unable to send email, the task is closed.';
+ }
+ } else {
+ $message = 'An unexpected error occurred please try again later.';
+ }
+
+ print_r($message);
+ die;
+ }
+
+ /**
+ *
+ * @url GET /viewForm
+ */
+ public function viewForm($params)
+ {
+ //coment
+ if (!isset($_REQUEST['REQ_UID'])) {
+ $_REQUEST['REQ_UID'] = '';
+ }
+
+ $criteria = new Criteria();
+ $criteria->addSelectColumn(AbeConfigurationPeer::ABE_UID);
+ $criteria->addSelectColumn(AbeConfigurationPeer::PRO_UID);
+ $criteria->addSelectColumn(AbeConfigurationPeer::TAS_UID);
+ $criteria->addSelectColumn(AbeConfigurationPeer::DYN_UID);
+ $criteria->addSelectColumn(AbeConfigurationPeer::ABE_ACTION_FIELD);
+
+ $criteria->addSelectColumn(AbeRequestsPeer::ABE_REQ_UID);
+ $criteria->addSelectColumn(AbeRequestsPeer::APP_UID);
+ $criteria->addSelectColumn(AbeRequestsPeer::DEL_INDEX);
+
+ $criteria->addSelectColumn(AbeResponsesPeer::ABE_RES_UID);
+ $criteria->addSelectColumn(AbeResponsesPeer::ABE_RES_DATA);
+
+
+ $criteria->add(AbeRequestsPeer::ABE_REQ_UID, $_REQUEST['REQ_UID']);
+ $criteria->addJoin(AbeRequestsPeer::ABE_UID, AbeConfigurationPeer::ABE_UID);
+ $criteria->addJoin(AbeResponsesPeer::ABE_REQ_UID, AbeRequestsPeer::ABE_REQ_UID);
+ $resultRes = AbeRequestsPeer::doSelectRS($criteria);
+ $resultRes->setFetchmode(ResultSet::FETCHMODE_ASSOC);
+
+ $resultRes->next();
+ $dataRes = Array();
+ $message = 'The user has not responded to this request.';
+
+ if ($dataRes = $resultRes->getRow()) {
+ $_SESSION['CURRENT_DYN_UID'] = trim($dataRes['DYN_UID']);
+ $dynaform = new Form($dataRes['PRO_UID'] . PATH_SEP . trim($dataRes['DYN_UID']), PATH_DYNAFORM, SYS_LANG, false);
+ $dynaform->mode = 'view';
+
+ if ($dataRes['ABE_RES_DATA'] != '') {
+ $value = unserialize($dataRes['ABE_RES_DATA']);
+
+ if (is_array($value)) {
+ $dynaform->values = $value;
+
+ foreach ($dynaform->fields as $fieldName => $field) {
+ if ($field->type == 'submit') {
+ unset($dynaform->fields[$fieldName]);
+ }
+ }
+
+ $message = $dynaform->render(PATH_CORE . 'templates/xmlform.html', $scriptCode);
+ } else {
+ $response = $dynaform->render(PATH_CORE . 'templates/xmlform.html', $scriptCode);
+ $field = $dynaform->fields[$dataRes['ABE_ACTION_FIELD']];
+ $message = 'Type: ' . $field->type . '
';
+
+ switch ($field->type) {
+ case 'dropdown':
+ case 'radiogroup':
+ $message .=$field->label . ' - ';
+ $message .= $field->options[$value];
+ break;
+ case 'yesno':
+ $message .= '' . $field->label . ' - ';
+ $message .= ($value == 1) ? 'Yes' : 'No';
+ break;
+ case 'checkbox':
+ $message .= '' . $field->label . ' - ';
+ $message .= ($value == 'On') ? 'Check' : 'Uncheck';
+ break;
+ }
+ }
+ }
+ }
+
+ print_r($message);
+ die;
+ }
+
+}
diff --git a/workflow/engine/classes/features/ActionsByEmail/services/dataField.php b/workflow/engine/features/ActionsByEmail/Services/dataField.php
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/services/dataField.php
rename to workflow/engine/features/ActionsByEmail/Services/dataField.php
diff --git a/workflow/engine/classes/features/ActionsByEmail/services/dataForm.php b/workflow/engine/features/ActionsByEmail/Services/dataForm.php
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/services/dataForm.php
rename to workflow/engine/features/ActionsByEmail/Services/dataForm.php
diff --git a/workflow/engine/classes/features/ActionsByEmail/services/dataFormPost.php b/workflow/engine/features/ActionsByEmail/Services/dataFormPost.php
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/services/dataFormPost.php
rename to workflow/engine/features/ActionsByEmail/Services/dataFormPost.php
diff --git a/workflow/engine/classes/features/ActionsByEmail/services/utils.php b/workflow/engine/features/ActionsByEmail/Services/utils.php
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/services/utils.php
rename to workflow/engine/features/ActionsByEmail/Services/utils.php
diff --git a/workflow/engine/classes/features/ActionsByEmail/actionsByEmail.php b/workflow/engine/features/ActionsByEmail/actionsByEmail.php
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/actionsByEmail.php
rename to workflow/engine/features/ActionsByEmail/actionsByEmail.php
diff --git a/workflow/engine/classes/features/ActionsByEmail/actionsByEmail.xml b/workflow/engine/features/ActionsByEmail/actionsByEmail.xml
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/actionsByEmail.xml
rename to workflow/engine/features/ActionsByEmail/actionsByEmail.xml
diff --git a/workflow/engine/classes/features/ActionsByEmail/actionsByEmailAjax.php b/workflow/engine/features/ActionsByEmail/actionsByEmailAjax.php
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/actionsByEmailAjax.php
rename to workflow/engine/features/ActionsByEmail/actionsByEmailAjax.php
diff --git a/workflow/engine/classes/features/ActionsByEmail/actionsByEmail_FileEdit.html b/workflow/engine/features/ActionsByEmail/actionsByEmail_FileEdit.html
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/actionsByEmail_FileEdit.html
rename to workflow/engine/features/ActionsByEmail/actionsByEmail_FileEdit.html
diff --git a/workflow/engine/classes/features/ActionsByEmail/actionsByEmail_FileEdit.xml b/workflow/engine/features/ActionsByEmail/actionsByEmail_FileEdit.xml
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/actionsByEmail_FileEdit.xml
rename to workflow/engine/features/ActionsByEmail/actionsByEmail_FileEdit.xml
diff --git a/workflow/engine/classes/features/ActionsByEmail/class.actionsByEmail.php b/workflow/engine/features/ActionsByEmail/class.actionsByEmail.php
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/class.actionsByEmail.php
rename to workflow/engine/features/ActionsByEmail/class.actionsByEmail.php
diff --git a/workflow/engine/classes/features/ActionsByEmail/classes/model/AbeConfiguration.php b/workflow/engine/features/ActionsByEmail/classes/model/AbeConfiguration.php
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/classes/model/AbeConfiguration.php
rename to workflow/engine/features/ActionsByEmail/classes/model/AbeConfiguration.php
diff --git a/workflow/engine/classes/features/ActionsByEmail/classes/model/AbeConfigurationPeer.php b/workflow/engine/features/ActionsByEmail/classes/model/AbeConfigurationPeer.php
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/classes/model/AbeConfigurationPeer.php
rename to workflow/engine/features/ActionsByEmail/classes/model/AbeConfigurationPeer.php
diff --git a/workflow/engine/classes/features/ActionsByEmail/classes/model/AbeRequests.php b/workflow/engine/features/ActionsByEmail/classes/model/AbeRequests.php
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/classes/model/AbeRequests.php
rename to workflow/engine/features/ActionsByEmail/classes/model/AbeRequests.php
diff --git a/workflow/engine/classes/features/ActionsByEmail/classes/model/AbeRequestsPeer.php b/workflow/engine/features/ActionsByEmail/classes/model/AbeRequestsPeer.php
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/classes/model/AbeRequestsPeer.php
rename to workflow/engine/features/ActionsByEmail/classes/model/AbeRequestsPeer.php
diff --git a/workflow/engine/classes/features/ActionsByEmail/classes/model/AbeResponses.php b/workflow/engine/features/ActionsByEmail/classes/model/AbeResponses.php
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/classes/model/AbeResponses.php
rename to workflow/engine/features/ActionsByEmail/classes/model/AbeResponses.php
diff --git a/workflow/engine/classes/features/ActionsByEmail/classes/model/AbeResponsesPeer.php b/workflow/engine/features/ActionsByEmail/classes/model/AbeResponsesPeer.php
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/classes/model/AbeResponsesPeer.php
rename to workflow/engine/features/ActionsByEmail/classes/model/AbeResponsesPeer.php
diff --git a/workflow/engine/classes/features/ActionsByEmail/classes/model/map/AbeConfigurationMapBuilder.php b/workflow/engine/features/ActionsByEmail/classes/model/map/AbeConfigurationMapBuilder.php
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/classes/model/map/AbeConfigurationMapBuilder.php
rename to workflow/engine/features/ActionsByEmail/classes/model/map/AbeConfigurationMapBuilder.php
diff --git a/workflow/engine/classes/features/ActionsByEmail/classes/model/map/AbeRequestsMapBuilder.php b/workflow/engine/features/ActionsByEmail/classes/model/map/AbeRequestsMapBuilder.php
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/classes/model/map/AbeRequestsMapBuilder.php
rename to workflow/engine/features/ActionsByEmail/classes/model/map/AbeRequestsMapBuilder.php
diff --git a/workflow/engine/classes/features/ActionsByEmail/classes/model/map/AbeResponsesMapBuilder.php b/workflow/engine/features/ActionsByEmail/classes/model/map/AbeResponsesMapBuilder.php
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/classes/model/map/AbeResponsesMapBuilder.php
rename to workflow/engine/features/ActionsByEmail/classes/model/map/AbeResponsesMapBuilder.php
diff --git a/workflow/engine/classes/features/ActionsByEmail/classes/model/om/BaseAbeConfiguration.php b/workflow/engine/features/ActionsByEmail/classes/model/om/BaseAbeConfiguration.php
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/classes/model/om/BaseAbeConfiguration.php
rename to workflow/engine/features/ActionsByEmail/classes/model/om/BaseAbeConfiguration.php
diff --git a/workflow/engine/classes/features/ActionsByEmail/classes/model/om/BaseAbeConfigurationPeer.php b/workflow/engine/features/ActionsByEmail/classes/model/om/BaseAbeConfigurationPeer.php
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/classes/model/om/BaseAbeConfigurationPeer.php
rename to workflow/engine/features/ActionsByEmail/classes/model/om/BaseAbeConfigurationPeer.php
diff --git a/workflow/engine/classes/features/ActionsByEmail/classes/model/om/BaseAbeRequests.php b/workflow/engine/features/ActionsByEmail/classes/model/om/BaseAbeRequests.php
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/classes/model/om/BaseAbeRequests.php
rename to workflow/engine/features/ActionsByEmail/classes/model/om/BaseAbeRequests.php
diff --git a/workflow/engine/classes/features/ActionsByEmail/classes/model/om/BaseAbeRequestsPeer.php b/workflow/engine/features/ActionsByEmail/classes/model/om/BaseAbeRequestsPeer.php
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/classes/model/om/BaseAbeRequestsPeer.php
rename to workflow/engine/features/ActionsByEmail/classes/model/om/BaseAbeRequestsPeer.php
diff --git a/workflow/engine/classes/features/ActionsByEmail/classes/model/om/BaseAbeResponses.php b/workflow/engine/features/ActionsByEmail/classes/model/om/BaseAbeResponses.php
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/classes/model/om/BaseAbeResponses.php
rename to workflow/engine/features/ActionsByEmail/classes/model/om/BaseAbeResponses.php
diff --git a/workflow/engine/classes/features/ActionsByEmail/classes/model/om/BaseAbeResponsesPeer.php b/workflow/engine/features/ActionsByEmail/classes/model/om/BaseAbeResponsesPeer.php
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/classes/model/om/BaseAbeResponsesPeer.php
rename to workflow/engine/features/ActionsByEmail/classes/model/om/BaseAbeResponsesPeer.php
diff --git a/workflow/engine/classes/features/ActionsByEmail/config/propel.ini b/workflow/engine/features/ActionsByEmail/config/propel.ini
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/config/propel.ini
rename to workflow/engine/features/ActionsByEmail/config/propel.ini
diff --git a/workflow/engine/classes/features/ActionsByEmail/config/propel.mysql.ini b/workflow/engine/features/ActionsByEmail/config/propel.mysql.ini
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/config/propel.mysql.ini
rename to workflow/engine/features/ActionsByEmail/config/propel.mysql.ini
diff --git a/workflow/engine/classes/features/ActionsByEmail/config/schema-transformed.xml b/workflow/engine/features/ActionsByEmail/config/schema-transformed.xml
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/config/schema-transformed.xml
rename to workflow/engine/features/ActionsByEmail/config/schema-transformed.xml
diff --git a/workflow/engine/classes/features/ActionsByEmail/config/schema.xml b/workflow/engine/features/ActionsByEmail/config/schema.xml
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/config/schema.xml
rename to workflow/engine/features/ActionsByEmail/config/schema.xml
diff --git a/workflow/engine/classes/features/ActionsByEmail/configActionsByEmail.html b/workflow/engine/features/ActionsByEmail/configActionsByEmail.html
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/configActionsByEmail.html
rename to workflow/engine/features/ActionsByEmail/configActionsByEmail.html
diff --git a/workflow/engine/classes/features/ActionsByEmail/configActionsByEmail.php b/workflow/engine/features/ActionsByEmail/configActionsByEmail.php
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/configActionsByEmail.php
rename to workflow/engine/features/ActionsByEmail/configActionsByEmail.php
diff --git a/workflow/engine/classes/features/ActionsByEmail/configActionsByEmail.xml b/workflow/engine/features/ActionsByEmail/configActionsByEmail.xml
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/configActionsByEmail.xml
rename to workflow/engine/features/ActionsByEmail/configActionsByEmail.xml
diff --git a/workflow/engine/classes/features/ActionsByEmail/data/actionsByEmail.html b/workflow/engine/features/ActionsByEmail/data/actionsByEmail.html
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/data/actionsByEmail.html
rename to workflow/engine/features/ActionsByEmail/data/actionsByEmail.html
diff --git a/workflow/engine/classes/features/ActionsByEmail/data/actionsByEmailPartner.html b/workflow/engine/features/ActionsByEmail/data/actionsByEmailPartner.html
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/data/actionsByEmailPartner.html
rename to workflow/engine/features/ActionsByEmail/data/actionsByEmailPartner.html
diff --git a/workflow/engine/classes/features/ActionsByEmail/data/schema.sql b/workflow/engine/features/ActionsByEmail/data/schema.sql
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/data/schema.sql
rename to workflow/engine/features/ActionsByEmail/data/schema.sql
diff --git a/workflow/engine/classes/features/ActionsByEmail/data/sqldb.map b/workflow/engine/features/ActionsByEmail/data/sqldb.map
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/data/sqldb.map
rename to workflow/engine/features/ActionsByEmail/data/sqldb.map
diff --git a/workflow/engine/classes/features/ActionsByEmail/documentation/CaseActionsByEmail.png b/workflow/engine/features/ActionsByEmail/documentation/CaseActionsByEmail.png
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/documentation/CaseActionsByEmail.png
rename to workflow/engine/features/ActionsByEmail/documentation/CaseActionsByEmail.png
diff --git a/workflow/engine/classes/features/ActionsByEmail/documentation/CaseNoteTask1.png b/workflow/engine/features/ActionsByEmail/documentation/CaseNoteTask1.png
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/documentation/CaseNoteTask1.png
rename to workflow/engine/features/ActionsByEmail/documentation/CaseNoteTask1.png
diff --git a/workflow/engine/classes/features/ActionsByEmail/documentation/ConfigurationTask1.png b/workflow/engine/features/ActionsByEmail/documentation/ConfigurationTask1.png
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/documentation/ConfigurationTask1.png
rename to workflow/engine/features/ActionsByEmail/documentation/ConfigurationTask1.png
diff --git a/workflow/engine/classes/features/ActionsByEmail/documentation/ConfigurationTask2.png b/workflow/engine/features/ActionsByEmail/documentation/ConfigurationTask2.png
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/documentation/ConfigurationTask2.png
rename to workflow/engine/features/ActionsByEmail/documentation/ConfigurationTask2.png
diff --git a/workflow/engine/classes/features/ActionsByEmail/documentation/FormTask1.png b/workflow/engine/features/ActionsByEmail/documentation/FormTask1.png
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/documentation/FormTask1.png
rename to workflow/engine/features/ActionsByEmail/documentation/FormTask1.png
diff --git a/workflow/engine/classes/features/ActionsByEmail/documentation/Process1.png b/workflow/engine/features/ActionsByEmail/documentation/Process1.png
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/documentation/Process1.png
rename to workflow/engine/features/ActionsByEmail/documentation/Process1.png
diff --git a/workflow/engine/classes/features/ActionsByEmail/documentation/ProcessActions.png b/workflow/engine/features/ActionsByEmail/documentation/ProcessActions.png
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/documentation/ProcessActions.png
rename to workflow/engine/features/ActionsByEmail/documentation/ProcessActions.png
diff --git a/workflow/engine/classes/features/ActionsByEmail/documentation/ProcessActions1.png b/workflow/engine/features/ActionsByEmail/documentation/ProcessActions1.png
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/documentation/ProcessActions1.png
rename to workflow/engine/features/ActionsByEmail/documentation/ProcessActions1.png
diff --git a/workflow/engine/classes/features/ActionsByEmail/documentation/ProcessActions2.png b/workflow/engine/features/ActionsByEmail/documentation/ProcessActions2.png
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/documentation/ProcessActions2.png
rename to workflow/engine/features/ActionsByEmail/documentation/ProcessActions2.png
diff --git a/workflow/engine/classes/features/ActionsByEmail/documentation/ProcessFrm1.png b/workflow/engine/features/ActionsByEmail/documentation/ProcessFrm1.png
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/documentation/ProcessFrm1.png
rename to workflow/engine/features/ActionsByEmail/documentation/ProcessFrm1.png
diff --git a/workflow/engine/classes/features/ActionsByEmail/documentation/ResponseTask1.png b/workflow/engine/features/ActionsByEmail/documentation/ResponseTask1.png
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/documentation/ResponseTask1.png
rename to workflow/engine/features/ActionsByEmail/documentation/ResponseTask1.png
diff --git a/workflow/engine/classes/features/ActionsByEmail/documentation/ResponseTask2.png b/workflow/engine/features/ActionsByEmail/documentation/ResponseTask2.png
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/documentation/ResponseTask2.png
rename to workflow/engine/features/ActionsByEmail/documentation/ResponseTask2.png
diff --git a/workflow/engine/classes/features/ActionsByEmail/documentation/VerifyTask1.png b/workflow/engine/features/ActionsByEmail/documentation/VerifyTask1.png
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/documentation/VerifyTask1.png
rename to workflow/engine/features/ActionsByEmail/documentation/VerifyTask1.png
diff --git a/workflow/engine/classes/features/ActionsByEmail/documentation/VerifyTask2.png b/workflow/engine/features/ActionsByEmail/documentation/VerifyTask2.png
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/documentation/VerifyTask2.png
rename to workflow/engine/features/ActionsByEmail/documentation/VerifyTask2.png
diff --git a/workflow/engine/classes/features/ActionsByEmail/documentation/emailTask1.png b/workflow/engine/features/ActionsByEmail/documentation/emailTask1.png
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/documentation/emailTask1.png
rename to workflow/engine/features/ActionsByEmail/documentation/emailTask1.png
diff --git a/workflow/engine/classes/features/ActionsByEmail/documentation/emailTask2.png b/workflow/engine/features/ActionsByEmail/documentation/emailTask2.png
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/documentation/emailTask2.png
rename to workflow/engine/features/ActionsByEmail/documentation/emailTask2.png
diff --git a/workflow/engine/classes/features/ActionsByEmail/documentation/overview.php b/workflow/engine/features/ActionsByEmail/documentation/overview.php
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/documentation/overview.php
rename to workflow/engine/features/ActionsByEmail/documentation/overview.php
diff --git a/workflow/engine/classes/features/ActionsByEmail/externalStep.php b/workflow/engine/features/ActionsByEmail/externalStep.php
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/externalStep.php
rename to workflow/engine/features/ActionsByEmail/externalStep.php
diff --git a/workflow/engine/classes/features/ActionsByEmail/menusetup.php b/workflow/engine/features/ActionsByEmail/menusetup.php
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/menusetup.php
rename to workflow/engine/features/ActionsByEmail/menusetup.php
diff --git a/workflow/engine/classes/features/ActionsByEmail/pluginConfig.ini b/workflow/engine/features/ActionsByEmail/pluginConfig.ini
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/pluginConfig.ini
rename to workflow/engine/features/ActionsByEmail/pluginConfig.ini
diff --git a/workflow/engine/classes/features/ActionsByEmail/report.js b/workflow/engine/features/ActionsByEmail/report.js
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/report.js
rename to workflow/engine/features/ActionsByEmail/report.js
diff --git a/workflow/engine/classes/features/ActionsByEmail/views/task.views.php b/workflow/engine/features/ActionsByEmail/views/task.views.php
similarity index 93%
rename from workflow/engine/classes/features/ActionsByEmail/views/task.views.php
rename to workflow/engine/features/ActionsByEmail/views/task.views.php
index 88e2c012f..a6bda6fc1 100644
--- a/workflow/engine/classes/features/ActionsByEmail/views/task.views.php
+++ b/workflow/engine/features/ActionsByEmail/views/task.views.php
@@ -6,7 +6,7 @@
* and open the template in the editor.
*/
-$features['ActionsByEmail']['views'] = array(
+$features['ActionsByEmail']['views'][] = array(
'taskConfiguration' => array(
'type' => 'form',
'language' => 'en',
@@ -74,7 +74,7 @@ $features['ActionsByEmail']['views'] = array(
'data_source' => array(
'type' => 'REST',
'method' => 'GET',
- 'end_point' => '/ABE/ABETemplates/',
+ 'end_point' => '/ActionsByEmail/Templates',
'parameters' => array()
),
'options' => array(
@@ -95,7 +95,7 @@ $features['ActionsByEmail']['views'] = array(
'data_source' => array(
'type' => 'REST',
'method' => 'GET',
- 'end_point' => '/ABE/ABETemplates/editTemplateABE',
+ 'end_point' => '/ActionsByEmail/Templates/editTemplate',
'parameters' => array('ABE_TEMPLATE')
)
)
@@ -107,7 +107,7 @@ $features['ActionsByEmail']['views'] = array(
'data_source' => array(
'type' => 'REST',
'method' => 'GET',
- 'end_point' => '/Dynaform/',
+ 'end_point' => 'Dynaform',
'parameters' => array()
),
'options' => array(
@@ -145,7 +145,7 @@ $features['ActionsByEmail']['views'] = array(
'data_source' => array (
'type' => 'REST',
'method' => 'GET',
- 'end_point' => '/Dynaform/loadFields',
+ 'end_point' => '/ActionsByEmail/Dynaform/loadFields',
'parameters' => array('DYN_UID')
)
)
@@ -172,7 +172,7 @@ $features['ActionsByEmail']['views'] = array(
'data_source' => array(
'type' => 'REST',
'method' => 'GET',
- 'end_point' => '/Dynaform/loadFields',
+ 'end_point' => '/ActionsByEmail/Dynaform/loadFields',
'parameters' => array('DYN_UID')
)
)
@@ -195,7 +195,7 @@ $features['ActionsByEmail']['views'] = array(
'data_source' => array(
'type' => 'REST',
'method' => 'POST',
- 'end_point' => '/ABE/saveConfiguration',
+ 'end_point' => '/ActionsByEmail/saveConfiguration',
'parameters' => array('_ALL')
)
)
diff --git a/workflow/engine/classes/features/ActionsByEmail/xmlform.html b/workflow/engine/features/ActionsByEmail/xmlform.html
similarity index 100%
rename from workflow/engine/classes/features/ActionsByEmail/xmlform.html
rename to workflow/engine/features/ActionsByEmail/xmlform.html
diff --git a/workflow/engine/classes/features/ConfigurationHandler.php b/workflow/engine/features/ConfigurationHandler.php
similarity index 100%
rename from workflow/engine/classes/features/ConfigurationHandler.php
rename to workflow/engine/features/ConfigurationHandler.php
diff --git a/workflow/engine/classes/features/EnterpriseFeature.php b/workflow/engine/features/EnterpriseFeature.php
similarity index 100%
rename from workflow/engine/classes/features/EnterpriseFeature.php
rename to workflow/engine/features/EnterpriseFeature.php
diff --git a/workflow/engine/classes/features/ExtensionManager.php b/workflow/engine/features/ExtensionManager.php
similarity index 100%
rename from workflow/engine/classes/features/ExtensionManager.php
rename to workflow/engine/features/ExtensionManager.php
diff --git a/workflow/engine/classes/features/FeatureHandler.php b/workflow/engine/features/FeatureHandler.php
similarity index 100%
rename from workflow/engine/classes/features/FeatureHandler.php
rename to workflow/engine/features/FeatureHandler.php
diff --git a/workflow/engine/classes/features/ViewContainers/TaskContainer.php b/workflow/engine/features/ViewContainers/TaskContainer.php
similarity index 100%
rename from workflow/engine/classes/features/ViewContainers/TaskContainer.php
rename to workflow/engine/features/ViewContainers/TaskContainer.php
diff --git a/workflow/engine/classes/features/ViewContainers/TriggerContainer.php b/workflow/engine/features/ViewContainers/TriggerContainer.php
similarity index 100%
rename from workflow/engine/classes/features/ViewContainers/TriggerContainer.php
rename to workflow/engine/features/ViewContainers/TriggerContainer.php
diff --git a/workflow/engine/classes/features/ViewContainers/ViewContainer.php b/workflow/engine/features/ViewContainers/ViewContainer.php
similarity index 100%
rename from workflow/engine/classes/features/ViewContainers/ViewContainer.php
rename to workflow/engine/features/ViewContainers/ViewContainer.php
diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/DynaForm.php b/workflow/engine/src/ProcessMaker/BusinessModel/DynaForm.php
index a92681785..09a73c7c5 100644
--- a/workflow/engine/src/ProcessMaker/BusinessModel/DynaForm.php
+++ b/workflow/engine/src/ProcessMaker/BusinessModel/DynaForm.php
@@ -1012,6 +1012,30 @@ class DynaForm
}
}
+ /**
+ * Get a list of DynaForms
+ *
+ * @param string $dynaFormUid Unique id of DynaForm
+ *
+ * return array Return an array with data of a DynaForm
+ */
+ public function getDynaFormList()
+ {
+ try {
+ //Get data
+ $criteria = $this->getDynaFormCriteria();
+ $rsCriteria = \DynaformPeer::doSelectRS($criteria);
+ $rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
+ While ($rsCriteria->next()) {
+ $row = $rsCriteria->getRow();
+ }
+ //Return
+ return $this->getDynaFormDataFromRecord($row);
+ } catch (\Exception $e) {
+ throw $e;
+ }
+ }
+
/**
* Get data of a DynaForm
*
diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/DynaForm.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/DynaForm.php
index 612a60a86..6f953c11c 100644
--- a/workflow/engine/src/ProcessMaker/Services/Api/Project/DynaForm.php
+++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/DynaForm.php
@@ -30,6 +30,25 @@ class DynaForm extends Api
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
}
}
+
+ /**
+ * @url GET /:prj_uid/dynaform
+ *
+ * @param string $prj_uid {@min 32}{@max 32}
+ */
+ public function doGetDynaFormList($prj_uid)
+ {
+ try {
+ $dynaForm = new \ProcessMaker\BusinessModel\DynaForm();
+ $dynaForm->setFormatFieldNameInUppercase(false);
+
+ $response = $dynaForm->getDynaForm();
+
+ return $response;
+ } catch (\Exception $e) {
+ throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
+ }
+ }
/**
* @url POST /:prj_uid/dynaform