Merge branch 'master' of github.com:colosa/processmaker

This commit is contained in:
Erik Amaru Ortiz
2013-11-21 16:38:05 -04:00
20 changed files with 562 additions and 83 deletions

View File

@@ -518,8 +518,6 @@ class AppSolr
'includeCols' => $columsToIncludeFinal,
'resultFormat' => 'json'
);
$solrRequestData = Entity_SolrRequestData::createForRequestPagination ($data);
// use search index to return list of cases
$searchIndex = new BpmnEngine_Services_SearchIndex ($this->_solrIsEnabled, $this->_solrHost);
@@ -622,7 +620,6 @@ class AppSolr
}
/*elseif ($action == 'search') {
// get all the indexes
//$delIndexes = $this->getApplicationDelegationsIndex ($appUID);
$indexes = $this->aaSearchRecords ($aaappsDBData, array (
'APP_UID' => $appUID
@@ -644,9 +641,8 @@ class AppSolr
}
//remove duplicated
$delIndexes = array_unique($delIndexes);
//var_dump($delIndexes);
//var_dump($delIndexes);
foreach ($delIndexes as $delIndex) {
$aRow = array ();
@@ -678,25 +674,25 @@ class AppSolr
$localDate = date ('Y-m-d H:i:s', strtotime ($solrdate));
$aRow ['APP_UPDATE_DATE'] = $localDate;
*/
// get delegation data from DB
//filter data from db
$indexes = $this->aaSearchRecords ($aaappsDBData, array (
'APP_UID' => $appUID,
'DEL_INDEX' => $delIndex
));
$row = '';
foreach ($indexes as $index) {
$row = $aaappsDBData [$index];
}
if(!isset($row))
}
if (empty($row))
{
$fh = fopen("SolrAppWithoutDelIndex.txt", 'a') or die("can't open file to store Solr search time.");
fwrite($fh, sprintf("Solr AppUid: %s DelIndex: %s not found.\r\n", $appUID, $delIndex));
fclose($fh);
continue;
}
}
//$row = $this->getAppDelegationData ($appUID, $delIndex);
$aRow ['APP_CREATE_DATE'] = $row ['APP_CREATE_DATE'];
$aRow ['APP_UPDATE_DATE'] = $row ['APP_UPDATE_DATE'];
@@ -1384,7 +1380,6 @@ class AppSolr
'workspace' => $this->_solrInstance,
'document' => $xmlDoc
);
$oSolrUpdateDocument = Entity_SolrUpdateDocument::createForRequest ($data);
G::LoadClass ('searchIndex');
@@ -1392,7 +1387,6 @@ class AppSolr
$oSearchIndex = new BpmnEngine_Services_SearchIndex ($this->_solrIsEnabled, $this->_solrHost);
$oSearchIndex->updateIndexDocument ($oSolrUpdateDocument);
if($this->debug)
{
@@ -1401,11 +1395,11 @@ class AppSolr
// commit changes no required because of the commitwithin option
//$oSearchIndex->commitIndexChanges ($this->_solrInstance);
//change status in db to indexed
if ($saveDBRecord) {
foreach ($aaAPPUIDs as $aAPPUID) {
$this->applicationChangedUpdateSolrQueue ($aAPPUID ['APP_UID'], 0);
}
}
if ($saveDBRecord) {
foreach ($aaAPPUIDs as $aAPPUID) {
$this->applicationChangedUpdateSolrQueue ($aAPPUID ['APP_UID'], 0);
}
}
}
catch(Exception $ex) {
@@ -2094,17 +2088,59 @@ class AppSolr
break;
}
if ($typeSufix != '*') {
$value = trim($value);
$pairs = array(
"\x03" => "",
"\x04" => "",
"\x05" => "",
"\x06" => "",
"\x07" => "",
"\x08" => "",
"\x0E" => "",
"\x16" => "",
"\x00-" => "",
"\x09" => "",
"\x11" => "",
"\x12" => "",
"\x14-" => "",
"\x1f" => "",
"\x7f" => "",
);
$value = strtr($value, $pairs);
$writer->startElement ("field");
$writer->writeAttribute ('name', trim ($k) . $typeSufix);
$writer->startCData ();
$writer->text ($value);
$writer->endCData();
$writer->endElement ();
}
}
else {
$writer->startElement ("field");
$writer->writeAttribute ('name', trim ($k) . '_t');
$writer->text ($value);
$writer->endElement ();
$value = trim($value);
$pairs = array(
"\x03" => "",
"\x04" => "",
"\x05" => "",
"\x06" => "",
"\x07" => "",
"\x08" => "",
"\x0E" => "",
"\x16" => "",
"\x00-" => "",
"\x09" => "",
"\x11" => "",
"\x12" => "",
"\x14-" => "",
"\x1f" => "",
"\x7f" => "",
);
$value = strtr($value, $pairs);
$writer->startElement ("field");
$writer->writeAttribute ('name', trim ($k) . '_t');
$writer->startCData ();
$writer->text ($value);
$writer->endCData();
$writer->endElement ();
}
}
} // foreach unserialized data

View File

@@ -71,6 +71,8 @@ class Cases
{
private $appSolr = null;
public $dir = 'ASC';
public $sort = 'APP_MSG_DATE';
public function __construct()
{
@@ -3904,12 +3906,12 @@ class Cases
if (AppDelegationPeer::doCount($oCriteria) == 1) {
$aFields['APP_STATUS'] = 'CANCELLED';
$oApplication->update($aFields);
G::LoadClass('reportTables');
require_once 'classes/model/AdditionalTables.php';
G::LoadClass('reportTables');
require_once 'classes/model/AdditionalTables.php';
$oReportTables = new ReportTables();
$addtionalTables = new additionalTables();
$oReportTables->updateTables($aFields['PRO_UID'], $aFields['APP_UID'], $aFields['APP_NUMBER'], $aFields['APP_DATA']);
$addtionalTables = new additionalTables();
$oReportTables->updateTables($aFields['PRO_UID'], $aFields['APP_UID'], $aFields['APP_NUMBER'], $aFields['APP_DATA']);
$addtionalTables->updateReportTables($aFields['PRO_UID'], $aFields['APP_UID'], $aFields['APP_NUMBER'], $aFields['APP_DATA'], $aFields['APP_STATUS']);
}
$this->CloseCurrentDelegation($sApplicationUID, $iIndex);
@@ -5908,12 +5910,7 @@ class Cases
$oCriteria->add(AppMessagePeer::APP_MSG_SHOW_MESSAGE, 1);
}
$oCriteria->addAscendingOrderByColumn(AppMessagePeer::APP_MSG_DATE);
if (!is_null($start)) {
$oCriteria->setOffset($start);
}
if (!is_null($limit)) {
$oCriteria->setLimit($limit);
}
$oDataset = AppMessagePeer::doSelectRS($oCriteria);
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next();
@@ -5947,6 +5944,7 @@ class Cases
$oCriteria = new Criteria('dbarray');
$oCriteria->setDBArrayTable('messages');
usort( $aMessages, array($this, "ordProcess") );
return $aMessages;
}
@@ -6760,4 +6758,28 @@ class Cases
}
}
}
}
public function ordProcess ($a, $b)
{
if ($this->sort == '') {
$this->sort = 'APP_MSG_DATE';
}
if ($this->dir=='ASC') {
if ($a[$this->sort] > $b[$this->sort]) {
return 1;
} elseif ($a[$this->sort] < $b[$this->sort]) {
return - 1;
} else {
return 0;
}
} else {
if ($a[$this->sort] > $b[$this->sort]) {
return - 1;
} elseif ($a[$this->sort] < $b[$this->sort]) {
return 1;
} else {
return 0;
}
}
}
}

View File

@@ -315,26 +315,16 @@ class Configurations // extends Configuration
}
}
public function userNameFormat($username, $fullname)
public function userNameFormat($username, $fullname, $usrUid = '')
{
try {
if (!isset($this->UserConfig)) {
$this->UserConfig = $this->getConfiguration('ENVIRONMENT_SETTINGS', '');
}
if (isset($this->UserConfig['format'])) {
$name = explode(' ',$fullname);
$aux = '';
$aux = str_replace('@userName', trim($username), $this->UserConfig['format']);
$aux = str_replace('@firstName', isset($name[0])?$name[0]:'', $aux);
$aux = str_replace('@lastName', isset($name[1])?$name[1]:'', $aux);
return $aux;
} else {
return $username;
}
} catch (Exception $oError) {
return null;
$aux = '';
if ($usrUid != '') {
$oUser = UsersPeer::retrieveByPK($usrUid);
$aux = str_replace('@userName', trim($username), $this->UserConfig['format']);
$aux = str_replace('@firstName', $oUser->getUsrFirstname(), $aux);
$aux = str_replace('@lastName', $oUser->getUsrLastname(), $aux);
}
return $aux;
}
public function usersNameFormatBySetParameters($formatUserName, $userName, $firstName, $lastName)
@@ -548,7 +538,8 @@ class Configurations // extends Configuration
public function getSystemDate($dateTime)
{
$oConf = new Configurations();
$dateFormat = 'M d, Y';
$oConf->getFormats();
$dateFormat = $oConf->UserConfig['dateFormat'];
$oConf->loadConfig($obj, 'ENVIRONMENT_SETTINGS', '');
$creationDateMask = isset($oConf->aConfig['dateFormat']) ? $oConf->aConfig['dateFormat'] : '';
$creationDateMask = ($creationDateMask == '') ? $dateFormat : $creationDateMask;
@@ -601,8 +592,8 @@ class Configurations // extends Configuration
}
}
setlocale(LC_TIME, $langLocate);
$dateTime = utf8_encode(strftime($newCreation, mktime($h, $i, $s, $m, $d, $y)));
setlocale(LC_TIME, $langLocate . ".utf8");
$dateTime = strftime($newCreation, mktime($h, $i, $s, $m, $d, $y));
if (strpos($dateTime, ' ') !== false) {
$dateTime = ucwords($dateTime);

View File

@@ -108,8 +108,12 @@ class AdditionalTables extends BaseAdditionalTables
$oDataset = FieldsPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
while ($oDataset->next()) {
$this->fields[] = $oDataset->getRow();
while ($oDataset->next()) {
$auxField = $oDataset->getRow();
if ($auxField['FLD_TYPE'] == 'TIMESTAMP') {
$auxField['FLD_TYPE'] = 'DATETIME';
}
$this->fields[] = $auxField;
}
return $this->fields;

View File

@@ -486,7 +486,12 @@ class CaseScheduler extends BaseCaseScheduler
$this->updateDate( $sSchedulerUid, $nSchTimeNextRun, $nSchLastRunTime );
}
} elseif ($sActualDataHour == $dActualSysHour && $sActualDataMinutes <= $dActualSysMinutes) {
$_PORT = (isset( $_SERVER['SERVER_PORT'] ) && $_SERVER['SERVER_PORT'] != '80') ? ':' . $_SERVER['SERVER_PORT'] : '';
$_PORT = '';
if ( isset($_SERVER['SERVER_PORT']) ) {
$_PORT = ($_SERVER['SERVER_PORT'] != '80') ? ':' . $_SERVER['SERVER_PORT'] : '';
} elseif ( defined('SERVER_PORT') ) {
$_PORT = (SERVER_PORT != '80') ? ':' . SERVER_PORT : '';
}
//$defaultEndpoint = 'http://' . $_SERVER ['SERVER_NAME'] . ':' . $_PORT . '/sys' . SYS_SYS .'/'.SYS_LANG.'/classic/green/services/wsdl2';
$defaultEndpoint = 'http://' . SERVER_NAME . $_PORT . '/sys' . SYS_SYS . '/' . SYS_LANG . '/classic/services/wsdl2';
println( " - Connecting webservice: $defaultEndpoint" );

View File

@@ -754,8 +754,7 @@ class Process extends BaseProcess
usort( $aProcesses, array($this, "ordProcessAsc") );
} else {
usort( $aProcesses, array($this, "ordProcessDesc") );
}
$aProcesses = array_splice($aProcesses, $start, $limit);
}
return $aProcesses;
}
@@ -879,6 +878,9 @@ class Process extends BaseProcess
public function ordProcessAsc ($a, $b)
{
if (($this->sort) == '') {
$this->sort = 'PRO_TITLE';
}
if ($a[$this->sort] > $b[$this->sort]) {
return 1;
} elseif ($a[$this->sort] < $b[$this->sort]) {
@@ -889,7 +891,10 @@ class Process extends BaseProcess
}
public function ordProcessDesc ($a, $b)
{
{
if (($this->sort) == '') {
$this->sort = 'PRO_TITLE';
}
if ($a[$this->sort] > $b[$this->sort]) {
return - 1;
} elseif ($a[$this->sort] < $b[$this->sort]) {

View File

@@ -155,7 +155,7 @@ class Dashboard extends Controller
if ($data->DAS_INS_UID == '') {
throw new Exception( 'Parameter "DAS_INS_UID" is empty.' );
}
$this->pmDashlet->setup( $data->DAS_INS_UID );
$this->pmDashlet->setup( G::sanitizeInput($data->DAS_INS_UID) );
if (! isset( $_REQUEST['w'] )) {
$width = 300;

View File

@@ -36,9 +36,14 @@ if ($actionAjax == 'messageHistoryGridList_JXP') {
G::LoadClass( 'case' );
G::LoadClass( "BasePeer" );
$dir = isset( $_POST['dir'] ) ? $_POST['dir'] : 'ASC';
$sort = isset( $_POST['sort'] ) ? $_POST['sort'] : '';
global $G_PUBLISH;
$oCase = new Cases();
$oCase->dir = $dir;
$oCase->sort = $sort;
$appMessageArray = $oCase->getHistoryMessagesTrackerExt( $_SESSION['APPLICATION'], true, $_REQUEST['start'], $_REQUEST['limit']);
$appMessageCountArray = $oCase->getHistoryMessagesTrackerExt( $_SESSION['APPLICATION'], true);
@@ -98,6 +103,8 @@ if ($actionAjax == 'messageHistoryGridList_JXP') {
}
}
$aProcesses = array_splice($aProcesses, $_REQUEST['start'], $_REQUEST['limit']);
$newDir = '/tmp/test/directory';
$r = G::verifyPath( $newDir );
$r->data = $aProcesses;

View File

@@ -1,5 +1,7 @@
<?php
$action = isset( $_GET['action'] ) ? $_GET['action'] : 'default';
$action = isset( $_GET['action'] ) ? G::sanitizeInput($_GET['action']) : 'default';
G::LoadClass( 'case' );
G::LoadClass( 'configuration' );
$userId = isset( $_SESSION['USER_LOGGED'] ) ? $_SESSION['USER_LOGGED'] : '00000000000000000000000000000000';

View File

@@ -240,14 +240,14 @@ try {
if (strpos($_SERVER['HTTP_REFERER'], 'processes/processes_Map?PRO_UID=') !== false) {
$sLocation = $_SERVER['HTTP_REFERER'];
} else {
$sLocation = $_REQUEST['form']['URL'];
$sLocation = G::sanitizeInput($_REQUEST['form']['URL']);
}
} else {
$sLocation = $_REQUEST['form']['URL'];
$sLocation = G::sanitizeInput($_REQUEST['form']['URL']);
}
} else {
if (isset($_REQUEST['u']) && $_REQUEST['u'] != '') {
$sLocation = $_REQUEST['u'];
$sLocation = G::sanitizeInput($_REQUEST['u']);
} else {
$sLocation = $oUserProperty->redirectTo($_SESSION['USER_LOGGED'], $lang);
}

View File

@@ -51,7 +51,8 @@ if (isset( $_POST['category'] ) && $_POST['category'] !== '<reset>') {
if ($proData === false) {
$proData = $oProcess->getAllProcesses( $start, $limit, null, $_POST['processName']);
$memcache->set( $memkey, $proData, PMmemcached::ONE_HOUR );
$totalCount = $oProcess->getAllProcessesCount();
$totalCount = count($proData);
$proData = array_splice($proData, $start, $limit);
$memcacheUsed = 'no';
} else {
$proData = $oProcess->orderMemcache($proData, $start, $limit);
@@ -64,7 +65,8 @@ if (isset( $_POST['category'] ) && $_POST['category'] !== '<reset>') {
$memcacheUsed = 'yes';
if (($proData = $memcache->get( $memkey )) === false || ($totalCount = $memcache->get( $memkeyTotal )) === false) {
$proData = $oProcess->getAllProcesses( $start, $limit);
$totalCount = $oProcess->getAllProcessesCount();
$totalCount = count($proData);
$proData = array_splice($proData, $start, $limit);
$memcache->set( $memkey, $proData, PMmemcached::ONE_HOUR );
$memcache->set( $memkeyTotal, $totalCount, PMmemcached::ONE_HOUR );
$memcacheUsed = 'no';

View File

@@ -1,7 +1,7 @@
<?php
ob_start();
$request = isset( $_POST['request'] ) ? $_POST['request'] : (isset( $_GET['request'] ) ? $_GET['request'] : null);
$request = isset( $_POST['request'] ) ? G::sanitizeInput($_POST['request']) : (isset( $_GET['request'] ) ? G::sanitizeInput($_GET['request']) : null);
switch ($request) {
case 'loadMenu':

View File

@@ -420,12 +420,13 @@ class SkinEngine
G::LoadClass( "configuration" );
$conf = new Configurations();
if (defined('SYS_SYS') && $conf->exists("ENVIRONMENT_SETTINGS")) {
$conf->getFormats();
if (defined('SYS_SYS')) {
$smarty->assign('udate', $conf->getSystemDate(date('Y-m-d H:i:s')));
} else {
$smarty->assign('udate', G::getformatedDate(date('Y-m-d'), 'M d, yyyy', SYS_LANG));
}
$name = $conf->userNameFormat(isset($_SESSION['USR_USERNAME']) ? $_SESSION['USR_USERNAME']: '', isset($_SESSION['USR_FULLNAME']) ? htmlentities($_SESSION['USR_FULLNAME'] , ENT_QUOTES, 'UTF-8'): '');
$name = $conf->userNameFormat(isset($_SESSION['USR_USERNAME']) ? $_SESSION['USR_USERNAME']: '', isset($_SESSION['USR_FULLNAME']) ? htmlentities($_SESSION['USR_FULLNAME'] , ENT_QUOTES, 'UTF-8'): '', isset($_SESSION['USER_LOGGED']) ? $_SESSION['USER_LOGGED'] : '');
$smarty->assign('user',$name);
}
@@ -735,12 +736,13 @@ class SkinEngine
G::LoadClass( "configuration" );
$conf = new Configurations();
if ( defined('SYS_SYS') && $conf->exists("ENVIRONMENT_SETTINGS")) {
$conf->getFormats();
if ( defined('SYS_SYS')) {
$smarty->assign('udate', $conf->getSystemDate(date('Y-m-d H:i:s')));
} else {
$smarty->assign('udate', G::getformatedDate(date('Y-m-d H:i:s'), 'M d, yyyy', SYS_LANG));
}
$name = $conf->userNameFormat(isset($_SESSION['USR_USERNAME']) ? $_SESSION['USR_USERNAME']: '', isset($_SESSION['USR_FULLNAME']) ? htmlentities($_SESSION['USR_FULLNAME'] , ENT_QUOTES, 'UTF-8'): '');
$name = $conf->userNameFormat(isset($_SESSION['USR_USERNAME']) ? $_SESSION['USR_USERNAME']: '', isset($_SESSION['USR_FULLNAME']) ? htmlentities($_SESSION['USR_FULLNAME'] , ENT_QUOTES, 'UTF-8'): '', isset($_SESSION['USER_LOGGED']) ? $_SESSION['USER_LOGGED'] : '');
$smarty->assign('user',$name);
}
if(class_exists('pmLicenseManager')){

View File

@@ -328,6 +328,7 @@ var ActionTabFrameGlobal = '';
function messageHistoryGridList(){
store = new Ext.data.GroupingStore({
remoteSort: true,
proxy : new Ext.data.HttpProxy
(
{

View File

@@ -466,12 +466,12 @@ function openActionDialog(caller, action, dataAux)
icon: Ext.MessageBox.ERROR,
buttons: Ext.MessageBox.OK,
fn : function(btn) {
try
try
{
prnt = parent.parent;
top.location = top.location;
}
catch (err)
catch (err)
{
parent.location = parent.location;
}
@@ -865,8 +865,12 @@ var datastore = new Ext.data.Store({
datastore.on("beforeload",
function(ds, options) {
options.params.dir = (itemSelected.length === 0) ? options.params.dir : ds.directory;
options.params.node = (itemSelected.length === 0) ? options.params.dir : ds.directory;
var dirAux = (itemSelected.length == 0 && options.params.dir)? options.params.dir : ds.directory;
var nodeAux = (itemSelected.length == 0 && options.params.dir)? options.params.dir : ds.directory;
options.params.dir = dirAux;
options.params.node = nodeAux;
options.params.option = "gridDocuments";
options.params.sendWhat = datastore.sendWhat;
if (options.params.dir == "ASC" || options.params.dir == "DESC") {

View File

@@ -20,9 +20,15 @@
<table class="tableGrid" name="{$form->name}" id="{$form->name}" cellpadding="0" cellspacing="0" border="0">
<tr>
<td> </td>
{foreach from=$form->fields item=field}
<td class='vFormTitle'>{if (isset($field->required)&&$field->required&&$field->mode==='edit')}<font color="red">* </font>{/if}{$field->label}{$field->renderHint()}</td>
{if ($field->type != "hidden")}
<td class="vFormTitle">{if (isset($field->required) && $field->required && $field->mode == "edit")}<font color="red">* </font>{/if}{$field->label}{$field->renderHint()}</td>
{else}
<td style="display: none;"></td>
{/if}
{/foreach}
</tr>
{literal}
{section name=row loop=$form_rows}
@@ -33,9 +39,15 @@
{/if}
<td class='GridLabel'> {$smarty.section.row.index+1} </td>
{/literal}
{foreach from=$form->fields item=field}
<td style="white-space:nowrap;">{$field->field}</td>
{if ($field->type != "hidden")}
<td style="white-space: nowrap;">{$field->field}</td>
{else}
<td style="display: none;">{$field->field}</td>
{/if}
{/foreach}
{if $form->deleteRow == '1' }
<td align="center"><A class="GridLink" href="javascript:;" onclick="form_{$form->owner->id}.getElementByName('{$form->name}').deleteGridRow('[{literal}{$smarty.section.row.index+1}{/literal}]'); return false;">{$form->DeleteLabel}</A>&nbsp;</td>
{/if}

View File

@@ -122,11 +122,11 @@
<tr>
<td class="FormTitle" colspan="2" align="">{$form.PME_SUBTITLE}</td>
</tr>
<!-- <tr>
<tr>
<td class="FormLabel" width="{$form_labelWidth}">{$PME_SIZE}</td>
<!-- <td class='FormFieldContent' width="{$form_width}" >{$form.PME_SIZE} </td> //-->
<!--<td class="FormFieldContent" width="{$form_fieldContentWidth}">{$form.PME_SIZE}</td>
</tr>-->
<td class="FormFieldContent" width="{$form_fieldContentWidth}">{$form.PME_SIZE}</td>
</tr>
<tr>
<td class="FormLabel" width="{$form_labelWidth}">{$PME_MODE}</td>
<!-- <td class='FormFieldContent' width="{$form_width}" >{$form.PME_MODE} </td> //-->