Merge pull request #1400 from hector-cortez/BUG-0000

BUG 0000 Adjustment for the standardization of code. CODE_STYLE
This commit is contained in:
julceslauhub
2013-03-14 12:44:47 -07:00
25 changed files with 2504 additions and 2571 deletions

View File

@@ -39,15 +39,16 @@
*/ */
class DBTable class DBTable
{ {
var $_dbc;
var $_dbses; public $_dbc;
var $_dset; public $_dbses;
var $table_name; public $_dset;
var $table_keys; public $table_name;
var $Fields = null; public $table_keys;
var $is_new; public $Fields = null;
var $errorLevel; public $is_new;
var $debug = false; public $errorLevel;
public $debug = false;
/** /**
* Initiate a database conecction using default values * Initiate a database conecction using default values
@@ -57,11 +58,11 @@ class DBTable
* @param object $objConnection conecction string * @param object $objConnection conecction string
* @return void * @return void
*/ */
function dBTable ($objConnection = null, $strTable = "", $arrKeys = array( 'UID' )) public function dBTable($objConnection = null, $strTable = "", $arrKeys = array('UID'))
{ {
$this->_dbc = null; $this->_dbc = null;
$this->_dbses = null; $this->_dbses = null;
$this->SetTo( $objConnection, $strTable, $arrKeys ); $this->SetTo($objConnection, $strTable, $arrKeys);
} }
/** /**
@@ -74,25 +75,25 @@ class DBTable
* @param array $arrKeys table keys defaultvalue=UID * @param array $arrKeys table keys defaultvalue=UID
* @return void * @return void
*/ */
function setTo ($objDBConnection, $strTable = "", $arrKeys = array( 'UID' )) public function setTo($objDBConnection, $strTable = "", $arrKeys = array('UID'))
{ {
$this->_dbc = $objDBConnection; $this->_dbc = $objDBConnection;
if ($this->_dbc != null && strcasecmp( get_class( $objDBConnection ), 'dbconnection' ) == 0) { if ($this->_dbc != null && strcasecmp(get_class($objDBConnection), 'dbconnection') == 0) {
$this->_dbses = new DBSession( $this->_dbc ); $this->_dbses = new DBSession($this->_dbc);
$this->_dbses->UseDB( DB_NAME ); $this->_dbses->UseDB(DB_NAME);
} else { } else {
$dberror = PEAR::raiseError( null, DB_ERROR_OBJECT_NOT_DEFINED, null, 'null', "You tried to call to a DBTable function without create an instance of DBConnection", 'G_Error', true ); $dberror = PEAR::raiseError(null, DB_ERROR_OBJECT_NOT_DEFINED, null, 'null', "You tried to call to a DBTable function without create an instance of DBConnection", 'G_Error', true);
//DBconnection::logError( $dberror ); //DBconnection::logError( $dberror );
return $dberror; return $dberror;
} }
$this->is_new = true; $this->is_new = true;
$this->Fields = null; $this->Fields = null;
$this->table_name = $strTable; $this->table_name = $strTable;
if (is_array( $arrKeys )) { if (is_array($arrKeys)) {
$this->table_keys = $arrKeys; $this->table_keys = $arrKeys;
} else { } else {
$this->table_keys = array (0 => $arrKeys $this->table_keys = array(0 => $arrKeys
); );
} }
$this->errorLevel = $this->_dbc->errorLevel; $this->errorLevel = $this->_dbc->errorLevel;
@@ -105,23 +106,23 @@ class DBTable
* @access public * @access public
* @return void * @return void
*/ */
function loadEmpty () public function loadEmpty()
{ {
$stQry = "DESCRIBE `" . $this->table_name . "`"; $stQry = "DESCRIBE `" . $this->table_name . "`";
$dset = $this->_dbses->execute( $stQry ); $dset = $this->_dbses->execute($stQry);
//$dset = new DBRecordSet( $this->_dbses->Result ); //$dset = new DBRecordSet( $this->_dbses->Result );
$nlim = $dset->Count(); $nlim = $dset->Count();
$this->Fields = null; $this->Fields = null;
for ($ncount = 0; $ncount < $nlim; $ncount ++) { for ($ncount = 0; $ncount < $nlim; $ncount++) {
$data = $dset->Read(); $data = $dset->Read();
$fname = $data['Field']; $fname = $data['Field'];
$fval = ""; $fval = "";
$ftypearr = explode( $data['Type'], '(' ); $ftypearr = explode($data['Type'], '(');
$ftype = $ftypearr[0]; $ftype = $ftypearr[0];
if ($data['Key'] == 'PRI') { if ($data['Key'] == 'PRI') {
if (is_array( $this->table_keys )) { if (is_array($this->table_keys)) {
$this->table_keys[count( $this->table_keys ) - 1] = $fname; $this->table_keys[count($this->table_keys) - 1] = $fname;
} else { } else {
$this->table_keys[0] = $fname; $this->table_keys[0] = $fname;
} }
@@ -152,7 +153,7 @@ class DBTable
* @param string $strWhere string which contains conditions * @param string $strWhere string which contains conditions
* @return strint * @return strint
*/ */
function loadWhere ($strWhere) public function loadWhere($strWhere)
{ {
$this->Fields = null; $this->Fields = null;
@@ -160,8 +161,8 @@ class DBTable
if ($strWhere != "") { if ($strWhere != "") {
$stQry .= " WHERE " . $strWhere; $stQry .= " WHERE " . $strWhere;
} }
$this->_dset = $this->_dbses->Execute( $stQry, $this->debug, $this->errorLevel ); $this->_dset = $this->_dbses->Execute($stQry, $this->debug, $this->errorLevel);
if (DB::isError( $this->_dset )) { if (DB::isError($this->_dset)) {
return $this->_dset; return $this->_dset;
} }
@@ -184,13 +185,13 @@ class DBTable
* @param array array of arguments key values * @param array array of arguments key values
* @return void * @return void
*/ */
function load () public function load()
{ {
// bug::traceRoute(); // bug::traceRoute();
$ncount = 0; $ncount = 0;
$stWhere = ""; $stWhere = "";
$arrKeys = func_get_args(); $arrKeys = func_get_args();
if (isset( $arrKeys[0] ) && is_array( $arrKeys[0] )) { if (isset($arrKeys[0]) && is_array($arrKeys[0])) {
foreach ($this->table_keys as $key => $val) { foreach ($this->table_keys as $key => $val) {
if ($stWhere == "") { if ($stWhere == "") {
$stWhere .= " $val = '" . $arrKeys[0][$val] . "' "; $stWhere .= " $val = '" . $arrKeys[0][$val] . "' ";
@@ -205,10 +206,10 @@ class DBTable
} else { } else {
$stWhere .= " AND " . $this->table_keys[$ncount] . "='" . $val . "'"; $stWhere .= " AND " . $this->table_keys[$ncount] . "='" . $val . "'";
} }
$ncount ++; $ncount++;
} }
} }
return $this->LoadWhere( $stWhere ); return $this->LoadWhere($stWhere);
} }
/** /**
@@ -219,15 +220,15 @@ class DBTable
* @param eter string seq * @param eter string seq
* @return string * @return string
*/ */
function nextvalPGSql ($seq) public function nextvalPGSql($seq)
{ {
$stQry = " Select NEXTVAL( '$seq' ) "; $stQry = " Select NEXTVAL( '$seq' ) ";
$dset = $this->_dbses->Execute( $stQry ); $dset = $this->_dbses->Execute($stQry);
$row = $dset->Read(); $row = $dset->Read();
if (is_array( $row )) { if (is_array($row)) {
return $row['NEXTVAL']; return $row['NEXTVAL'];
} }
die( "Sequence '$seq' is not exist!!" ); die("Sequence '$seq' is not exist!!");
return - 1; return - 1;
} }
@@ -239,11 +240,11 @@ class DBTable
* @return boolean * @return boolean
* *
*/ */
function insert () public function insert()
{ {
$strFields = ""; $strFields = "";
$strValues = ""; $strValues = "";
if (defined( 'DB_ADAPTER' )) { if (defined('DB_ADAPTER')) {
$DBEngine = DB_ADAPTER; $DBEngine = DB_ADAPTER;
} else { } else {
$DBEngine = 'mysql'; $DBEngine = 'mysql';
@@ -251,23 +252,23 @@ class DBTable
foreach ($this->Fields as $field => $val) { foreach ($this->Fields as $field => $val) {
$strFields .= $field . ","; $strFields .= $field . ",";
$iskey = false; $iskey = false;
if (isset( $this->table_keys ) && is_array( $this->table_keys )) { if (isset($this->table_keys) && is_array($this->table_keys)) {
$iskey = in_array( $field, $this->table_keys ) && strtoupper( substr( trim( $val ), 0, 7 ) ) == "NEXTVAL"; $iskey = in_array($field, $this->table_keys) && strtoupper(substr(trim($val), 0, 7)) == "NEXTVAL";
} }
$dbcType = isset( $this->_dbc->type ) ? $this->_dbc->type : $DBEngine; $dbcType = isset($this->_dbc->type) ? $this->_dbc->type : $DBEngine;
// Commented by new format of textarea in javascript // Commented by new format of textarea in javascript
if (! $iskey) { if (!$iskey) {
$val = "'" . $val . "'"; $val = "'" . $val . "'";
} }
///-- $val = "'" . G::sqlEscape( $val , $dbcType ) . "'"; ///-- $val = "'" . G::sqlEscape( $val , $dbcType ) . "'";
$strValues .= $val . ", "; $strValues .= $val . ", ";
} }
$strFields = substr( $strFields, 0, strlen( $strFields ) - 1 ); $strFields = substr($strFields, 0, strlen($strFields) - 1);
$strValues = substr( $strValues, 0, strlen( $strValues ) - 1 ); $strValues = substr($strValues, 0, strlen($strValues) - 1);
$stQry = "INSERT INTO `" . $this->table_name . "` ( " . $strFields . " ) values ( " . $strValues . " ) "; $stQry = "INSERT INTO `" . $this->table_name . "` ( " . $strFields . " ) values ( " . $strValues . " ) ";
$result = $this->_dbses->Execute( $stQry, $this->debug ); $result = $this->_dbses->Execute($stQry, $this->debug);
return $result; return $result;
} }
@@ -278,14 +279,14 @@ class DBTable
* @access public * @access public
* @return boolean * @return boolean
*/ */
function update () public function update()
{ {
$stQry = ""; $stQry = "";
$stWhere = ''; $stWhere = '';
$remainKeys = array (); $remainKeys = array();
if (defined( 'DB_ADAPTER' )) { if (defined('DB_ADAPTER')) {
$DBEngine = DB_ADAPTER; $DBEngine = DB_ADAPTER;
} else { } else {
$DBEngine = 'mysql'; $DBEngine = 'mysql';
@@ -296,21 +297,21 @@ class DBTable
} }
foreach ($this->Fields as $field => $val) { foreach ($this->Fields as $field => $val) {
$iskey = false; $iskey = false;
$iskey = in_array( $field, $this->table_keys ); $iskey = in_array($field, $this->table_keys);
if ($iskey == false) { if ($iskey == false) {
$stQry .= $field . "='" . $val . "', "; $stQry .= $field . "='" . $val . "', ";
// Commented by new format of textarea in javascript // Commented by new format of textarea in javascript
///-- $stQry .= $field . "='" . G::sqlEscape ( $val, isset( $this->_dbc->type) ? $this->_dbc->type : $DBEngine ) . "', "; ///-- $stQry .= $field . "='" . G::sqlEscape ( $val, isset( $this->_dbc->type) ? $this->_dbc->type : $DBEngine ) . "', ";
} else { } else {
if ($stWhere == "") { if ($stWhere == "") {
$stWhere .= $field . "='" . G::sqlEscape( $val, isset( $this->_dbc->type ) ? $this->_dbc->type : $DBEngine ) . "'"; $stWhere .= $field . "='" . G::sqlEscape($val, isset($this->_dbc->type) ? $this->_dbc->type : $DBEngine ) . "'";
} else { } else {
$stWhere .= " AND " . $field . "='" . G::sqlEscape( $val, isset( $this->_dbc->type ) ? $this->_dbc->type : $DBEngine ) . "'"; $stWhere .= " AND " . $field . "='" . G::sqlEscape($val, isset($this->_dbc->type) ? $this->_dbc->type : $DBEngine ) . "'";
} }
$remainKeys[$field] = true; $remainKeys[$field] = true;
} }
} }
foreach ($remainKeys as $field => $bool) foreach ($remainKeys as $field => $bool) {
if ($bool == false) { if ($bool == false) {
if ($stWhere != "") { if ($stWhere != "") {
$stWhere = " AND "; $stWhere = " AND ";
@@ -318,20 +319,21 @@ class DBTable
$stWhere .= $field . "= ''"; $stWhere .= $field . "= ''";
$remainKeys[$field] = true; $remainKeys[$field] = true;
} }
}
$stQry = trim( $stQry ); $stQry = trim($stQry);
$stQry = substr( $stQry, 0, strlen( $stQry ) - 1 ); //to remove the last comma , $stQry = substr($stQry, 0, strlen($stQry) - 1); //to remove the last comma ,
if (! $stQry) { if (!$stQry) {
return; return;
} }
$stQry = "UPDATE `" . $this->table_name . "` SET " . $stQry; $stQry = "UPDATE `" . $this->table_name . "` SET " . $stQry;
$stWhere = trim( $stWhere ); $stWhere = trim($stWhere);
if ($stWhere != "") { if ($stWhere != "") {
$stQry .= " WHERE " . $stWhere; $stQry .= " WHERE " . $stWhere;
} }
$result = false; $result = false;
$result = $this->_dbses->execute( $stQry, $this->debug, $this->errorLevel ); $result = $this->_dbses->execute($stQry, $this->debug, $this->errorLevel);
$this->is_new = false; $this->is_new = false;
return $result; return $result;
} }
@@ -345,7 +347,7 @@ class DBTable
* @access public * @access public
* @return boolean * @return boolean
*/ */
function save () public function save()
{ {
if ($this->is_new == true) { if ($this->is_new == true) {
return $this->Insert(); return $this->Insert();
@@ -361,13 +363,13 @@ class DBTable
* @access public * @access public
* @return boolean * @return boolean
*/ */
function delete () public function delete()
{ {
$stQry = "delete from `" . $this->table_name . "` "; $stQry = "delete from `" . $this->table_name . "` ";
$stWhere = ''; $stWhere = '';
$remainKeys = array (); $remainKeys = array();
if (defined( 'DB_ADAPTER' )) { if (defined('DB_ADAPTER')) {
$DBEngine = DB_ADAPTER; $DBEngine = DB_ADAPTER;
} else { } else {
$DBEngine = 'mysql'; $DBEngine = 'mysql';
@@ -375,21 +377,21 @@ class DBTable
foreach ($this->table_keys as $k => $v) { foreach ($this->table_keys as $k => $v) {
$remainKeys[$v] = false; $remainKeys[$v] = false;
} }
if (is_array( $this->Fields )) { if (is_array($this->Fields)) {
foreach ($this->Fields as $field => $val) { foreach ($this->Fields as $field => $val) {
$iskey = false; $iskey = false;
$iskey = in_array( $field, $this->table_keys ); $iskey = in_array($field, $this->table_keys);
if ($iskey == true) { if ($iskey == true) {
if ($stWhere == "") { if ($stWhere == "") {
$stWhere .= $field . "='" . G::sqlEscape( $val, isset( $this->_dbc->type ) ? $this->_dbc->type : $DBEngine ) . "'"; $stWhere .= $field . "='" . G::sqlEscape($val, isset($this->_dbc->type) ? $this->_dbc->type : $DBEngine ) . "'";
} else { } else {
$stWhere .= " AND " . $field . "='" . G::sqlEscape( $val, isset( $this->_dbc->type ) ? $this->_dbc->type : $DBEngine ) . "'"; $stWhere .= " AND " . $field . "='" . G::sqlEscape($val, isset($this->_dbc->type) ? $this->_dbc->type : $DBEngine ) . "'";
} }
$remainKeys[$field] = true; $remainKeys[$field] = true;
} }
} }
} }
foreach ($remainKeys as $field => $bool) foreach ($remainKeys as $field => $bool) {
if ($bool == false) { if ($bool == false) {
if ($stWhere != "") { if ($stWhere != "") {
$stWhere .= " AND "; $stWhere .= " AND ";
@@ -397,17 +399,18 @@ class DBTable
$stWhere .= $field . "= ''"; $stWhere .= $field . "= ''";
$remainKeys[$field] = true; $remainKeys[$field] = true;
} }
}
$stQry = trim( $stQry ); $stQry = trim($stQry);
$stWhere = trim( $stWhere ); $stWhere = trim($stWhere);
if ($stWhere == '') { if ($stWhere == '') {
$dberror = PEAR::raiseError( null, G_ERROR_WARNING_MESSAGE, null, 'null', "You tried to call delete method without WHERE clause, if you want to delete all records use dbsession", 'G_Error', true ); $dberror = PEAR::raiseError(null, G_ERROR_WARNING_MESSAGE, null, 'null', "You tried to call delete method without WHERE clause, if you want to delete all records use dbsession", 'G_Error', true);
DBconnection::logError( $dberror, $this->errorLevel ); DBconnection::logError($dberror, $this->errorLevel);
return $dberror; return $dberror;
} }
$stQry .= " WHERE " . $stWhere; $stQry .= " WHERE " . $stWhere;
$result = $this->_dbses->execute( $stQry, $this->debug, $this->errorLevel ); $result = $this->_dbses->execute($stQry, $this->debug, $this->errorLevel);
$this->is_new = false; $this->is_new = false;
return $result; return $result;
} }
@@ -421,9 +424,9 @@ class DBTable
* @access public * @access public
* @return boolean * @return boolean
*/ */
function next () public function next()
{ {
$this->Fields = $this->_dset->read(); $this->Fields = $this->_dset->read();
} }
} }

View File

@@ -35,183 +35,176 @@
* date Aug 31th, 2010 * date Aug 31th, 2010
* @copyright (C) 2002 by Colosa Development Team. * @copyright (C) 2002 by Colosa Development Team.
*/ */
class i18n_PO class i18n_PO
{ {
private $_file = null; private $_file = null;
private $_string = ''; private $_string = '';
private $_meta; private $_meta;
private $_fp; private $_fp;
private $_fileComments; private $_fileComments;
protected $_editingHeader; protected $_editingHeader;
protected $_fileLine; protected $_fileLine;
protected $flagEndHeaders; protected $flagEndHeaders;
protected $flagError; protected $flagError;
protected $flagInit; protected $flagInit;
protected $lineNumber; protected $lineNumber;
public $translatorComments; public $translatorComments;
public $extractedComments; public $extractedComments;
public $references; public $references;
public $flags; public $flags;
public $previousUntranslatedStrings; public $previousUntranslatedStrings;
function __construct ($file) public function __construct($file)
{ {
$this->file = $file; $this->file = $file;
} }
function buildInit () public function buildInit()
{ {
$this->_fp = fopen( $this->file, 'w' ); $this->_fp = fopen($this->file, 'w');
if (! is_resource( $this->_fp )) { if (!is_resource($this->_fp)) {
throw new Exception( 'Could\'t open ' . $this->file . ' file' ); throw new Exception('Could\'t open ' . $this->file . ' file');
} }
// lock PO file exclusively // lock PO file exclusively
if (! flock( $this->_fp, LOCK_EX )) { if (!flock($this->_fp, LOCK_EX)) {
fclose( $this->_fp ); fclose($this->_fp);
return false; return false;
} }
$this->_meta = 'msgid ""'; $this->_meta = 'msgid ""';
$this->_writeLine( $this->_meta ); $this->_writeLine($this->_meta);
$this->_meta = 'msgstr ""'; $this->_meta = 'msgstr ""';
$this->_writeLine( $this->_meta ); $this->_writeLine($this->_meta);
$this->_editingHeader = true; $this->_editingHeader = true;
} }
function readInit () public function readInit()
{ {
$this->_fp = fopen( $this->file, 'r' ); $this->_fp = fopen($this->file, 'r');
if (! is_resource( $this->_fp )) { if (!is_resource($this->_fp)) {
throw new Exception( 'Could\'t open ' . $this->file . ' file' ); throw new Exception('Could\'t open ' . $this->file . ' file');
} }
//skipping comments //skipping comments
$this->skipCommets(); $this->skipCommets();
//deaing headers //deaing headers
$this->readHeaders(); $this->readHeaders();
$this->translatorComments = Array (); $this->translatorComments = Array();
$this->extractedComments = Array (); $this->extractedComments = Array();
$this->references = Array (); $this->references = Array();
$this->flags = Array (); $this->flags = Array();
$this->previousUntranslatedStrings = Array (); $this->previousUntranslatedStrings = Array();
} }
function addHeader ($id, $value) public function addHeader($id, $value)
{ {
if ($this->_editingHeader) { if ($this->_editingHeader) {
$meta = '"' . trim( $id ) . ': ' . trim( $value ) . '\n"'; $meta = '"' . trim($id) . ': ' . trim($value) . '\n"';
$this->_writeLine( $meta ); $this->_writeLine($meta);
} }
} }
function addTranslatorComment ($str) public function addTranslatorComment($str)
{ {
$this->headerStroke(); $this->headerStroke();
$comment = '# ' . trim( $str ); $comment = '# ' . trim($str);
$this->_writeLine( $comment ); $this->_writeLine($comment);
} }
function addExtractedComment ($str) public function addExtractedComment($str)
{ {
$this->headerStroke(); $this->headerStroke();
$comment = '#. ' . trim( $str ); $comment = '#. ' . trim($str);
$this->_writeLine( $comment ); $this->_writeLine($comment);
} }
function addReference ($str) public function addReference($str)
{ {
$this->headerStroke(); $this->headerStroke();
$reference = '#: ' . trim( $str ); $reference = '#: ' . trim($str);
$this->_writeLine( $reference ); $this->_writeLine($reference);
} }
function addFlag ($str) public function addFlag($str)
{ {
$this->headerStroke(); $this->headerStroke();
$flag = '#, ' . trim( $str ); $flag = '#, ' . trim($str);
$this->_writeLine( $flag ); $this->_writeLine($flag);
} }
function addPreviousUntranslatedString ($str) public function addPreviousUntranslatedString($str)
{ {
$this->headerStroke(); $this->headerStroke();
$str = '#| ' . trim( $str ); $str = '#| ' . trim($str);
$this->_writeLine( $str ); $this->_writeLine($str);
} }
function addTranslation ($msgid, $msgstr) public function addTranslation($msgid, $msgstr)
{ {
$this->headerStroke(); $this->headerStroke();
$this->_writeLine( 'msgid "' . $this->prepare( $msgid, true ) . '"' ); $this->_writeLine('msgid "' . $this->prepare($msgid, true) . '"');
$this->_writeLine( 'msgstr "' . $this->prepare( $msgstr, true ) . '"' ); $this->_writeLine('msgstr "' . $this->prepare($msgstr, true) . '"');
$this->_writeLine( '' ); $this->_writeLine('');
} }
function _writeLine ($str) public function _writeLine($str)
{ {
$this->_write( $str . "\n" ); $this->_write($str . "\n");
} }
function _write ($str) public function _write($str)
{ {
fwrite( $this->_fp, $str ); fwrite($this->_fp, $str);
} }
function prepare ($string, $reverse = false) public function prepare($string, $reverse = false)
{ {
//$string = str_replace('\"', '"', $string); //$string = str_replace('\"', '"', $string);
//$string = stripslashes($string); //$string = stripslashes($string);
if ($reverse) { if ($reverse) {
$smap = array ('"',"\n","\t","\r" $smap = array('"', "\n", "\t", "\r");
); $rmap = array('\"', '\\n"' . "\n" . '"', '\\t', '\\r');
$rmap = array ('\"','\\n"' . "\n" . '"','\\t','\\r' return (string) str_replace($smap, $rmap, $string);
);
return (string) str_replace( $smap, $rmap, $string );
} else { } else {
$string = preg_replace( '/"\s+"/', '', $string ); $string = preg_replace('/"\s+"/', '', $string);
$smap = array ('\\n','\\r','\\t','\"' $smap = array('\\n', '\\r', '\\t', '\"');
); $rmap = array("\n", "\r", "\t", '"');
$rmap = array ("\n","\r","\t",'"' return (string) str_replace($smap, $rmap, $string);
);
return (string) str_replace( $smap, $rmap, $string );
} }
} }
function headerStroke () public function headerStroke()
{ {
if ($this->_editingHeader) { if ($this->_editingHeader) {
$this->_editingHeader = false; $this->_editingHeader = false;
$this->_writeLine( '' ); $this->_writeLine('');
;
} }
} }
/** /**
* read funtions * * read funtions *
*/ */
private function skipCommets () private function skipCommets()
{ {
$this->_fileComments = ''; $this->_fileComments = '';
do { do {
$lastPos = ftell( $this->_fp ); $lastPos = ftell($this->_fp);
$line = fgets( $this->_fp ); $line = fgets($this->_fp);
$this->_fileComments .= $line; $this->_fileComments .= $line;
} while ((substr( $line, 0, 1 ) == '#' || trim( $line ) == '') && ! feof( $this->_fp )); } while ((substr($line, 0, 1) == '#' || trim($line) == '') && !feof($this->_fp));
fseek( $this->_fp, $lastPos ); fseek($this->_fp, $lastPos);
} }
private function readHeaders () private function readHeaders()
{ {
$this->flagEndHeaders = false; $this->flagEndHeaders = false;
$this->flagError = false; $this->flagError = false;
@@ -219,18 +212,17 @@ class i18n_PO
$this->lineNumber = 0; $this->lineNumber = 0;
$errMsg = ''; $errMsg = '';
while (! $this->flagError && ! $this->flagEndHeaders) { while (!$this->flagError && !$this->flagEndHeaders) {
if ($this->flagInit) { //in first instance if ($this->flagInit) {
//in first instance
$this->flagInit = false; //unset init flag $this->flagInit = false; //unset init flag
//read the first and second line of the file //read the first and second line of the file
$firstLine = fgets( $this->_fp ); $firstLine = fgets($this->_fp);
$secondLine = fgets( $this->_fp ); $secondLine = fgets($this->_fp);
//verifying the file head //verifying the file head
if (strpos( $firstLine, 'msgid ""' ) === false || strpos( $secondLine, 'msgstr ""' ) === false) { if (strpos($firstLine, 'msgid ""') === false || strpos($secondLine, 'msgstr ""') === false) {
$this->flagError = true; $this->flagError = true;
$errMsg = 'Misplace for firts msgid "" and msgstr "" in the header'; $errMsg = 'Misplace for firts msgid "" and msgstr "" in the header';
} }
@@ -238,36 +230,34 @@ class i18n_PO
} }
//getting the new line //getting the new line
$this->_fileLine = trim( fgets( $this->_fp ) ); $this->_fileLine = trim(fgets($this->_fp));
//set line number //set line number
$this->lineNumber ++; $this->lineNumber++;
//verifying that is not end of file and applying a restriction for to read just the twenty firsts lines //verifying that is not end of file and applying a restriction for to read just the twenty firsts lines
if (trim( $this->_fileLine ) == '' || ! $this->_fileLine || $this->lineNumber >= 20) { if (trim($this->_fileLine) == '' || !$this->_fileLine || $this->lineNumber >= 20) {
$this->flagEndHeaders = true; // set ending to read the headers $this->flagEndHeaders = true; // set ending to read the headers
continue; continue;
} }
//verify if has a valid mask header line //verify if has a valid mask header line
preg_match( '/^"([a-z0-9\._-]+)\s*:\s*([\W\w]+)\\\n"$/i', $this->_fileLine, $match ); preg_match('/^"([a-z0-9\._-]+)\s*:\s*([\W\w]+)\\\n"$/i', $this->_fileLine, $match);
//for a valid header line the $match size should three //for a valid header line the $match size should three
if (sizeof( $match ) == 3) { if (sizeof($match) == 3) {
$key = trim( $match[1] ); //getting the key of the header $key = trim($match[1]); //getting the key of the header
$value = trim( $match[2] ); //getting the value of the header $value = trim($match[2]); //getting the value of the header
$this->_meta[$key] = $value; //setting a new header $this->_meta[$key] = $value; //setting a new header
} else { } else {
$this->flagEndHeaders = true; //otherwise set the ending to read the headers $this->flagEndHeaders = true; //otherwise set the ending to read the headers
break; break;
} }
} //end looking for headeers } //end looking for headeers
//verifying the headers data //verifying the headers data
if (! isset( $this->_meta['X-Poedit-Language'] )) { if (!isset($this->_meta['X-Poedit-Language'])) {
if (! isset( $this->_meta['Language'] )) { if (!isset($this->_meta['Language'])) {
$this->flagError = true; $this->flagError = true;
$errMsg = "X-Poedit-Language and Language meta doesn't exist"; $errMsg = "X-Poedit-Language and Language meta doesn't exist";
} else if ($this->_meta['Language'] == '') { } elseif ($this->_meta['Language'] == '') {
$this->flagError = true; $this->flagError = true;
$errMsg = "Language meta is empty"; $errMsg = "Language meta is empty";
} else { } else {
@@ -275,85 +265,85 @@ class i18n_PO
unset($this->_meta['Language']); unset($this->_meta['Language']);
$this->flagError = false; $this->flagError = false;
} }
} else if ($this->_meta['X-Poedit-Language'] == '') { } elseif ($this->_meta['X-Poedit-Language'] == '') {
$this->flagError = true; $this->flagError = true;
$errMsg = "X-Poedit-Language meta is empty"; $errMsg = "X-Poedit-Language meta is empty";
} }
//if the country is not present in metadata //if the country is not present in metadata
if (! isset( $this->_meta['X-Poedit-Country'] )) { if (!isset($this->_meta['X-Poedit-Country'])) {
$this->_meta['X-Poedit-Country'] = '.'; $this->_meta['X-Poedit-Country'] = '.';
} else if ($this->_meta['X-Poedit-Country'] == '') { } elseif ($this->_meta['X-Poedit-Country'] == '') {
$this->_meta['X-Poedit-Country'] = '.'; $this->_meta['X-Poedit-Country'] = '.';
} }
//thowing the exception if is necesary //thowing the exception if is necesary
if ($this->flagError) { if ($this->flagError) {
throw new Exception( "This file is not a valid PO file. ($errMsg)" ); throw new Exception("This file is not a valid PO file. ($errMsg)");
} }
} }
function getHeaders () public function getHeaders()
{ {
return $this->_meta; return $this->_meta;
} }
public function getTranslation () public function getTranslation()
{ {
$flagReadingComments = true; $flagReadingComments = true;
$this->translatorComments = Array (); $this->translatorComments = Array();
$this->extractedComments = Array (); $this->extractedComments = Array();
$this->references = Array (); $this->references = Array();
$this->flags = Array (); $this->flags = Array();
//getting the new line //getting the new line
while ($flagReadingComments && ! $this->flagError) { while ($flagReadingComments && !$this->flagError) {
$this->_fileLine = trim( fgets( $this->_fp ) ); $this->_fileLine = trim(fgets($this->_fp));
//set line number //set line number
$this->lineNumber ++; $this->lineNumber++;
if (! $this->_fileLine) { if (!$this->_fileLine) {
return false; return false;
} }
$prefix = substr( $this->_fileLine, 0, 2 ); $prefix = substr($this->_fileLine, 0, 2);
switch ($prefix) { switch ($prefix) {
case '# ': case '# ':
$lineItem = str_replace( '# ', '', $this->_fileLine ); $lineItem = str_replace('# ', '', $this->_fileLine);
$this->translatorComments[] = $lineItem; $this->translatorComments[] = $lineItem;
break; break;
case '#.': case '#.':
if (substr_count( $this->_fileLine, '#. ' ) == 0) { if (substr_count($this->_fileLine, '#. ') == 0) {
$this->flagError = true; $this->flagError = true;
} else { } else {
$lineItem = str_replace( '#. ', '', $this->_fileLine ); $lineItem = str_replace('#. ', '', $this->_fileLine);
$this->extractedComments[] = $lineItem; $this->extractedComments[] = $lineItem;
} }
break; break;
case '#:': case '#:':
if (substr_count( $this->_fileLine, '#: ' ) == 0) { if (substr_count($this->_fileLine, '#: ') == 0) {
$this->flagError = true; $this->flagError = true;
} else { } else {
$lineItem = str_replace( '#: ', '', $this->_fileLine ); $lineItem = str_replace('#: ', '', $this->_fileLine);
$this->references[] = $lineItem; $this->references[] = $lineItem;
} }
break; break;
case '#,': case '#,':
if (substr_count( $this->_fileLine, '#, ' ) == 0) { if (substr_count($this->_fileLine, '#, ') == 0) {
$this->flagError = true; $this->flagError = true;
} else { } else {
$lineItem = str_replace( '#, ', '', $this->_fileLine ); $lineItem = str_replace('#, ', '', $this->_fileLine);
$this->flags[] = $lineItem; $this->flags[] = $lineItem;
} }
break; break;
case '#|': case '#|':
if (substr_count( $this->_fileLine, '#| ' ) == 0) { if (substr_count($this->_fileLine, '#| ') == 0) {
$this->flagError = true; $this->flagError = true;
} else { } else {
$lineItem = str_replace( '#| ', '', $this->_fileLine ); $lineItem = str_replace('#| ', '', $this->_fileLine);
$this->previousUntranslatedStrings[] = $lineItem; $this->previousUntranslatedStrings[] = $lineItem;
} }
break; break;
@@ -362,15 +352,15 @@ class i18n_PO
} }
} }
if (! $this->_fileLine) { if (!$this->_fileLine) {
return false; return false;
} }
//Getting the msgid //Getting the msgid
preg_match( '/\s*msgid\s*"(.*)"\s*/s', $this->_fileLine, $match ); preg_match('/\s*msgid\s*"(.*)"\s*/s', $this->_fileLine, $match);
if (sizeof( $match ) != 2) { if (sizeof($match) != 2) {
throw new Exception( 'Invalid PO file format1' ); throw new Exception('Invalid PO file format1');
} }
$msgid = ''; $msgid = '';
@@ -378,15 +368,15 @@ class i18n_PO
do { do {
//g::pr($match); //g::pr($match);
$msgid .= $match[1]; $msgid .= $match[1];
$this->_fileLine = trim( fgets( $this->_fp ) ); $this->_fileLine = trim(fgets($this->_fp));
preg_match( '/^"(.*)"\s*/s', $this->_fileLine, $match ); preg_match('/^"(.*)"\s*/s', $this->_fileLine, $match);
} while (sizeof( $match ) == 2); } while (sizeof($match) == 2);
//Getting the msgstr //Getting the msgstr
preg_match( '/\s*msgstr\s*"(.*)"\s*/s', $this->_fileLine, $match ); preg_match('/\s*msgstr\s*"(.*)"\s*/s', $this->_fileLine, $match);
if (sizeof( $match ) != 2) { if (sizeof($match) != 2) {
throw new Exception( 'Invalid PO file format2' ); throw new Exception('Invalid PO file format2');
} }
$msgstr = ''; $msgstr = '';
@@ -394,24 +384,23 @@ class i18n_PO
do { do {
//g::pr($match); //g::pr($match);
$msgstr .= $match[1] . "\n"; $msgstr .= $match[1] . "\n";
$this->_fileLine = trim( fgets( $this->_fp ) ); $this->_fileLine = trim(fgets($this->_fp));
preg_match( '/^"(.*)"\s*/s', $this->_fileLine, $match ); preg_match('/^"(.*)"\s*/s', $this->_fileLine, $match);
} while (sizeof( $match ) == 2); } while (sizeof($match) == 2);
/*g::pr($this->translatorComments); /* g::pr($this->translatorComments);
g::pr($this->references); g::pr($this->references);
g::pr($match); g::pr($match);
die;*/ die; */
return Array ('msgid' => trim( $msgid ),'msgstr' => trim( $msgstr ) return Array('msgid' => trim($msgid), 'msgstr' => trim($msgstr));
);
} }
//garbage //garbage
function __destruct () public function __destruct()
{ {
if ($this->_fp) { if ($this->_fp) {
fclose( $this->_fp ); fclose($this->_fp);
} }
} }
} }

View File

@@ -30,6 +30,7 @@
* @package gulliver.system * @package gulliver.system
* *
*/ */
/** /**
* *
* *
@@ -43,18 +44,19 @@
*/ */
class Menu class Menu
{ {
var $Id = null;
var $Options = null; public $Id = null;
var $Labels = null; public $Options = null;
var $Icons = null; public $Labels = null;
var $JS = null; public $Icons = null;
var $Types = null; public $JS = null;
var $Class = "mnu"; public $Types = null;
var $Classes = null; public $Class = "mnu";
var $Enabled = null; public $Classes = null;
var $optionOn = - 1; public $Enabled = null;
var $id_optionOn = ""; public $optionOn = - 1;
var $ElementClass = null; public $id_optionOn = "";
public $ElementClass = null;
/** /**
* Set menu style * Set menu style
@@ -64,7 +66,7 @@ class Menu
* @param $strClass name of style class default value 'mnu' * @param $strClass name of style class default value 'mnu'
* @return void * @return void
*/ */
function SetClass ($strClass = "mnu") public function SetClass($strClass = "mnu")
{ {
$this->Class = "mnu"; $this->Class = "mnu";
} }
@@ -77,35 +79,35 @@ class Menu
* @param $strMenuName name of menu * @param $strMenuName name of menu
* @return void * @return void
*/ */
function Load ($strMenuName) public function Load($strMenuName)
{ {
global $G_TMP_MENU; global $G_TMP_MENU;
$G_TMP_MENU = null; $G_TMP_MENU = null;
$G_TMP_MENU = new Menu(); $G_TMP_MENU = new Menu();
$fMenu = G::ExpandPath( "menus" ) . $strMenuName . ".php"; $fMenu = G::ExpandPath("menus") . $strMenuName . ".php";
//if the menu file doesn't exists, then try with the plugins folders //if the menu file doesn't exists, then try with the plugins folders
if (! is_file( $fMenu )) { if (!is_file($fMenu)) {
$aux = explode( PATH_SEP, $strMenuName ); $aux = explode(PATH_SEP, $strMenuName);
if (count( $aux ) == 2) { if (count($aux) == 2) {
$oPluginRegistry = & PMPluginRegistry::getSingleton(); $oPluginRegistry = & PMPluginRegistry::getSingleton();
if ($oPluginRegistry->isRegisteredFolder( $aux[0] )) { if ($oPluginRegistry->isRegisteredFolder($aux[0])) {
$fMenu = PATH_PLUGINS . $aux[0] . PATH_SEP . $aux[1] . ".php"; $fMenu = PATH_PLUGINS . $aux[0] . PATH_SEP . $aux[1] . ".php";
} }
} }
} }
if (! is_file( $fMenu )) { if (!is_file($fMenu)) {
return; return;
} }
include ($fMenu); include ($fMenu);
//this line will add options to current menu. //this line will add options to current menu.
$oPluginRegistry = & PMPluginRegistry::getSingleton(); $oPluginRegistry = & PMPluginRegistry::getSingleton();
$oPluginRegistry->getMenus( $strMenuName ); $oPluginRegistry->getMenus($strMenuName);
//? //?
$c = 0; $c = 0;
for ($i = 0; $i < count( $G_TMP_MENU->Options ); $i ++) for ($i = 0; $i < count($G_TMP_MENU->Options); $i++) {
if ($G_TMP_MENU->Enabled[$i] == 1) { if ($G_TMP_MENU->Enabled[$i] == 1) {
$this->Options[$c] = $G_TMP_MENU->Options[$i]; $this->Options[$c] = $G_TMP_MENU->Options[$i];
$this->Labels[$c] = $G_TMP_MENU->Labels[$i]; $this->Labels[$c] = $G_TMP_MENU->Labels[$i];
@@ -116,15 +118,17 @@ class Menu
$this->Id[$c] = $G_TMP_MENU->Id[$i]; $this->Id[$c] = $G_TMP_MENU->Id[$i];
$this->Classes[$c] = $G_TMP_MENU->Classes[$i]; $this->Classes[$c] = $G_TMP_MENU->Classes[$i];
$this->ElementClass[$c] = $G_TMP_MENU->ElementClass[$i]; $this->ElementClass[$c] = $G_TMP_MENU->ElementClass[$i];
$c ++; $c++;
} else { } else {
if ($i == $this->optionOn) if ($i == $this->optionOn) {
$this->optionOn = - 1; $this->optionOn = - 1;
elseif ($i < $this->optionOn) } elseif ($i < $this->optionOn) {
$this->optionOn --; $this->optionOn--;
elseif ($this->optionOn > 0) } elseif ($this->optionOn > 0) {
$this->optionOn --; //added this line $this->optionOn--; //added this line
}
} }
}
$G_TMP_MENU = null; $G_TMP_MENU = null;
} }
@@ -135,11 +139,11 @@ class Menu
* @access public * @access public
* @return int * @return int
*/ */
function OptionCount () public function OptionCount()
{ {
$result = 0; $result = 0;
if (is_array( $this->Options )) { if (is_array($this->Options)) {
$result = count( $this->Options ); $result = count($this->Options);
} }
return $result; return $result;
} }
@@ -154,7 +158,7 @@ class Menu
* @param string $strType type, defualt value ='plugins' * @param string $strType type, defualt value ='plugins'
* @return void * @return void
*/ */
function AddOption ($strLabel, $strURL, $strType = "plugins") public function AddOption($strLabel, $strURL, $strType = "plugins")
{ {
$pos = $this->OptionCount(); $pos = $this->OptionCount();
$this->Options[$pos] = $strURL; $this->Options[$pos] = $strURL;
@@ -162,7 +166,7 @@ class Menu
$this->Types[$pos] = $strType; $this->Types[$pos] = $strType;
$this->Enabled[$pos] = 1; $this->Enabled[$pos] = 1;
$this->Id[$pos] = $pos; $this->Id[$pos] = $pos;
unset( $pos ); unset($pos);
} }
/** /**
@@ -176,20 +180,20 @@ class Menu
* @param string $strType type, defualt value ='plugins' * @param string $strType type, defualt value ='plugins'
* @return void * @return void
*/ */
function AddIdOption ($strId, $strLabel, $strURL, $strType = "plugins") public function AddIdOption($strId, $strLabel, $strURL, $strType = "plugins")
{ {
$pos = $this->OptionCount(); $pos = $this->OptionCount();
$this->Options[$pos] = $strURL; $this->Options[$pos] = $strURL;
$this->Labels[$pos] = $strLabel; $this->Labels[$pos] = $strLabel;
$this->Types[$pos] = $strType; $this->Types[$pos] = $strType;
$this->Enabled[$pos] = 1; $this->Enabled[$pos] = 1;
if (is_array( $strId )) { if (is_array($strId)) {
$this->Id[$pos] = $strId[0]; $this->Id[$pos] = $strId[0];
$this->Classes[$pos] = $strId[1]; $this->Classes[$pos] = $strId[1];
} else { } else {
$this->Id[$pos] = $strId; $this->Id[$pos] = $strId;
} }
unset( $pos ); unset($pos);
} }
/** /**
@@ -201,7 +205,7 @@ class Menu
* @param string $strType type, defualt value ='plugins' * @param string $strType type, defualt value ='plugins'
* @return void * @return void
*/ */
function AddRawOption ($strURL = "", $strType = "plugins") public function AddRawOption($strURL = "", $strType = "plugins")
{ {
$pos = $this->OptionCount(); $pos = $this->OptionCount();
$this->Options[$pos] = $strURL; $this->Options[$pos] = $strURL;
@@ -209,7 +213,7 @@ class Menu
$this->Types[$pos] = $strType; $this->Types[$pos] = $strType;
$this->Enabled[$pos] = 1; $this->Enabled[$pos] = 1;
$this->Id[$pos] = $pos; $this->Id[$pos] = $pos;
unset( $pos ); unset($pos);
} }
/** /**
@@ -224,7 +228,7 @@ class Menu
* @param string $elementClass default value ='' * @param string $elementClass default value =''
* @return void * @return void
*/ */
function AddIdRawOption ($strId, $strURL = "", $label = "", $icon = "", $js = "", $strType = "plugins", $elementClass = '') public function AddIdRawOption($strId, $strURL = "", $label = "", $icon = "", $js = "", $strType = "plugins", $elementClass = '')
{ {
$pos = $this->OptionCount(); $pos = $this->OptionCount();
$this->Options[$pos] = $strURL; $this->Options[$pos] = $strURL;
@@ -234,13 +238,13 @@ class Menu
$this->Types[$pos] = $strType; $this->Types[$pos] = $strType;
$this->Enabled[$pos] = 1; $this->Enabled[$pos] = 1;
$this->ElementClass[$pos] = $elementClass; $this->ElementClass[$pos] = $elementClass;
if (is_array( $strId )) { if (is_array($strId)) {
$this->Id[$pos] = $strId[0]; $this->Id[$pos] = $strId[0];
$this->Classes[$pos] = $strId[1]; $this->Classes[$pos] = $strId[1];
} else { } else {
$this->Id[$pos] = $strId; $this->Id[$pos] = $strId;
} }
unset( $pos ); unset($pos);
} }
/** /**
@@ -251,7 +255,7 @@ class Menu
* @param string $intPos menu option's position * @param string $intPos menu option's position
* @return void * @return void
*/ */
function DisableOptionPos ($intPos) public function DisableOptionPos($intPos)
{ {
$this->Enabled[$intPos] = 0; $this->Enabled[$intPos] = 0;
} }
@@ -264,10 +268,10 @@ class Menu
* @param string $id menu's id * @param string $id menu's id
* @return void * @return void
*/ */
function DisableOptionId ($id) public function DisableOptionId($id)
{ {
if (array_search( $id, $this->Id )) { if (array_search($id, $this->Id)) {
$this->Enabled[array_search( $id, $this->Id )] = 0; $this->Enabled[array_search($id, $this->Id)] = 0;
} }
} }
@@ -279,7 +283,7 @@ class Menu
* @param string $intPos menu option's position * @param string $intPos menu option's position
* @return void * @return void
*/ */
function RenderOption ($intPos) public function RenderOption($intPos)
{ {
if ($this->Enabled[$intPos] != 1) { if ($this->Enabled[$intPos] != 1) {
return; return;
@@ -290,9 +294,9 @@ class Menu
} }
$target = $this->Options[$intPos]; $target = $this->Options[$intPos];
if ($this->Types[$intPos] != "absolute") { if ($this->Types[$intPos] != "absolute") {
if (defined( 'ENABLE_ENCRYPT' )) { if (defined('ENABLE_ENCRYPT')) {
$target = "/sys" . SYS_SYS . "/" . SYS_LANG . "/" . SYS_SKIN . "/" . $target; $target = "/sys" . SYS_SYS . "/" . SYS_LANG . "/" . SYS_SKIN . "/" . $target;
} else if (defined( 'SYS_SYS' )) { } elseif (defined('SYS_SYS')) {
$target = "/sys" . SYS_SYS . "/" . SYS_LANG . "/" . SYS_SKIN . "/" . $target; $target = "/sys" . SYS_SYS . "/" . SYS_LANG . "/" . SYS_SKIN . "/" . $target;
} else { } else {
$target = "/sys/" . SYS_LANG . "/" . SYS_SKIN . "/" . $target; $target = "/sys/" . SYS_LANG . "/" . SYS_SKIN . "/" . $target;
@@ -301,10 +305,9 @@ class Menu
$label = $this->Labels[$intPos]; $label = $this->Labels[$intPos];
$result = "<a href=\"$target\""; $result = "<a href=\"$target\"";
$result .= " class=\"$classname\">"; $result .= " class=\"$classname\">";
$result .= htmlentities( $label, ENT_NOQUOTES, 'utf-8' ); $result .= htmlentities($label, ENT_NOQUOTES, 'utf-8');
$result .= "</a>"; $result .= "</a>";
print ($result) ; print ($result);
} }
/** /**
@@ -319,18 +322,18 @@ class Menu
* @param string $G_ID_MENU_SELECTED * @param string $G_ID_MENU_SELECTED
* @return array * @return array
*/ */
function generateArrayForTemplate ($G_MAIN_MENU, $classOn, $classOff, $G_MENU_SELECTED, $G_ID_MENU_SELECTED) public function generateArrayForTemplate($G_MAIN_MENU, $classOn, $classOff, $G_MENU_SELECTED, $G_ID_MENU_SELECTED)
{ {
$menus = array (); $menus = array();
if ($G_MAIN_MENU == null) { if ($G_MAIN_MENU == null) {
return $menus; return $menus;
} }
$this->Load( $G_MAIN_MENU ); $this->Load($G_MAIN_MENU);
$this->optionOn = $G_MENU_SELECTED; $this->optionOn = $G_MENU_SELECTED;
$this->id_optionOn = $G_ID_MENU_SELECTED; $this->id_optionOn = $G_ID_MENU_SELECTED;
//$this->Class = $G_MENU_CLASS; //$this->Class = $G_MENU_CLASS;
if (is_array( $this->Options )) { if (is_array($this->Options)) {
for ($ncount = 0; $ncount < $this->OptionCount(); $ncount ++) { for ($ncount = 0; $ncount < $this->OptionCount(); $ncount++) {
$target = $this->Options[$ncount]; $target = $this->Options[$ncount];
//$aux = $this->Icons[$ncount]; //$aux = $this->Icons[$ncount];
@@ -340,10 +343,10 @@ class Menu
$target = $this->Options[$ncount]; $target = $this->Options[$ncount];
} }
if ($this->Types[$ncount] != 'absolute') { if ($this->Types[$ncount] != 'absolute') {
if (defined( 'SYS_SYS' )) { if (defined('SYS_SYS')) {
$target = '/sys' . SYS_TEMP . G::encryptLink( '/' . SYS_LANG . '/' . SYS_SKIN . '/' . $this->Options[$ncount] ); $target = '/sys' . SYS_TEMP . G::encryptLink('/' . SYS_LANG . '/' . SYS_SKIN . '/' . $this->Options[$ncount]);
} else { } else {
$target = '/sys/' . G::encryptLink( SYS_LANG . '/' . SYS_SKIN . '/' . $this->Options[$ncount] ); $target = '/sys/' . G::encryptLink(SYS_LANG . '/' . SYS_SKIN . '/' . $this->Options[$ncount]);
} }
} }
$label = $this->Labels[$ncount]; $label = $this->Labels[$ncount];
@@ -374,11 +377,10 @@ class Menu
$elementclass = 'class="' . $this->ElementClass[$ncount] . '"'; $elementclass = 'class="' . $this->ElementClass[$ncount] . '"';
} }
$menus[] = array ('id' => $ncount,'target' => $target,'label' => $label,'onMenu' => $onMenu,'classname' => $classname,'imageLeft' => $imageLeft,'onclick' => $onclick,'icon' => $icon,'aux' => $aux,'idName' => $idName,'elementclass' => $elementclass $menus[] = array('id' => $ncount, 'target' => $target, 'label' => $label, 'onMenu' => $onMenu, 'classname' => $classname, 'imageLeft' => $imageLeft, 'onclick' => $onclick, 'icon' => $icon, 'aux' => $aux, 'idName' => $idName, 'elementclass' => $elementclass);
);
} }
} }
return $menus; return $menus;
} }
} }

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* class.tree.php * class.tree.php
* *
@@ -25,27 +26,27 @@
* Coral Gables, FL, 33134, USA, or email info@colosa.com. * Coral Gables, FL, 33134, USA, or email info@colosa.com.
* *
*/ */
/** /**
* *
* @package gulliver.system * @package gulliver.system
*/ */
G::LoadSystem( 'objectTemplate' ); G::LoadSystem('objectTemplate');
class Tree extends Xml_Node class Tree extends Xml_Node
{ {
var $template = 'tree.html';
var $nodeType = 'base'; public $template = 'tree.html';
var $nodeClass = 'treeNode'; public $nodeType = 'base';
var $contentClass = 'treeContent'; public $nodeClass = 'treeNode';
var $width = '100%'; public $contentClass = 'treeContent';
var $contentWidth = '360'; public $width = '100%';
var $contracted = false; public $contentWidth = '360';
var $showSign = true; public $contracted = false;
var $isChild = false; public $showSign = true;
var $plus = "<span style='position:absolute; width:16px;height:22px;cursor:pointer;'onclick='tree.expand(this.parentNode);'>&nbsp;</span>"; public $isChild = false;
var $minus = "<span style='position:absolute; width:16px;height:22px;cursor:pointer' onclick='tree.contract(this.parentNode);'>&nbsp;</span>"; public $plus = "<span style='position:absolute; width:16px;height:22px;cursor:pointer;'onclick='tree.expand(this.parentNode);'>&nbsp;</span>";
var $point = "<span style='position:absolute; width:5px;height:10px;cursor:pointer;' onclick='tree.select(this.parentNode);'>&nbsp;</span>"; public $minus = "<span style='position:absolute; width:16px;height:22px;cursor:pointer' onclick='tree.contract(this.parentNode);'>&nbsp;</span>";
public $point = "<span style='position:absolute; width:5px;height:10px;cursor:pointer;' onclick='tree.select(this.parentNode);'>&nbsp;</span>";
/** /**
* Tree * Tree
@@ -54,18 +55,18 @@ class Tree extends Xml_Node
* *
* @return none * @return none
*/ */
public function Tree ($xmlnode = null) public function Tree($xmlnode = null)
{ {
if (! isset( $xmlnode )) { if (!isset($xmlnode)) {
return; return;
} }
if (isset( $xmlnode->attributes['nodeType'] )) { if (isset($xmlnode->attributes['nodeType'])) {
$this->nodeType = $xmlnode->attributes['nodeType']; $this->nodeType = $xmlnode->attributes['nodeType'];
} }
foreach ($xmlnode as $key => $value) { foreach ($xmlnode as $key => $value) {
if ($key === 'children') { if ($key === 'children') {
foreach ($xmlnode->children as $key => $value) { foreach ($xmlnode->children as $key => $value) {
$this->children[$key] = new Tree( $value->toTree() ); $this->children[$key] = new Tree($value->toTree());
} }
} elseif ($key === 'attributes') { } elseif ($key === 'attributes') {
foreach ($xmlnode->attributes as $key => $value) { foreach ($xmlnode->attributes as $key => $value) {
@@ -86,10 +87,9 @@ class Tree extends Xml_Node
* *
* @return object(Tree) $newNode * @return object(Tree) $newNode
*/ */
public function &addChild($name, $label, $attributes = array())
public function &addChild ($name, $label, $attributes = array())
{ {
$newNode = new Tree( new Xml_Node( $name, 'open', $label, $attributes ) ); $newNode = new Tree(new Xml_Node($name, 'open', $label, $attributes));
$this->children[] = & $newNode; $this->children[] = & $newNode;
return $newNode; return $newNode;
} }
@@ -99,15 +99,15 @@ class Tree extends Xml_Node
* *
* @return string '<span>...</span>' * @return string '<span>...</span>'
*/ */
public function printPlus () public function printPlus()
{ {
$plus = 'none'; $plus = 'none';
$minus = 'none'; $minus = 'none';
$point = 'none'; $point = 'none';
if ($this->showSign) { if ($this->showSign) {
if ((sizeof( $this->children ) > 0) && ($this->contracted)) { if ((sizeof($this->children) > 0) && ($this->contracted)) {
$plus = ''; $plus = '';
} elseif ((sizeof( $this->children ) > 0) && (! $this->contracted)) { } elseif ((sizeof($this->children) > 0) && (!$this->contracted)) {
$minus = ''; $minus = '';
} else { } else {
$point = ''; $point = '';
@@ -121,7 +121,7 @@ class Tree extends Xml_Node
* *
* @return $this->value * @return $this->value
*/ */
public function printLabel () public function printLabel()
{ {
return $this->value; return $this->value;
} }
@@ -131,7 +131,7 @@ class Tree extends Xml_Node
* *
* @return string $html * @return string $html
*/ */
public function printContent () public function printContent()
{ {
$html = ''; $html = '';
$row = 0; $row = 0;
@@ -150,11 +150,10 @@ class Tree extends Xml_Node
* *
* @return $obj->printObject( array( 'node' => &$this ) ) * @return $obj->printObject( array( 'node' => &$this ) )
*/ */
public function render () public function render()
{ {
$obj = new objectTemplate( $this->template ); $obj = new objectTemplate($this->template);
return $obj->printObject( array ('node' => &$this return $obj->printObject(array('node' => &$this));
) );
} }
} }

View File

@@ -34,11 +34,11 @@
*/ */
class Xml_Node class Xml_Node
{ {
var $name = ''; public $name = '';
var $type = ''; public $type = '';
var $value = ''; //maybe not necesary public $value = ''; //maybe not necesary
var $attributes = array (); public $attributes = array ();
var $children = array (); public $children = array ();
/** /**
* Function Xml_Node * Function Xml_Node
@@ -51,7 +51,7 @@ class Xml_Node
* @param eter string attributes * @param eter string attributes
* @return string * @return string
*/ */
function Xml_Node ($name, $type, $value, $attributes = array()) public function Xml_Node ($name, $type, $value, $attributes = array())
{ {
$this->name = $name; $this->name = $name;
$this->type = $type; $this->type = $type;
@@ -68,7 +68,7 @@ class Xml_Node
* @param eter string value * @param eter string value
* @return string * @return string
*/ */
function addAttribute ($name, $value) public function addAttribute ($name, $value)
{ {
$this->attributes[$name] = $value; $this->attributes[$name] = $value;
return true; return true;
@@ -82,7 +82,7 @@ class Xml_Node
* @param eter string childNode * @param eter string childNode
* @return string * @return string
*/ */
function addChildNode ($childNode) public function addChildNode ($childNode)
{ {
if (is_object( $childNode ) && strcasecmp( get_class( $childNode ), 'Xml_Node' ) == 0) { if (is_object( $childNode ) && strcasecmp( get_class( $childNode ), 'Xml_Node' ) == 0) {
$this->type = 'open'; $this->type = 'open';
@@ -101,7 +101,7 @@ class Xml_Node
* @access public * @access public
* @return string * @return string
*/ */
function toTree () public function toTree ()
{ {
$arr = new Xml_Node( $this->name, $this->type, $this->value, $this->attributes ); $arr = new Xml_Node( $this->name, $this->type, $this->value, $this->attributes );
unset( $arr->parent ); unset( $arr->parent );
@@ -112,7 +112,7 @@ class Xml_Node
return $arr; return $arr;
} }
function toArray ($obj = null) public function toArray ($obj = null)
{ {
$arr = array (); $arr = array ();
if (! isset( $obj )) { if (! isset( $obj )) {
@@ -136,7 +136,7 @@ class Xml_Node
* @param eter string xpath * @param eter string xpath
* @return string * @return string
*/ */
function &findNode ($xpath) public function &findNode ($xpath)
{ {
$n = null; $n = null;
$p = explode( '/', $xpath ); $p = explode( '/', $xpath );
@@ -180,7 +180,7 @@ class Xml_Node
* @param eter string xpath * @param eter string xpath
* @return string * @return string
*/ */
function getXML () public function getXML ()
{ {
switch ($this->type) { switch ($this->type) {
case 'open': case 'open':
@@ -237,7 +237,7 @@ class Xml_Node
return $xml; return $xml;
} }
function getCDATAValue () public function getCDATAValue ()
{ {
$cdata = htmlentities( $this->value, ENT_QUOTES, 'utf-8' ); $cdata = htmlentities( $this->value, ENT_QUOTES, 'utf-8' );
if ($this->value === $cdata) { if ($this->value === $cdata) {
@@ -257,7 +257,7 @@ class Xml_Node
*/ */
class Xml_document extends Xml_Node class Xml_document extends Xml_Node
{ {
var $currentNode; public $currentNode;
/** /**
* Function Xml_document * Function Xml_document
@@ -266,7 +266,7 @@ class Xml_document extends Xml_Node
* @access public * @access public
* @return string * @return string
*/ */
function Xml_document () public function Xml_document ()
{ {
$this->currentNode = &$this; $this->currentNode = &$this;
} }
@@ -280,7 +280,7 @@ class Xml_document extends Xml_Node
* @param eter string content * @param eter string content
* @return string * @return string
*/ */
function parseXmlFile ($filename, $content = "") public function parseXmlFile ($filename, $content = "")
{ //$content is a new variable, if it has any value then use it instead of the file content. { //$content is a new variable, if it has any value then use it instead of the file content.
if ($content == "") { if ($content == "") {
if (! file_exists( $filename )) { if (! file_exists( $filename )) {
@@ -333,7 +333,7 @@ class Xml_document extends Xml_Node
* @param eter string xpath * @param eter string xpath
* @return string * @return string
*/ */
function &findNode ($xpath) public function &findNode ($xpath)
{ {
if (substr( $xpath, 0, 1 ) == '/') { if (substr( $xpath, 0, 1 ) == '/') {
return parent::findNode( substr( $xpath, 1 ) ); return parent::findNode( substr( $xpath, 1 ) );
@@ -357,7 +357,7 @@ class Xml_document extends Xml_Node
* @access public * @access public
* @return string $xml * @return string $xml
*/ */
function getXML () public function getXML ()
{ {
$xml = '<?xml version="1.0" encoding="UTF-8"?>' . "\n"; $xml = '<?xml version="1.0" encoding="UTF-8"?>' . "\n";
$xml .= $this->children[0]->getXML(); $xml .= $this->children[0]->getXML();
@@ -370,7 +370,7 @@ class Xml_document extends Xml_Node
* @access public * @access public
* @return void * @return void
*/ */
function save ($filename) public function save ($filename)
{ {
$xml = $this->getXML(); $xml = $this->getXML();
$fp = fopen( $filename, 'w' ); $fp = fopen( $filename, 'w' );

View File

@@ -1,161 +1,160 @@
<?php <?php
/** /**
* class.xmlformExtension.php * class.xmlformExtension.php
* *
* @package gulliver.system * @package gulliver.system
* *
* ProcessMaker Open Source Edition * ProcessMaker Open Source Edition
* Copyright (C) 2004 - 2011 Colosa Inc. * Copyright (C) 2004 - 2011 Colosa Inc.
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as * it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the * published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version. * License, or (at your option) any later version.
* *
* This program is distributed in the hope that it will be useful, * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details. * GNU Affero General Public License for more details.
* *
* You should have received a copy of the GNU Affero General Public License * You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
* *
* For more information, contact Colosa Inc, 2566 Le Jeune Rd., * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com. * Coral Gables, FL, 33134, USA, or email info@colosa.com.
* *
*/ */
/** /**
* *
* @package gulliver.system * @package gulliver.system
*/ */
class XmlForm_Field_Label extends XmlForm_Field
class XmlForm_Field_Label extends XmlForm_Field {
{ public $withoutValue = true;
var $withoutValue = true; public $align = 'left';
var $align = 'left';
}
/**
* Special class for pagedTable
* condition: PHP expression whose result defines whether to "mark"
* the following columns (that is if true)
*
* @package gulliver.system
*/
class XmlForm_Field_cellMark extends XmlForm_Field
{
/* Defines the style of the next tds
of the pagedTable.
*/
var $showInTable = "0";
var $style = "";
var $styleAlt = "";
var $className = "";
var $classNameAlt = "";
var $condition = 'false';
/**
* tdStyle
*
* @param string $values
* @param string $owner
*
* @return string $value
*/
function tdStyle ($values, $owner)
{
$value = G::replaceDataField( $this->condition, $owner->values );
$value = @eval( 'return (' . $value . ');' );
$row = $values['row__'];
$style = ((($row % 2) == 0) && ($this->styleAlt != 0)) ? $this->styleAlt : $this->style;
return ($value) ? $style : '';
}
/**
* tdClass
*
* @param string $values
* @param string $owner
*
* @return $value
*/
function tdClass ($values, $owner)
{
$value = G::replaceDataField( $this->condition, $owner->values );
$value = @eval( 'return (' . $value . ');' );
$row = $values['row__'];
$style = (($row % 2) == 0) ? $this->classNameAlt : $this->className;
return ($value) ? $style : '';
}
}
/**
* XmlForm_Field_DVEditor
*
* extends XmlForm_Field
*
* @package gulliver.system
*
*/
class XmlForm_Field_DVEditor extends XmlForm_Field
{
var $toolbarSet = 'toolbar2lines.html';
var $width = '90%';
var $height = '200';
/**
* render
*
* @param string $value
* @param string $owner default value NULL
*
* @return string '<div> ... </div>'
*/
function render ($value, $owner = null)
{
return '<div style="width:' . htmlentities( $this->width, ENT_QUOTES, 'utf-8' ) . ';height:' . htmlentities( $this->height, ENT_QUOTES, 'utf-8' ) . '"><input id="form[' . $this->name . ']" name="form[' . $this->name . ']" type="hidden" value="' . htmlentities( $value, ENT_QUOTES, 'UTF-8' ) . '"/></div>';
}
/**
* attachEvents
*
* @param string $element
*
* @return $html
*/
function attachEvents ($element)
{
$html = 'var _editor' . $this->name . '=new DVEditor(getField("form[' . $this->name . ']").parentNode,getField("form[' . $this->name . ']").value)';
return $html;
}
}
/**
* Special field: Add a search box (fast search) for the related pagedTable
*
* The PAGED_TABLE_ID reserved field must be defined in the xml.
* Use PAGED_TABLE_FAST_SEARCH reserved field, it contains the saved value for each table.
* example:
* Ex1.
* <PAGED_TABLE_ID type="private"/>
* <PAGED_TABLE_FAST_SEARCH type="FastSearch">
* <en>Search</en>
* </PAGED_TABLE_FAST_SEARCH>
* Ex2 (Using type="text").
* <PAGED_TABLE_ID type="private"/>
* <PAGED_TABLE_FAST_SEARCH type="text" colAlign="right" colWidth="180" onkeypress="if (event.keyCode===13)@#PAGED_TABLE_ID.doFastSearch(this.value);if (event.keyCode===13)return false;">
* <en>Search</en>
* </PAGED_TABLE_FAST_SEARCH>
*
* @package gulliver.system
*/
class XmlForm_Field_FastSearch extends XmlForm_Field_Text
{
var $onkeypress = "if (event.keyCode===13)@#PAGED_TABLE_ID.doFastSearch(this.value);if (event.keyCode===13)return false;";
var $colAlign = "right";
var $colWidth = "180";
var $label = "@G::LoadTranslation(ID_SEARCH)";
} }
/**
* Special class for pagedTable
* condition: PHP expression whose result defines whether to "mark"
* the following columns (that is if true)
*
* @package gulliver.system
*/
class XmlForm_Field_cellMark extends XmlForm_Field
{
/* Defines the style of the next tds
of the pagedTable.
*/
public $showInTable = "0";
public $style = "";
public $styleAlt = "";
public $className = "";
public $classNameAlt = "";
public $condition = 'false';
/**
* tdStyle
*
* @param string $values
* @param string $owner
*
* @return string $value
*/
public function tdStyle($values, $owner)
{
$value = G::replaceDataField($this->condition, $owner->values);
$value = @eval('return (' . $value . ');');
$row = $values['row__'];
$style = ((($row % 2) == 0) && ($this->styleAlt != 0)) ? $this->styleAlt : $this->style;
return ($value) ? $style : '';
}
/**
* tdClass
*
* @param string $values
* @param string $owner
*
* @return $value
*/
public function tdClass($values, $owner)
{
$value = G::replaceDataField($this->condition, $owner->values);
$value = @eval('return (' . $value . ');');
$row = $values['row__'];
$style = (($row % 2) == 0) ? $this->classNameAlt : $this->className;
return ($value) ? $style : '';
}
}
/**
* XmlForm_Field_DVEditor
*
* extends XmlForm_Field
*
* @package gulliver.system
*
*/
class XmlForm_Field_DVEditor extends XmlForm_Field
{
public $toolbarSet = 'toolbar2lines.html';
public $width = '90%';
public $height = '200';
/**
* render
*
* @param string $value
* @param string $owner default value NULL
*
* @return string '<div> ... </div>'
*/
public function render($value, $owner = null)
{
return '<div style="width:' . htmlentities($this->width, ENT_QUOTES, 'utf-8') . ';height:' . htmlentities($this->height, ENT_QUOTES, 'utf-8') . '"><input id="form[' . $this->name . ']" name="form[' . $this->name . ']" type="hidden" value="' . htmlentities($value, ENT_QUOTES, 'UTF-8') . '"/></div>';
}
/**
* attachEvents
*
* @param string $element
*
* @return $html
*/
public function attachEvents($element)
{
$html = 'var _editor' . $this->name . '=new DVEditor(getField("form[' . $this->name . ']").parentNode,getField("form[' . $this->name . ']").value)';
return $html;
}
}
/**
* Special field: Add a search box (fast search) for the related pagedTable
*
* The PAGED_TABLE_ID reserved field must be defined in the xml.
* Use PAGED_TABLE_FAST_SEARCH reserved field, it contains the saved value for each table.
* example:
* Ex1.
* <PAGED_TABLE_ID type="private"/>
* <PAGED_TABLE_FAST_SEARCH type="FastSearch">
* <en>Search</en>
* </PAGED_TABLE_FAST_SEARCH>
* Ex2 (Using type="text").
* <PAGED_TABLE_ID type="private"/>
* <PAGED_TABLE_FAST_SEARCH type="text" colAlign="right" colWidth="180" onkeypress="if (event.keyCode===13)@#PAGED_TABLE_ID.doFastSearch(this.value);if (event.keyCode===13)return false;">
* <en>Search</en>
* </PAGED_TABLE_FAST_SEARCH>
*
* @package gulliver.system
*/
class XmlForm_Field_FastSearch extends XmlForm_Field_Text
{
public $onkeypress = "if (event.keyCode===13)@#PAGED_TABLE_ID.doFastSearch(this.value);if (event.keyCode===13)return false;";
public $colAlign = "right";
public $colWidth = "180";
public $label = "@G::LoadTranslation(ID_SEARCH)";
}

View File

@@ -33,7 +33,6 @@
// License: LGPL, see LICENSE // License: LGPL, see LICENSE
//////////////////////////////////////////////////// ////////////////////////////////////////////////////
/** /**
* Processmaker Installer * Processmaker Installer
* *
@@ -41,13 +40,13 @@
* @author maborak * @author maborak
* @copyright 2008 COLOSA * @copyright 2008 COLOSA
*/ */
class Installer class Installer
{ {
public $options = Array ();
public $result = Array (); public $options = Array();
public $error = Array (); public $result = Array();
public $report = Array (); public $error = Array();
public $report = Array();
private $connection_database; private $connection_database;
/** /**
@@ -56,7 +55,7 @@ class Installer
* @param string $pPRO_UID * @param string $pPRO_UID
* @return void * @return void
*/ */
function __construct () public function __construct()
{ {
} }
@@ -67,15 +66,15 @@ class Installer
* @param boolean $confirmed * @param boolean $confirmed
* @return void * @return void
*/ */
public function create_site ($config = Array(), $confirmed = false) public function create_site($config = Array(), $confirmed = false)
{ {
$this->options = G::array_concat( Array ('isset' => false,'password' => G::generate_password( 12 ),'path_data' => @PATH_DATA,'path_compiled' => @PATH_C,'name' => $config['name'],'database' => Array (),'admin' => Array ('username' => 'admin','password' => 'admin' $this->options = G::array_concat(Array('isset' => false, 'password' => G::generate_password(12), 'path_data' => @PATH_DATA, 'path_compiled' => @PATH_C, 'name' => $config['name'], 'database' => Array(), 'admin' => Array('username' => 'admin', 'password' => 'admin'
),'advanced' => Array ('ao_db_wf' => 'wf_' . $config['name'],'ao_db_rb' => 'rb_' . $config['name'],'ao_db_rp' => 'rp_' . $config['name'],'ao_db_drop' => false ), 'advanced' => Array('ao_db_wf' => 'wf_' . $config['name'], 'ao_db_rb' => 'rb_' . $config['name'], 'ao_db_rp' => 'rp_' . $config['name'], 'ao_db_drop' => false
) )
), $config ); ), $config);
$a = @explode( SYSTEM_HASH, G::decrypt( HASH_INSTALLATION, SYSTEM_HASH ) ); $a = @explode(SYSTEM_HASH, G::decrypt(HASH_INSTALLATION, SYSTEM_HASH));
$this->options['database'] = G::array_concat( Array ('username' => @$a[1],'password' => @$a[2],'hostname' => @$a[0] $this->options['database'] = G::array_concat(Array('username' => @$a[1], 'password' => @$a[2], 'hostname' => @$a[0]
), $this->options['database'] ); ), $this->options['database']);
return ($confirmed === true) ? $this->make_site() : $this->create_site_test(); return ($confirmed === true) ? $this->make_site() : $this->create_site_test();
} }
@@ -85,9 +84,9 @@ class Installer
* @param string $name Default value "workflow" * @param string $name Default value "workflow"
* @return string file_exists(PATH_DATA."sites/".$name); * @return string file_exists(PATH_DATA."sites/".$name);
*/ */
public function isset_site ($name = "workflow") public function isset_site($name = "workflow")
{ {
return file_exists( PATH_DATA . "sites/" . $name ); return file_exists(PATH_DATA . "sites/" . $name);
} }
/** /**
@@ -95,17 +94,17 @@ class Installer
* *
* @return void * @return void
*/ */
private function create_site_test () private function create_site_test()
{ {
$name = (preg_match( '/^[\w]+$/i', trim( $this->options['name'] ) )) ? true : false; $name = (preg_match('/^[\w]+$/i', trim($this->options['name']))) ? true : false;
$result = Array ('path_data' => $this->is_dir_writable( $this->options['path_data'] ),'path_compiled' => $this->is_dir_writable( $this->options['path_compiled'] ),'database' => $this->check_connection(),'access_level' => $this->cc_status,'isset' => ($this->options['isset'] == true) ? $this->isset_site( $this->options['name'] ) : false,'microtime' => microtime(),'workspace' => $this->options['name'],'name' => array ('status' => $name,'message' => ($name) ? 'PASSED' : 'Workspace name invalid' $result = Array('path_data' => $this->is_dir_writable($this->options['path_data']), 'path_compiled' => $this->is_dir_writable($this->options['path_compiled']), 'database' => $this->check_connection(), 'access_level' => $this->cc_status, 'isset' => ($this->options['isset'] == true) ? $this->isset_site($this->options['name']) : false, 'microtime' => microtime(), 'workspace' => $this->options['name'], 'name' => array('status' => $name, 'message' => ($name) ? 'PASSED' : 'Workspace name invalid'
),'admin' => array ('username' => (preg_match( '/^[\w@\.-]+$/i', trim( $this->options['admin']['username'] ) )) ? true : false,'password' => ((trim( $this->options['admin']['password'] ) == '') ? false : true) ), 'admin' => array('username' => (preg_match('/^[\w@\.-]+$/i', trim($this->options['admin']['username']))) ? true : false, 'password' => ((trim($this->options['admin']['password']) == '') ? false : true)
) )
); );
$result['name']['message'] = ($result['isset']) ? 'Workspace already exist' : $result['name']['message']; $result['name']['message'] = ($result['isset']) ? 'Workspace already exist' : $result['name']['message'];
$result['name']['status'] = ($result['isset']) ? false : $result['name']['status']; $result['name']['status'] = ($result['isset']) ? false : $result['name']['status'];
//print_r($result); //print_r($result);
return Array ('created' => G::var_compare( true, $result['path_data'], $result['database']['connection'], $result['name']['status'], $result['database']['version'], $result['database']['ao']['ao_db_wf']['status'], $result['database']['ao']['ao_db_rb']['status'], $result['database']['ao']['ao_db_rp']['status'], $result['admin']['username'], (($result['isset']) ? false : true), $result['admin']['password'] ),'result' => $result return Array('created' => G::var_compare(true, $result['path_data'], $result['database']['connection'], $result['name']['status'], $result['database']['version'], $result['database']['ao']['ao_db_wf']['status'], $result['database']['ao']['ao_db_rb']['status'], $result['database']['ao']['ao_db_rp']['status'], $result['admin']['username'], (($result['isset']) ? false : true), $result['admin']['password']), 'result' => $result
); );
} }
@@ -114,13 +113,13 @@ class Installer
* *
* @return array $test * @return array $test
*/ */
private function make_site () private function make_site()
{ {
$test = $this->create_site_test(); $test = $this->create_site_test();
if ($test["created"] == true || $this->options["advanced"]["ao_db_drop"] == true) { if ($test["created"] == true || $this->options["advanced"]["ao_db_drop"] == true) {
/* Check if the hostname is local (localhost or 127.0.0.1) */ /* Check if the hostname is local (localhost or 127.0.0.1) */
$islocal = (strcmp( substr( $this->options['database']['hostname'], 0, strlen( 'localhost' ) ), 'localhost' ) === 0) || (strcmp( substr( $this->options['database']['hostname'], 0, strlen( '127.0.0.1' ) ), '127.0.0.1' ) === 0); $islocal = (strcmp(substr($this->options['database']['hostname'], 0, strlen('localhost')), 'localhost') === 0) || (strcmp(substr($this->options['database']['hostname'], 0, strlen('127.0.0.1')), '127.0.0.1') === 0);
$this->wf_site_name = $wf = $this->options['advanced']['ao_db_wf']; $this->wf_site_name = $wf = $this->options['advanced']['ao_db_wf'];
@@ -132,79 +131,77 @@ class Installer
if ($this->options['advanced']['ao_db_drop'] === true) { if ($this->options['advanced']['ao_db_drop'] === true) {
//Delete workspace directory if exists //Delete workspace directory if exists
//Drop databases //Drop databases
$this->run_query( "DROP DATABASE IF EXISTS " . $wf, "Drop database $wf" ); $this->run_query("DROP DATABASE IF EXISTS " . $wf, "Drop database $wf");
$this->run_query( "DROP DATABASE IF EXISTS " . $rb, "Drop database $rb" ); $this->run_query("DROP DATABASE IF EXISTS " . $rb, "Drop database $rb");
$this->run_query( "DROP DATABASE IF EXISTS " . $rp, "Drop database $rp" ); $this->run_query("DROP DATABASE IF EXISTS " . $rp, "Drop database $rp");
} }
$this->run_query( "CREATE DATABASE IF NOT EXISTS " . $wf . " DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci", "Create database $wf" ); $this->run_query("CREATE DATABASE IF NOT EXISTS " . $wf . " DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci", "Create database $wf");
$this->run_query( "CREATE DATABASE IF NOT EXISTS " . $rb . " DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci", "Create database $rb" ); $this->run_query("CREATE DATABASE IF NOT EXISTS " . $rb . " DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci", "Create database $rb");
$this->run_query( "CREATE DATABASE IF NOT EXISTS " . $rp . " DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci", "Create database $rp" ); $this->run_query("CREATE DATABASE IF NOT EXISTS " . $rp . " DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci", "Create database $rp");
if ($this->cc_status == 1) { if ($this->cc_status == 1) {
$host = ($islocal) ? "localhost" : "%"; $host = ($islocal) ? "localhost" : "%";
$this->run_query( "GRANT ALL PRIVILEGES ON `$wf`.* TO $wf@'$host' IDENTIFIED BY '{$this->options['password']}' WITH GRANT OPTION", "Grant privileges for user $wf on database $wf" ); $this->run_query("GRANT ALL PRIVILEGES ON `$wf`.* TO $wf@'$host' IDENTIFIED BY '{$this->options['password']}' WITH GRANT OPTION", "Grant privileges for user $wf on database $wf");
$this->run_query( "GRANT ALL PRIVILEGES ON `$rb`.* TO $rb@'$host' IDENTIFIED BY '{$this->options['password']}' WITH GRANT OPTION", "Grant privileges for user $rb on database $rb" ); $this->run_query("GRANT ALL PRIVILEGES ON `$rb`.* TO $rb@'$host' IDENTIFIED BY '{$this->options['password']}' WITH GRANT OPTION", "Grant privileges for user $rb on database $rb");
$this->run_query( "GRANT ALL PRIVILEGES ON `$rp`.* TO $rp@'$host' IDENTIFIED BY '{$this->options['password']}' WITH GRANT OPTION", "Grant privileges for user $rp on database $rp" ); $this->run_query("GRANT ALL PRIVILEGES ON `$rp`.* TO $rp@'$host' IDENTIFIED BY '{$this->options['password']}' WITH GRANT OPTION", "Grant privileges for user $rp on database $rp");
} }
/* Dump schema workflow && data */ /* Dump schema workflow && data */
$this->log( "Import database schema:\n" ); $this->log("Import database schema:\n");
$myPortA = explode( ":", $this->options['database']['hostname'] ); $myPortA = explode(":", $this->options['database']['hostname']);
if (count( $myPortA ) < 2) { if (count($myPortA) < 2) {
$myPortA[1] = "3306"; $myPortA[1] = "3306";
} }
$myPort = $myPortA[1]; $myPort = $myPortA[1];
$this->options['database']['hostname'] = $myPortA[0]; $this->options['database']['hostname'] = $myPortA[0];
mysql_select_db( $wf, $this->connection_database ); mysql_select_db($wf, $this->connection_database);
$pws = PATH_WORKFLOW_MYSQL_DATA . $schema; $pws = PATH_WORKFLOW_MYSQL_DATA . $schema;
$qws = $this->query_sql_file( PATH_WORKFLOW_MYSQL_DATA . $schema, $this->connection_database ); $qws = $this->query_sql_file(PATH_WORKFLOW_MYSQL_DATA . $schema, $this->connection_database);
$this->log( $qws, isset( $qws['errors'] ) ); $this->log($qws, isset($qws['errors']));
$qwv = $this->query_sql_file( PATH_WORKFLOW_MYSQL_DATA . $values, $this->connection_database ); $qwv = $this->query_sql_file(PATH_WORKFLOW_MYSQL_DATA . $values, $this->connection_database);
$this->log( $qwv, isset( $qwv['errors'] ) ); $this->log($qwv, isset($qwv['errors']));
/* Dump schema rbac && data */ /* Dump schema rbac && data */
$pws = PATH_RBAC_MYSQL_DATA . $schema; $pws = PATH_RBAC_MYSQL_DATA . $schema;
mysql_select_db( $rb, $this->connection_database ); mysql_select_db($rb, $this->connection_database);
$qrs = $this->query_sql_file( PATH_RBAC_MYSQL_DATA . $schema, $this->connection_database ); $qrs = $this->query_sql_file(PATH_RBAC_MYSQL_DATA . $schema, $this->connection_database);
$this->log( $qrs, isset( $qrs['errors'] ) ); $this->log($qrs, isset($qrs['errors']));
$qrv = $this->query_sql_file( PATH_RBAC_MYSQL_DATA . $values, $this->connection_database ); $qrv = $this->query_sql_file(PATH_RBAC_MYSQL_DATA . $values, $this->connection_database);
$this->log( $qrv, isset( $qrv['errors'] ) ); $this->log($qrv, isset($qrv['errors']));
mysql_select_db( $wf, $this->connection_database ); mysql_select_db($wf, $this->connection_database);
require_once ("propel/Propel.php"); require_once ("propel/Propel.php");
require_once ('classes/model/AppCacheView.php'); require_once ('classes/model/AppCacheView.php');
$appCache = new AppCacheView(); $appCache = new AppCacheView();
$appCache->setPathToAppCacheFiles( PATH_METHODS . 'setup/setupSchemas/' ); $appCache->setPathToAppCacheFiles(PATH_METHODS . 'setup/setupSchemas/');
$triggers = $appCache->getTriggers( "en" ); $triggers = $appCache->getTriggers("en");
$this->log( "Create 'cases list cache' triggers" ); $this->log("Create 'cases list cache' triggers");
foreach ($triggers as $triggerName => $trigger) { foreach ($triggers as $triggerName => $trigger) {
$this->run_query( $trigger, "-> Trigger $triggerName" ); $this->run_query($trigger, "-> Trigger $triggerName");
} }
$path_site = $this->options['path_data'] . "/sites/" . $this->options['name'] . "/"; $path_site = $this->options['path_data'] . "/sites/" . $this->options['name'] . "/";
$db_file = $path_site . "db.php"; $db_file = $path_site . "db.php";
@mkdir( $path_site, 0777, true ); @mkdir($path_site, 0777, true);
@mkdir( $path_site . "files/", 0777, true ); @mkdir($path_site . "files/", 0777, true);
@mkdir( $path_site . "mailTemplates/", 0777, true ); @mkdir($path_site . "mailTemplates/", 0777, true);
@mkdir( $path_site . "public/", 0777, true ); @mkdir($path_site . "public/", 0777, true);
@mkdir( $path_site . "reports/", 0777, true ); @mkdir($path_site . "reports/", 0777, true);
@mkdir( $path_site . "xmlForms", 0777, true ); @mkdir($path_site . "xmlForms", 0777, true);
$db_text = "<?php\n" . "// Processmaker configuration\n" . "define ('DB_ADAPTER', 'mysql' );\n" . "define ('DB_HOST', '" . $this->options['database']['hostname'] . ":" . $myPort . "' );\n" . "define ('DB_NAME', '" . $wf . "' );\n" . "define ('DB_USER', '" . (($this->cc_status == 1) ? $wf : $this->options['database']['username']) . "' );\n" . "define ('DB_PASS', '" . (($this->cc_status == 1) ? $this->options['password'] : $this->options['database']['password']) . "' );\n" . "define ('DB_RBAC_HOST', '" . $this->options['database']['hostname'] . ":" . $myPort . "' );\n" . "define ('DB_RBAC_NAME', '" . $rb . "' );\n" . "define ('DB_RBAC_USER', '" . (($this->cc_status == 1) ? $rb : $this->options['database']['username']) . "' );\n" . "define ('DB_RBAC_PASS', '" . (($this->cc_status == 1) ? $this->options['password'] : $this->options['database']['password']) . "' );\n" . "define ('DB_REPORT_HOST', '" . $this->options['database']['hostname'] . ":" . $myPort . "' );\n" . "define ('DB_REPORT_NAME', '" . $rp . "' );\n" . "define ('DB_REPORT_USER', '" . (($this->cc_status == 1) ? $rp : $this->options['database']['username']) . "' );\n" . "define ('DB_REPORT_PASS', '" . (($this->cc_status == 1) ? $this->options['password'] : $this->options['database']['password']) . "' );\n" . "?>"; $db_text = "<?php\n" . "// Processmaker configuration\n" . "define ('DB_ADAPTER', 'mysql' );\n" . "define ('DB_HOST', '" . $this->options['database']['hostname'] . ":" . $myPort . "' );\n" . "define ('DB_NAME', '" . $wf . "' );\n" . "define ('DB_USER', '" . (($this->cc_status == 1) ? $wf : $this->options['database']['username']) . "' );\n" . "define ('DB_PASS', '" . (($this->cc_status == 1) ? $this->options['password'] : $this->options['database']['password']) . "' );\n" . "define ('DB_RBAC_HOST', '" . $this->options['database']['hostname'] . ":" . $myPort . "' );\n" . "define ('DB_RBAC_NAME', '" . $rb . "' );\n" . "define ('DB_RBAC_USER', '" . (($this->cc_status == 1) ? $rb : $this->options['database']['username']) . "' );\n" . "define ('DB_RBAC_PASS', '" . (($this->cc_status == 1) ? $this->options['password'] : $this->options['database']['password']) . "' );\n" . "define ('DB_REPORT_HOST', '" . $this->options['database']['hostname'] . ":" . $myPort . "' );\n" . "define ('DB_REPORT_NAME', '" . $rp . "' );\n" . "define ('DB_REPORT_USER', '" . (($this->cc_status == 1) ? $rp : $this->options['database']['username']) . "' );\n" . "define ('DB_REPORT_PASS', '" . (($this->cc_status == 1) ? $this->options['password'] : $this->options['database']['password']) . "' );\n" . "?>";
$fp = @fopen( $db_file, "w" ); $fp = @fopen($db_file, "w");
$this->log( "Create: " . $db_file . " => " . ((! $fp) ? $fp : "OK") . "\n", $fp === FALSE ); $this->log("Create: " . $db_file . " => " . ((!$fp) ? $fp : "OK") . "\n", $fp === false);
$ff = @fputs( $fp, $db_text, strlen( $db_text ) ); $ff = @fputs($fp, $db_text, strlen($db_text));
$this->log( "Write: " . $db_file . " => " . ((! $ff) ? $ff : "OK") . "\n", $ff === FALSE ); $this->log("Write: " . $db_file . " => " . ((!$ff) ? $ff : "OK") . "\n", $ff === false);
fclose( $fp ); fclose($fp);
$this->set_admin(); $this->set_admin();
} }
return $test; return $test;
@@ -215,18 +212,18 @@ class Installer
* *
* @return void * @return void
*/ */
public function set_admin () public function set_admin()
{ {
mysql_select_db( $this->wf_site_name, $this->connection_database ); mysql_select_db($this->wf_site_name, $this->connection_database);
// The mysql_escape_string function has been DEPRECATED as of PHP 5.3.0. // The mysql_escape_string function has been DEPRECATED as of PHP 5.3.0.
// $this->run_query('UPDATE USERS SET USR_USERNAME = \''.mysql_escape_string($this->options['admin']['username']).'\', `USR_PASSWORD` = \''.md5($this->options['admin']['password']).'\' WHERE `USR_UID` = \'00000000000000000000000000000001\' LIMIT 1', // $this->run_query('UPDATE USERS SET USR_USERNAME = \''.mysql_escape_string($this->options['admin']['username']).'\', `USR_PASSWORD` = \''.md5($this->options['admin']['password']).'\' WHERE `USR_UID` = \'00000000000000000000000000000001\' LIMIT 1',
// "Add 'admin' user in ProcessMaker (wf)"); // "Add 'admin' user in ProcessMaker (wf)");
$this->run_query( 'UPDATE USERS SET USR_USERNAME = \'' . mysql_real_escape_string( $this->options['admin']['username'] ) . '\', ' . ' `USR_PASSWORD` = \'' . md5( $this->options['admin']['password'] ) . '\' ' . ' WHERE `USR_UID` = \'00000000000000000000000000000001\' LIMIT 1', "Add 'admin' user in ProcessMaker (wf)" ); $this->run_query('UPDATE USERS SET USR_USERNAME = \'' . mysql_real_escape_string($this->options['admin']['username']) . '\', ' . ' `USR_PASSWORD` = \'' . md5($this->options['admin']['password']) . '\' ' . ' WHERE `USR_UID` = \'00000000000000000000000000000001\' LIMIT 1', "Add 'admin' user in ProcessMaker (wf)");
mysql_select_db( $this->rbac_site_name, $this->connection_database ); mysql_select_db($this->rbac_site_name, $this->connection_database);
// The mysql_escape_string function has been DEPRECATED as of PHP 5.3.0. // The mysql_escape_string function has been DEPRECATED as of PHP 5.3.0.
// $this->run_query('UPDATE USERS SET USR_USERNAME = \''.mysql_escape_string($this->options['admin']['username']).'\', `USR_PASSWORD` = \''.md5($this->options['admin']['password']).'\' WHERE `USR_UID` = \'00000000000000000000000000000001\' LIMIT 1', // $this->run_query('UPDATE USERS SET USR_USERNAME = \''.mysql_escape_string($this->options['admin']['username']).'\', `USR_PASSWORD` = \''.md5($this->options['admin']['password']).'\' WHERE `USR_UID` = \'00000000000000000000000000000001\' LIMIT 1',
// "Add 'admin' user in ProcessMaker (rb)"); // "Add 'admin' user in ProcessMaker (rb)");
$this->run_query( 'UPDATE USERS SET USR_USERNAME = \'' . mysql_real_escape_string( $this->options['admin']['username'] ) . '\', ' . ' `USR_PASSWORD` = \'' . md5( $this->options['admin']['password'] ) . '\' ' . ' WHERE `USR_UID` = \'00000000000000000000000000000001\' LIMIT 1', "Add 'admin' user in ProcessMaker (rb)" ); $this->run_query('UPDATE USERS SET USR_USERNAME = \'' . mysql_real_escape_string($this->options['admin']['username']) . '\', ' . ' `USR_PASSWORD` = \'' . md5($this->options['admin']['password']) . '\' ' . ' WHERE `USR_UID` = \'00000000000000000000000000000001\' LIMIT 1', "Add 'admin' user in ProcessMaker (rb)");
} }
/** /**
@@ -236,11 +233,11 @@ class Installer
* @param string $query SQL command * @param string $query SQL command
* @param string $description Description to log instead of $query * @param string $description Description to log instead of $query
*/ */
private function run_query ($query, $description = NULL) private function run_query($query, $description = null)
{ {
$result = @mysql_query( $query, $this->connection_database ); $result = @mysql_query($query, $this->connection_database);
$error = ($result) ? false : mysql_error(); $error = ($result) ? false : mysql_error();
$this->log( ($description ? $description : $query) . " => " . (($error) ? $error : "OK") . "\n", $error ); $this->log(($description ? $description : $query) . " => " . (($error) ? $error : "OK") . "\n", $error);
} }
/** /**
@@ -250,29 +247,29 @@ class Installer
* @param string $connection * @param string $connection
* @return array $report * @return array $report
*/ */
public function query_sql_file ($file, $connection) public function query_sql_file($file, $connection)
{ {
$lines = file( $file ); $lines = file($file);
$previous = NULL; $previous = null;
$errors = ''; $errors = '';
@mysql_query( "SET NAMES 'utf8';" ); @mysql_query("SET NAMES 'utf8';");
foreach ($lines as $j => $line) { foreach ($lines as $j => $line) {
$line = trim( $line ); // Remove comments from the script $line = trim($line); // Remove comments from the script
if (strpos( $line, "--" ) === 0) { if (strpos($line, "--") === 0) {
$line = substr( $line, 0, strpos( $line, "--" ) ); $line = substr($line, 0, strpos($line, "--"));
} }
if (empty( $line )) { if (empty($line)) {
continue; continue;
} }
if (strpos( $line, "#" ) === 0) { if (strpos($line, "#") === 0) {
$line = substr( $line, 0, strpos( $line, "#" ) ); $line = substr($line, 0, strpos($line, "#"));
} }
if (empty( $line )) { if (empty($line)) {
continue; continue;
} }
@@ -280,17 +277,17 @@ class Installer
if ($previous) { if ($previous) {
$line = $previous . " " . $line; $line = $previous . " " . $line;
} }
$previous = NULL; $previous = null;
// If the current line doesnt end with ; then put this line together // If the current line doesnt end with ; then put this line together
// with the next one, thus supporting multi-line statements. // with the next one, thus supporting multi-line statements.
if (strrpos( $line, ";" ) != strlen( $line ) - 1) { if (strrpos($line, ";") != strlen($line) - 1) {
$previous = $line; $previous = $line;
continue; continue;
} }
$line = substr( $line, 0, strrpos( $line, ";" ) ); $line = substr($line, 0, strrpos($line, ";"));
@mysql_query( $line, $connection ); @mysql_query($line, $connection);
} }
} }
@@ -300,9 +297,8 @@ class Installer
* @return void * @return void
* @todo Empty function * @todo Empty function
*/ */
private function check_path () private function check_path()
{ {
} }
/** /**
@@ -311,11 +307,11 @@ class Installer
* @param string $path * @param string $path
* @return string $path * @return string $path
*/ */
private function find_root_path ($path) private function find_root_path($path)
{ {
$i = 0; //prevent loop inifinity $i = 0; //prevent loop inifinity
while (! is_dir( $path ) && ($path = dirname( $path )) && ((strlen( $path ) > 1) && $i < 10)) { while (!is_dir($path) && ($path = dirname($path)) && ((strlen($path) > 1) && $i < 10)) {
$i ++; $i++;
} }
return $path; return $path;
} }
@@ -327,12 +323,13 @@ class Installer
* @param integer $def default value 777 * @param integer $def default value 777
* @return integer $def * @return integer $def
*/ */
public function file_permisions ($file, $def = 777) public function file_permisions($file, $def = 777)
{ {
if (PHP_OS == 'WINNT') if (PHP_OS == 'WINNT') {
return $def; return $def;
else } else {
return (int) substr( sprintf( '%o', @fileperms( $file ) ), - 4 ); return (int) substr(sprintf('%o', @fileperms($file)), - 4);
}
} }
/** /**
@@ -341,14 +338,14 @@ class Installer
* @param string $dir default value empty * @param string $dir default value empty
* @return string $path * @return string $path
*/ */
public function is_dir_writable ($dir = '') public function is_dir_writable($dir = '')
{ {
if (PHP_OS == 'WINNT') { if (PHP_OS == 'WINNT') {
$dir = $this->find_root_path( $dir ); $dir = $this->find_root_path($dir);
return file_exists( $dir ); return file_exists($dir);
} else { } else {
$dir = $this->find_root_path( $dir ); $dir = $this->find_root_path($dir);
return (is_writable( $dir ) && is_readable( $dir )); return (is_writable($dir) && is_readable($dir));
} }
} }
@@ -358,18 +355,18 @@ class Installer
* @param string $dir default value empty * @param string $dir default value empty
* @return string $path * @return string $path
*/ */
public function getDirectoryFiles ($dir, $extension) public function getDirectoryFiles($dir, $extension)
{ {
$filesArray = array (); $filesArray = array();
if (file_exists( $dir )) { if (file_exists($dir)) {
if ($handle = opendir( $dir )) { if ($handle = opendir($dir)) {
while (false !== ($file = readdir( $handle ))) { while (false !== ($file = readdir($handle))) {
$fileParts = explode( ".", $file ); $fileParts = explode(".", $file);
if ($fileParts[count( $fileParts ) - 1] == $extension) { if ($fileParts[count($fileParts) - 1] == $extension) {
$filesArray[] = $file; $filesArray[] = $file;
} }
} }
closedir( $handle ); closedir($handle);
} }
} }
return $filesArray; return $filesArray;
@@ -381,14 +378,14 @@ class Installer
* @param string $dbName * @param string $dbName
* @return boolean true or false * @return boolean true or false
*/ */
public function check_db_empty ($dbName) public function check_db_empty($dbName)
{ {
$a = @mysql_select_db( $dbName, $this->connection_database ); $a = @mysql_select_db($dbName, $this->connection_database);
if (! $a) { if (!$a) {
return true; return true;
} }
$q = @mysql_query( 'SHOW TABLES', $this->connection_database ); $q = @mysql_query('SHOW TABLES', $this->connection_database);
return (@mysql_num_rows( $q ) > 0) ? false : true; return (@mysql_num_rows($q) > 0) ? false : true;
} }
/** /**
@@ -397,32 +394,32 @@ class Installer
* @param string $dbName * @param string $dbName
* @return Array Array('status' => true or false,'message' => string) * @return Array Array('status' => true or false,'message' => string)
*/ */
public function check_db ($dbName) public function check_db($dbName)
{ {
if (! $this->connection_database) { if (!$this->connection_database) {
//erik: new verification if the mysql extension is enabled //erik: new verification if the mysql extension is enabled
$error = class_exists( 'mysql_error' ) ? mysql_error() : 'Mysql Module for PHP is not enabled!'; $error = class_exists('mysql_error') ? mysql_error() : 'Mysql Module for PHP is not enabled!';
return Array ('status' => false,'message' => $error return Array('status' => false, 'message' => $error
); );
} else { } else {
if (! mysql_select_db( $dbName, $this->connection_database ) && $this->cc_status != 1) { if (!mysql_select_db($dbName, $this->connection_database) && $this->cc_status != 1) {
return Array ('status' => false,'message' => mysql_error() return Array('status' => false, 'message' => mysql_error()
); );
} else { } else {
/* var_dump($this->options['advanced']['ao_db_drop'],$this->cc_status,$this->check_db_empty($dbName)); /* var_dump($this->options['advanced']['ao_db_drop'],$this->cc_status,$this->check_db_empty($dbName));
if(($this->options['advanced']['ao_db_drop']===false && $this->cc_status!=1 && !$this->check_db_empty($dbName)) ) if(($this->options['advanced']['ao_db_drop']===false && $this->cc_status!=1 && !$this->check_db_empty($dbName)) )
{ {
return Array('status'=>false,'message'=>'Database is not empty'); return Array('status'=>false,'message'=>'Database is not empty');
} }
else else
{ {
return Array('status'=>true,'message'=>'OK'); return Array('status'=>true,'message'=>'OK');
}*/ } */
if ($this->options['advanced']['ao_db_drop'] === true || $this->check_db_empty( $dbName )) { if ($this->options['advanced']['ao_db_drop'] === true || $this->check_db_empty($dbName)) {
return Array ('status' => true,'message' => 'PASSED' return Array('status' => true, 'message' => 'PASSED'
); );
} else { } else {
return Array ('status' => false,'message' => 'Database is not empty' return Array('status' => false, 'message' => 'Database is not empty'
); );
} }
} }
@@ -434,31 +431,31 @@ class Installer
* *
* @return Array $rt * @return Array $rt
*/ */
private function check_connection () private function check_connection()
{ {
if (! function_exists( "mysql_connect" )) { if (!function_exists("mysql_connect")) {
$this->cc_status = 0; $this->cc_status = 0;
$rt = Array ('connection' => false,'grant' => 0,'version' => false,'message' => "ERROR: Mysql Module for PHP is not enabled, try install <b>php-mysql</b> package.",'ao' => Array ('ao_db_wf' => false,'ao_db_rb' => false,'ao_db_rp' => false $rt = Array('connection' => false, 'grant' => 0, 'version' => false, 'message' => "ERROR: Mysql Module for PHP is not enabled, try install <b>php-mysql</b> package.", 'ao' => Array('ao_db_wf' => false, 'ao_db_rb' => false, 'ao_db_rp' => false
) )
); );
} else { } else {
$this->connection_database = @mysql_connect( $this->options['database']['hostname'], $this->options['database']['username'], $this->options['database']['password'] ); $this->connection_database = @mysql_connect($this->options['database']['hostname'], $this->options['database']['username'], $this->options['database']['password']);
$rt = Array ('version' => false,'ao' => Array ('ao_db_wf' => false,'ao_db_rb' => false,'ao_db_rp' => false $rt = Array('version' => false, 'ao' => Array('ao_db_wf' => false, 'ao_db_rb' => false, 'ao_db_rp' => false
) )
); );
if (! $this->connection_database) { if (!$this->connection_database) {
$this->cc_status = 0; $this->cc_status = 0;
$rt['connection'] = false; $rt['connection'] = false;
$rt['grant'] = 0; $rt['grant'] = 0;
$rt['message'] = "Mysql error: " . mysql_error(); $rt['message'] = "Mysql error: " . mysql_error();
} else { } else {
preg_match( '@[0-9]+\.[0-9]+\.[0-9]+@', mysql_get_server_info( $this->connection_database ), $version ); preg_match('@[0-9]+\.[0-9]+\.[0-9]+@', mysql_get_server_info($this->connection_database), $version);
$rt['version'] = version_compare( @$version[0], "4.1.0", ">=" ); $rt['version'] = version_compare(@$version[0], "4.1.0", ">=");
$rt['connection'] = true; $rt['connection'] = true;
$dbNameTest = "PROCESSMAKERTESTDC"; $dbNameTest = "PROCESSMAKERTESTDC";
$db = @mysql_query( "CREATE DATABASE " . $dbNameTest, $this->connection_database ); $db = @mysql_query("CREATE DATABASE " . $dbNameTest, $this->connection_database);
if (! $db) { if (!$db) {
$this->cc_status = 3; $this->cc_status = 3;
$rt['grant'] = 3; $rt['grant'] = 3;
//$rt['message'] = "Db GRANTS error: ".mysql_error(); //$rt['message'] = "Db GRANTS error: ".mysql_error();
@@ -468,27 +465,26 @@ class Installer
//@mysql_drop_db("processmaker_testGA"); //@mysql_drop_db("processmaker_testGA");
$usrTest = "wfrbtest"; $usrTest = "wfrbtest";
$chkG = "GRANT ALL PRIVILEGES ON `" . $dbNameTest . "`.* TO " . $usrTest . "@'%' IDENTIFIED BY 'sample' WITH GRANT OPTION"; $chkG = "GRANT ALL PRIVILEGES ON `" . $dbNameTest . "`.* TO " . $usrTest . "@'%' IDENTIFIED BY 'sample' WITH GRANT OPTION";
$ch = @mysql_query( $chkG, $this->connection_database ); $ch = @mysql_query($chkG, $this->connection_database);
if (! $ch) { if (!$ch) {
$this->cc_status = 2; $this->cc_status = 2;
$rt['grant'] = 2; $rt['grant'] = 2;
//$rt['message'] = "USER PRIVILEGES ERROR"; //$rt['message'] = "USER PRIVILEGES ERROR";
$rt['message'] = "Successful connection"; $rt['message'] = "Successful connection";
} else { } else {
$this->cc_status = 1; $this->cc_status = 1;
@mysql_query( "DROP USER " . $usrTest . "@'%'", $this->connection_database ); @mysql_query("DROP USER " . $usrTest . "@'%'", $this->connection_database);
$rt['grant'] = 1; $rt['grant'] = 1;
$rt['message'] = "Successful connection"; $rt['message'] = "Successful connection";
} }
@mysql_query( "DROP DATABASE " . $dbNameTest, $this->connection_database ); @mysql_query("DROP DATABASE " . $dbNameTest, $this->connection_database);
} }
// var_dump($wf,$rb,$rp); // var_dump($wf,$rb,$rp);
} }
} }
$rt['ao']['ao_db_wf'] = $this->check_db( $this->options['advanced']['ao_db_wf'] ); $rt['ao']['ao_db_wf'] = $this->check_db($this->options['advanced']['ao_db_wf']);
$rt['ao']['ao_db_rb'] = $this->check_db( $this->options['advanced']['ao_db_rb'] ); $rt['ao']['ao_db_rb'] = $this->check_db($this->options['advanced']['ao_db_rb']);
$rt['ao']['ao_db_rp'] = $this->check_db( $this->options['advanced']['ao_db_rp'] ); $rt['ao']['ao_db_rp'] = $this->check_db($this->options['advanced']['ao_db_rp']);
return $rt; return $rt;
} }
@@ -498,11 +494,12 @@ class Installer
* @param string $text * @param string $text
* @return void * @return void
*/ */
public function log ($text, $failed = NULL) public function log($text, $failed = null)
{ {
array_push( $this->report, $text ); array_push($this->report, $text);
if ($failed) if ($failed) {
throw new Exception( is_string( $text ) ? $text : var_export( $text, true ) ); throw new Exception(is_string($text) ? $text : var_export($text, true) );
}
} }
} }
?>

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* class.dates.php * class.dates.php
* *
@@ -30,7 +31,6 @@
* *
* @author David Callizaya <davidsantos@colosa.com> * @author David Callizaya <davidsantos@colosa.com>
*/ */
require_once ("classes/model/TaskPeer.php"); require_once ("classes/model/TaskPeer.php");
require_once ("classes/model/HolidayPeer.php"); require_once ("classes/model/HolidayPeer.php");
@@ -40,14 +40,14 @@ require_once ("classes/model/HolidayPeer.php");
*/ */
class dates class dates
{ {
private $holidays = array ();
private $weekends = array (); private $holidays = array();
private $range = array (); private $weekends = array();
private $range = array();
private $skipEveryYear = true; private $skipEveryYear = true;
private $calendarDays = false; //by default we are using working days private $calendarDays = false; //by default we are using working days
private $hoursPerDay = 8; //you should change this private $hoursPerDay = 8; //you should change this
/** /**
* Function that calculate a final date based on $sInitDate and $iDuration * Function that calculate a final date based on $sInitDate and $iDuration
* This function also uses a Calendar component (class.calendar.php) where all the definition of * This function also uses a Calendar component (class.calendar.php) where all the definition of
@@ -70,14 +70,14 @@ class dates
* *
* *
*/ */
function calculateDate ($sInitDate, $iDuration, $sTimeUnit, $iTypeDay, $UsrUid = NULL, $ProUid = NULL, $TasUid = NULL) public function calculateDate($sInitDate, $iDuration, $sTimeUnit, $iTypeDay, $UsrUid = null, $ProUid = null, $TasUid = null)
{ {
//$oldDate=$this->calculateDate_noCalendar( $sInitDate, $iDuration, $sTimeUnit, $iTypeDay, $UsrUid, $ProUid, $TasUid); //$oldDate=$this->calculateDate_noCalendar( $sInitDate, $iDuration, $sTimeUnit, $iTypeDay, $UsrUid, $ProUid, $TasUid);
//Set Calendar when the object is instanced in this order/priority (Task, User, Process, Default) //Set Calendar when the object is instanced in this order/priority (Task, User, Process, Default)
G::LoadClass( 'calendar' ); G::LoadClass('calendar');
$calendarObj = new calendar( $UsrUid, $ProUid, $TasUid ); $calendarObj = new calendar($UsrUid, $ProUid, $TasUid);
//Get next Business Hours/Range based on : //Get next Business Hours/Range based on :
switch (strtoupper( $sTimeUnit )) { switch (strtoupper($sTimeUnit)) {
case 'DAYS': case 'DAYS':
$hoursToProcess = $iDuration * 8; $hoursToProcess = $iDuration * 8;
break; //In Hours break; //In Hours
@@ -85,75 +85,75 @@ class dates
$hoursToProcess = $iDuration; $hoursToProcess = $iDuration;
break; //In Hours break; //In Hours
} }
$dateArray = explode( " ", $sInitDate ); $dateArray = explode(" ", $sInitDate);
$currentDate = $dateArray[0]; $currentDate = $dateArray[0];
$currentTime = isset( $dateArray[1] ) ? $dateArray[1] : "00:00:00"; $currentTime = isset($dateArray[1]) ? $dateArray[1] : "00:00:00";
$startTime = (float) array_sum( explode( ' ', microtime() ) ); $startTime = (float) array_sum(explode(' ', microtime()));
$calendarObj->addCalendarLog( "* Starting at: $startTime" ); $calendarObj->addCalendarLog("* Starting at: $startTime");
$calendarObj->addCalendarLog( ">>>>> Hours to Process: $hoursToProcess" ); $calendarObj->addCalendarLog(">>>>> Hours to Process: $hoursToProcess");
$calendarObj->addCalendarLog( ">>>>> Current Date: $currentDate" ); $calendarObj->addCalendarLog(">>>>> Current Date: $currentDate");
$calendarObj->addCalendarLog( ">>>>> Current Time: $currentTime" ); $calendarObj->addCalendarLog(">>>>> Current Time: $currentTime");
$array_hours = explode( ":", $currentTime ); $array_hours = explode(":", $currentTime);
$seconds2 = $array_hours[2]; $seconds2 = $array_hours[2];
$minutes2 = 0; $minutes2 = 0;
while ($hoursToProcess > 0) { while ($hoursToProcess > 0) {
$validBusinessHour = $calendarObj->getNextValidBusinessHoursRange( $currentDate, $currentTime ); $validBusinessHour = $calendarObj->getNextValidBusinessHoursRange($currentDate, $currentTime);
//For Date/Time operations //For Date/Time operations
$currentDateA = explode( "-", $validBusinessHour['DATE'] ); $currentDateA = explode("-", $validBusinessHour['DATE']);
$currentTimeA = explode( ":", $validBusinessHour['TIME'] ); $currentTimeA = explode(":", $validBusinessHour['TIME']);
$hour = $currentTimeA[0]; $hour = $currentTimeA[0];
$minute = $currentTimeA[1]; $minute = $currentTimeA[1];
$second = isset( $currentTimeA[2] ) ? $currentTimeA[2] : 0; $second = isset($currentTimeA[2]) ? $currentTimeA[2] : 0;
$month = $currentDateA[1]; $month = $currentDateA[1];
$day = $currentDateA[2]; $day = $currentDateA[2];
$year = $currentDateA[0]; $year = $currentDateA[0];
$normalizedDate = date( "Y-m-d H:i:s", mktime( $hour, $minute, $second, $month, $day, $year ) ); $normalizedDate = date("Y-m-d H:i:s", mktime($hour, $minute, $second, $month, $day, $year));
$normalizedDateInt = mktime( $hour, $minute, $second, $month, $day, $year ); $normalizedDateInt = mktime($hour, $minute, $second, $month, $day, $year);
$normalizedDateSeconds = ($hour * 60 * 60) + ($minute * 60); $normalizedDateSeconds = ($hour * 60 * 60) + ($minute * 60);
$arrayHour = explode( ".", $hoursToProcess ); $arrayHour = explode(".", $hoursToProcess);
if (isset( $arrayHour[1] )) { if (isset($arrayHour[1])) {
$minutes1 = $arrayHour[1]; $minutes1 = $arrayHour[1];
$cadm = strlen( $minutes1 ); $cadm = strlen($minutes1);
$minutes2 = (($minutes1 / pow( 10, $cadm )) * 60); $minutes2 = (($minutes1 / pow(10, $cadm)) * 60);
} }
$possibleTime = date( "Y-m-d H:i:s", mktime( $hour + $hoursToProcess, $minute + $minutes2, $second + $seconds2, $month, $day, $year ) ); $possibleTime = date("Y-m-d H:i:s", mktime($hour + $hoursToProcess, $minute + $minutes2, $second + $seconds2, $month, $day, $year));
$possibleTimeInt = mktime( $hour + $hoursToProcess, $minute + $minutes2, $second + $seconds2, $month, $day, $year ); $possibleTimeInt = mktime($hour + $hoursToProcess, $minute + $minutes2, $second + $seconds2, $month, $day, $year);
$offsetPermitedMinutes = "0"; $offsetPermitedMinutes = "0";
$calendarBusinessEndA = explode( ":", $validBusinessHour['BUSINESS_HOURS']['CALENDAR_BUSINESS_END'] ); $calendarBusinessEndA = explode(":", $validBusinessHour['BUSINESS_HOURS']['CALENDAR_BUSINESS_END']);
$calendarBusinessEndNormalized = date( "Y-m-d H:i:s", mktime( $calendarBusinessEndA[0], $calendarBusinessEndA[1] + $offsetPermitedMinutes, 0, $month, $day, $year ) ); $calendarBusinessEndNormalized = date("Y-m-d H:i:s", mktime($calendarBusinessEndA[0], $calendarBusinessEndA[1] + $offsetPermitedMinutes, 0, $month, $day, $year));
$calendarBusinessEndInt = mktime( $calendarBusinessEndA[0], $calendarBusinessEndA[1] + $offsetPermitedMinutes, 0, $month, $day, $year ); $calendarBusinessEndInt = mktime($calendarBusinessEndA[0], $calendarBusinessEndA[1] + $offsetPermitedMinutes, 0, $month, $day, $year);
$calendarBusinessEndSeconds = ($calendarBusinessEndA[0] * 60 * 60) + ($calendarBusinessEndA[1] * 60); $calendarBusinessEndSeconds = ($calendarBusinessEndA[0] * 60 * 60) + ($calendarBusinessEndA[1] * 60);
$calendarObj->addCalendarLog( "Possible time: $possibleTime" ); $calendarObj->addCalendarLog("Possible time: $possibleTime");
$calendarObj->addCalendarLog( "Current Start Date/Time: $normalizedDate" ); $calendarObj->addCalendarLog("Current Start Date/Time: $normalizedDate");
$calendarObj->addCalendarLog( "Calendar Business End: $calendarBusinessEndNormalized" ); $calendarObj->addCalendarLog("Calendar Business End: $calendarBusinessEndNormalized");
if ($possibleTimeInt > $calendarBusinessEndInt) { if ($possibleTimeInt > $calendarBusinessEndInt) {
$currentDateTimeB = explode( " ", $calendarBusinessEndNormalized ); $currentDateTimeB = explode(" ", $calendarBusinessEndNormalized);
$currentDate = $currentDateTimeB[0]; $currentDate = $currentDateTimeB[0];
$currentTime = $currentDateTimeB[1]; $currentTime = $currentDateTimeB[1];
$diff = abs( $normalizedDateSeconds - $calendarBusinessEndSeconds ); $diff = abs($normalizedDateSeconds - $calendarBusinessEndSeconds);
$diffHours = $diff / 3600; $diffHours = $diff / 3600;
$hoursToProcess = $hoursToProcess - $diffHours; $hoursToProcess = $hoursToProcess - $diffHours;
} else { } else {
$currentDateTimeA = explode( " ", $possibleTime ); $currentDateTimeA = explode(" ", $possibleTime);
$currentDate = $currentDateTimeA[0]; $currentDate = $currentDateTimeA[0];
$currentTime = $currentDateTimeA[1]; $currentTime = $currentDateTimeA[1];
$hoursToProcess = 0; $hoursToProcess = 0;
} }
$calendarObj->addCalendarLog( "** Hours to Process: $hoursToProcess" ); $calendarObj->addCalendarLog("** Hours to Process: $hoursToProcess");
} }
$calendarObj->addCalendarLog( "+++++++++++ Calculated Due Date $currentDate $currentTime" ); $calendarObj->addCalendarLog("+++++++++++ Calculated Due Date $currentDate $currentTime");
$result['DUE_DATE'] = $currentDate . " " . $currentTime; $result['DUE_DATE'] = $currentDate . " " . $currentTime;
$result['DUE_DATE_SECONDS'] = strtotime( $currentDate . " " . $currentTime ); $result['DUE_DATE_SECONDS'] = strtotime($currentDate . " " . $currentTime);
//$result['OLD_DUE_DATE'] = date("Y-m-d H:i:s",$oldDate); //$result['OLD_DUE_DATE'] = date("Y-m-d H:i:s",$oldDate);
//$result['OLD_DUE_DATE_SECONDS']= $oldDate; //$result['OLD_DUE_DATE_SECONDS']= $oldDate;
$endTime = (float) array_sum( explode( ' ', microtime() ) ); $endTime = (float) array_sum(explode(' ', microtime()));
$calendarObj->addCalendarLog( "* Ending at: $endTime" ); $calendarObj->addCalendarLog("* Ending at: $endTime");
$calcTime = round( $endTime - $startTime, 3 ); $calcTime = round($endTime - $startTime, 3);
$calendarObj->addCalendarLog( "** Processing time: " . sprintf( "%.4f", ($endTime - $startTime) ) . " seconds" ); $calendarObj->addCalendarLog("** Processing time: " . sprintf("%.4f", ($endTime - $startTime)) . " seconds");
$result['DUE_DATE_LOG'] = $calendarObj->calendarLog; $result['DUE_DATE_LOG'] = $calendarObj->calendarLog;
return $result; return $result;
} }
@@ -175,34 +175,35 @@ class dates
* @return integer timestamp of the result * @return integer timestamp of the result
* @deprecated renamed by Hugo Loza (see calculateDate new function) * @deprecated renamed by Hugo Loza (see calculateDate new function)
*/ */
public function calculateDate_noCalendar($sInitDate, $iDuration, $sTimeUnit, $iTypeDay, $UsrUid = null, $ProUid = null, $TasUid = null)
function calculateDate_noCalendar ($sInitDate, $iDuration, $sTimeUnit, $iTypeDay, $UsrUid = NULL, $ProUid = NULL, $TasUid = NULL)
{ {
//load in class variables the config of working days, holidays etc.. //load in class variables the config of working days, holidays etc..
$this->prepareInformation( $UsrUid, $ProUid, $TasUid ); $this->prepareInformation($UsrUid, $ProUid, $TasUid);
$iHours = 0; $iHours = 0;
$iDays = 0; $iDays = 0;
//convert the $iDuration and $sTimeUnit in hours and days, take in mind 8 hours = 1 day. and then we will have similar for 5 days = 1 weekends //convert the $iDuration and $sTimeUnit in hours and days, take in mind 8 hours = 1 day. and then we will have similar for 5 days = 1 weekends
if (strtolower( $sTimeUnit ) == 'hours') { if (strtolower($sTimeUnit) == 'hours') {
$iAux = intval( abs( $iDuration ) ); $iAux = intval(abs($iDuration));
$iHours = $iAux % $this->hoursPerDay; $iHours = $iAux % $this->hoursPerDay;
$iDays = intval( $iAux / $this->hoursPerDay ); $iDays = intval($iAux / $this->hoursPerDay);
} }
if (strtolower( $sTimeUnit ) == 'days') { if (strtolower($sTimeUnit) == 'days') {
$iAux = intval( abs( $iDuration * $this->hoursPerDay ) ); $iAux = intval(abs($iDuration * $this->hoursPerDay));
$iHours = $iAux % 8; $iHours = $iAux % 8;
$iDays = intval( $iAux / 8 ); $iDays = intval($iAux / 8);
} }
$addSign = ($iDuration >= 0) ? '+' : '-'; $addSign = ($iDuration >= 0) ? '+' : '-';
$iInitDate = strtotime( $sInitDate ); $iInitDate = strtotime($sInitDate);
if ($iTypeDay == 1) { // working days if ($iTypeDay == 1) {
// working days
// if there are days calculate the days, // if there are days calculate the days,
$iEndDate = $this->addDays( $iInitDate, $iDays, $addSign ); $iEndDate = $this->addDays($iInitDate, $iDays, $addSign);
// if there are hours calculate the hours, and probably add a day if the quantity of hours for last day > 8 hours // if there are hours calculate the hours, and probably add a day if the quantity of hours for last day > 8 hours
$iEndDate = $this->addHours( $iEndDate, $iHours, $addSign ); $iEndDate = $this->addHours($iEndDate, $iHours, $addSign);
} else { // $task->getTasTypeDay() == 2 // calendar days } else {
$iEndDate = strtotime( $addSign . $iDays . ' days ', $iInitDate ); // $task->getTasTypeDay() == 2 // calendar days
$iEndDate = strtotime( $addSign . $iHours . ' hours ', $iEndDate ); $iEndDate = strtotime($addSign . $iDays . ' days ', $iInitDate);
$iEndDate = strtotime($addSign . $iHours . ' hours ', $iEndDate);
} }
return $iEndDate; return $iEndDate;
} }
@@ -218,59 +219,57 @@ class dates
* @return int * @return int
* *
*/ */
function calculateDuration ($sInitDate, $sEndDate = '', $UsrUid = NULL, $ProUid = NULL, $TasUid = NULL) public function calculateDuration($sInitDate, $sEndDate = '', $UsrUid = null, $ProUid = null, $TasUid = null)
{ {
$this->prepareInformation( $UsrUid, $ProUid, $TasUid ); $this->prepareInformation($UsrUid, $ProUid, $TasUid);
if ((string) $sEndDate == '') { if ((string) $sEndDate == '') {
$sEndDate = date( 'Y-m-d H:i:s' ); $sEndDate = date('Y-m-d H:i:s');
} }
if (strtotime( $sInitDate ) > strtotime( $sEndDate )) { if (strtotime($sInitDate) > strtotime($sEndDate)) {
$sAux = $sInitDate; $sAux = $sInitDate;
$sInitDate = $sEndDate; $sInitDate = $sEndDate;
$sEndDate = $sAux; $sEndDate = $sAux;
} }
$aAux1 = explode( ' ', $sInitDate ); $aAux1 = explode(' ', $sInitDate);
$aAux2 = explode( ' ', $sEndDate ); $aAux2 = explode(' ', $sEndDate);
$aInitDate = explode( '-', $aAux1[0] ); $aInitDate = explode('-', $aAux1[0]);
$aEndDate = explode( '-', $aAux2[0] ); $aEndDate = explode('-', $aAux2[0]);
$i = 1; $i = 1;
$iWorkedDays = 0; $iWorkedDays = 0;
$bFinished = false; $bFinished = false;
$fHours1 = 0.0; $fHours1 = 0.0;
$fHours2 = 0.0; $fHours2 = 0.0;
if (count( $aInitDate ) != 3) { if (count($aInitDate) != 3) {
$aInitDate = array (0,0,0 $aInitDate = array(0, 0, 0);
);
} }
if (count( $aEndDate ) != 3) { if (count($aEndDate) != 3) {
$aEndDate = array (0,0,0 $aEndDate = array(0, 0, 0);
);
} }
if ($aInitDate !== $aEndDate) { if ($aInitDate !== $aEndDate) {
while (! $bFinished && ($i < 10000)) { while (!$bFinished && ($i < 10000)) {
$sAux = date( 'Y-m-d', mktime( 0, 0, 0, $aInitDate[1], $aInitDate[2] + $i, $aInitDate[0] ) ); $sAux = date('Y-m-d', mktime(0, 0, 0, $aInitDate[1], $aInitDate[2] + $i, $aInitDate[0]));
if ($sAux != implode( '-', $aEndDate )) { if ($sAux != implode('-', $aEndDate)) {
if (! in_array( $sAux, $this->holidays )) { if (!in_array($sAux, $this->holidays)) {
if (! in_array( date( 'w', mktime( 0, 0, 0, $aInitDate[1], $aInitDate[2] + $i, $aInitDate[0] ) ), $this->weekends )) { if (!in_array(date('w', mktime(0, 0, 0, $aInitDate[1], $aInitDate[2] + $i, $aInitDate[0])), $this->weekends)) {
$iWorkedDays ++; $iWorkedDays++;
} }
} }
$i ++; $i++;
} else { } else {
$bFinished = true; $bFinished = true;
} }
} }
if (isset( $aAux1[1] )) { if (isset($aAux1[1])) {
$aAux1[1] = explode( ':', $aAux1[1] ); $aAux1[1] = explode(':', $aAux1[1]);
$fHours1 = 24 - ($aAux1[1][0] + ($aAux1[1][1] / 60) + ($aAux1[1][2] / 3600)); $fHours1 = 24 - ($aAux1[1][0] + ($aAux1[1][1] / 60) + ($aAux1[1][2] / 3600));
} }
if (isset( $aAux2[1] )) { if (isset($aAux2[1])) {
$aAux2[1] = explode( ':', $aAux2[1] ); $aAux2[1] = explode(':', $aAux2[1]);
$fHours2 = $aAux2[1][0] + ($aAux2[1][1] / 60) + ($aAux2[1][2] / 3600); $fHours2 = $aAux2[1][0] + ($aAux2[1][1] / 60) + ($aAux2[1][2] / 3600);
} }
$fDuration = ($iWorkedDays * 24) + $fHours1 + $fHours2; $fDuration = ($iWorkedDays * 24) + $fHours1 + $fHours2;
} else { } else {
$fDuration = (strtotime( $sEndDate ) - strtotime( $sInitDate )) / 3600; $fDuration = (strtotime($sEndDate) - strtotime($sInitDate)) / 3600;
} }
return $fDuration; return $fDuration;
} }
@@ -283,25 +282,25 @@ class dates
* @param string $TasUid * @param string $TasUid
* @return void * @return void
*/ */
function prepareInformation ($UsrUid = NULL, $ProUid = NULL, $TasUid = NULL) public function prepareInformation($UsrUid = null, $ProUid = null, $TasUid = null)
{ {
// setup calendarDays according the task // setup calendarDays according the task
if (isset( $TasUid )) { if (isset($TasUid)) {
$task = TaskPeer::retrieveByPK( $TasUid ); $task = TaskPeer::retrieveByPK($TasUid);
if (! is_null( $task )) { if (!is_null($task)) {
$this->calendarDays = ($task->getTasTypeDay() == 2); $this->calendarDays = ($task->getTasTypeDay() == 2);
} }
} }
//get an array with all holidays. //get an array with all holidays.
$aoHolidays = HolidayPeer::doSelect( new Criteria() ); $aoHolidays = HolidayPeer::doSelect(new Criteria());
$holidays = array (); $holidays = array();
foreach ($aoHolidays as $holiday) foreach ($aoHolidays as $holiday) {
$holidays[] = strtotime( $holiday->getHldDate() ); $holidays[] = strtotime($holiday->getHldDate());
}
// by default the weekdays are from monday to friday // by default the weekdays are from monday to friday
$this->weekends = array (0,6 $this->weekends = array(0, 6);
);
$this->holidays = $holidays; $this->holidays = $holidays;
return; return;
} }
@@ -312,7 +311,7 @@ class dates
* @param $bSkipEveryYear * @param $bSkipEveryYear
* @return void * @return void
*/ */
function setSkipEveryYear ($bSkipEveryYear) public function setSkipEveryYear($bSkipEveryYear)
{ {
$this->skipEveryYear = $bSkipEveryYear === true; $this->skipEveryYear = $bSkipEveryYear === true;
} }
@@ -323,12 +322,13 @@ class dates
* @param data $sDate * @param data $sDate
* @return void * @return void
*/ */
function addHoliday ($sDate) public function addHoliday($sDate)
{ {
if ($date = strtotime( $sDate )) if ($date = strtotime($sDate)) {
$this->holidays[] = self::truncateTime( $date ); $this->holidays[] = self::truncateTime($date);
else } else {
throw new Exception( "Invalid date: $sDate." ); throw new Exception("Invalid date: $sDate.");
}
} }
/** /**
@@ -337,10 +337,11 @@ class dates
* @param date/array $aDate must be an array of (strtotime type) dates * @param date/array $aDate must be an array of (strtotime type) dates
* @return void * @return void
*/ */
function setHolidays ($aDates) public function setHolidays($aDates)
{ {
foreach ($aDates as $sDate) foreach ($aDates as $sDate) {
$this->holidays = $aDates; $this->holidays = $aDates;
}
} }
/** /**
@@ -351,7 +352,7 @@ class dates
* 7=Saturday * 7=Saturday
* @return void * @return void
*/ */
function setWeekends ($aWeekends) public function setWeekends($aWeekends)
{ {
$this->weekends = $aWeekends; $this->weekends = $aWeekends;
} }
@@ -364,10 +365,11 @@ class dates
* 7=Saturday * 7=Saturday
* @return void * @return void
*/ */
function skipDayOfWeek ($iDayNumber) public function skipDayOfWeek($iDayNumber)
{ {
if ($iDayNumber < 1 || $iDayNumber > 7) if ($iDayNumber < 1 || $iDayNumber > 7) {
throw new Exception( "The day of week must be a number from 1 to 7." ); throw new Exception("The day of week must be a number from 1 to 7.");
}
$this->weekends[] = $iDayNumber; $this->weekends[] = $iDayNumber;
} }
@@ -378,24 +380,24 @@ class dates
* @param date $sDateB must be a (strtotime type) dates * @param date $sDateB must be a (strtotime type) dates
* @return void * @return void
*/ */
function addNonWorkingRange ($sDateA, $sDateB) public function addNonWorkingRange($sDateA, $sDateB)
{ {
if ($date = strtotime( $sDateA )) if ($date = strtotime($sDateA)) {
$iDateA = self::truncateTime( $date ); $iDateA = self::truncateTime($date);
else } else {
throw new Exception( "Invalid date: $sDateA." ); throw new Exception("Invalid date: $sDateA.");
if ($date = strtotime( $sDateB )) }
$iDateB = self::truncateTime( $date ); if ($date = strtotime($sDateB)) {
else $iDateB = self::truncateTime($date);
throw new Exception( "Invalid date: $sDateB." ); } else {
throw new Exception("Invalid date: $sDateB.");
}
if ($iDateA > $iDateB) { if ($iDateA > $iDateB) {
$s = $iDateA; $s = $iDateA;
$iDateA = $iDateB; $iDateA = $iDateB;
$iDateB = $s; $iDateB = $s;
} }
; $this->range[] = array($iDateA, $iDateB);
$this->range[] = array ($iDateA,$iDateB
);
} }
/** /**
@@ -407,15 +409,16 @@ class dates
* @param string $addSign * @param string $addSign
* @return date $iEndDate * @return date $iEndDate
*/ */
private function addDays ($iInitDate, $iDaysCount, $addSign = '+') private function addDays($iInitDate, $iDaysCount, $addSign = '+')
{ {
$iEndDate = $iInitDate; $iEndDate = $iInitDate;
$aList = $this->holidays; $aList = $this->holidays;
for ($r = 1; $r <= $iDaysCount; $r ++) { for ($r = 1; $r <= $iDaysCount; $r++) {
$iEndDate = strtotime( $addSign . "1 day", $iEndDate ); $iEndDate = strtotime($addSign . "1 day", $iEndDate);
$dayOfWeek = idate( 'w', $iEndDate ); //now sunday=0 $dayOfWeek = idate('w', $iEndDate); //now sunday=0
if (array_search( $dayOfWeek, $this->weekends ) !== false) if (array_search($dayOfWeek, $this->weekends) !== false) {
$r --; //continue loop, but we are adding one more day. $r--; //continue loop, but we are adding one more day.
}
} }
return $iEndDate; return $iEndDate;
} }
@@ -428,10 +431,9 @@ class dates
* @param string $addSign * @param string $addSign
* @return $iEndDate * @return $iEndDate
*/ */
private function addHours($sInitDate, $iHoursCount, $addSign = '+')
private function addHours ($sInitDate, $iHoursCount, $addSign = '+')
{ {
$iEndDate = strtotime( $addSign . $iHoursCount . " hours", $sInitDate ); $iEndDate = strtotime($addSign . $iHoursCount . " hours", $sInitDate);
return $iEndDate; return $iEndDate;
} }
@@ -441,18 +443,19 @@ class dates
* @param $iDate = valid timestamp * @param $iDate = valid timestamp
* @return true if it is within any of the ranges defined. * @return true if it is within any of the ranges defined.
*/ */
private function inRange ($iDate) private function inRange($iDate)
{ {
$aRange = $this->range; $aRange = $this->range;
$iYear = idate( 'Y', $iDate ); $iYear = idate('Y', $iDate);
foreach ($aRange as $key => $rang) { foreach ($aRange as $key => $rang) {
if ($this->skipEveryYear) { if ($this->skipEveryYear) {
$deltaYears = idate( 'Y', $rang[1] ) - idate( 'Y', $rang[0] ); $deltaYears = idate('Y', $rang[1]) - idate('Y', $rang[0]);
$rang[0] = self::changeYear( $rang[0], $iYear ); $rang[0] = self::changeYear($rang[0], $iYear);
$rang[1] = self::changeYear( $rang[1], $iYear + $deltaYears ); $rang[1] = self::changeYear($rang[1], $iYear + $deltaYears);
} }
if (($iDate >= $rang[0]) && ($iDate <= $rang[1])) if (($iDate >= $rang[0]) && ($iDate <= $rang[1])) {
return true; return true;
}
} }
return false; return false;
} }
@@ -463,9 +466,9 @@ class dates
* @param $iDate = valid timestamp * @param $iDate = valid timestamp
* @return date * @return date
*/ */
private function truncateTime ($iDate) private function truncateTime($iDate)
{ {
return mktime( 0, 0, 0, idate( 'm', $iDate ), idate( 'd', $iDate ), idate( 'Y', $iDate ) ); return mktime(0, 0, 0, idate('m', $iDate), idate('d', $iDate), idate('Y', $iDate));
} }
/** /**
@@ -474,10 +477,9 @@ class dates
* @param timestamp $iDate * @param timestamp $iDate
* @return date * @return date
*/ */
private function getTime ($iDate) private function getTime($iDate)
{ {
return array (idate( 'H', $iDate ),idate( 'm', $iDate ),idate( 's', $iDate ) return array(idate('H', $iDate), idate('m', $iDate), idate('s', $iDate));
);
} }
/** /**
@@ -487,9 +489,9 @@ class dates
* @param timestamp $aTime * @param timestamp $aTime
* @return date * @return date
*/ */
private function setTime ($iDate, $aTime) private function setTime($iDate, $aTime)
{ {
return mktime( $aTime[0], $aTime[1], $aTime[2], idate( 'm', $iDate ), idate( 'd', $iDate ), idate( 'Y', $iDate ) ); return mktime($aTime[0], $aTime[1], $aTime[2], idate('m', $iDate), idate('d', $iDate), idate('Y', $iDate));
} }
/** /**
@@ -501,11 +503,11 @@ class dates
* @param List $iYear * @param List $iYear
* @return array * @return array
*/ */
private function listForYear ($iYear) private function listForYear($iYear)
{ {
$aList = $this->holidays; $aList = $this->holidays;
foreach ($aList as $k => $v) { foreach ($aList as $k => $v) {
$aList[$k] = self::changeYear( $v, $iYear ); $aList[$k] = self::changeYear($v, $iYear);
} }
return $aList; return $aList;
} }
@@ -520,12 +522,12 @@ class dates
* @param date $iDate * @param date $iDate
* @return array * @return array
*/ */
private function changeYear ($iDate, $iYear) private function changeYear($iDate, $iYear)
{ {
if ($delta = ($iYear - idate( 'Y', $iDate ))) { if ($delta = ($iYear - idate('Y', $iDate))) {
$iDate = strtotime( "$delta year", $iDate ); $iDate = strtotime("$delta year", $iDate);
} }
return $iDate; return $iDate;
} }
} }
?>

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* class.groups.php * class.groups.php
* *
@@ -34,7 +35,6 @@ require_once 'classes/model/Users.php';
* @package workflow.engine.ProcessMaker * @package workflow.engine.ProcessMaker
* @copyright 2007 COLOSA * @copyright 2007 COLOSA
*/ */
class Groups class Groups
{ {
@@ -44,16 +44,16 @@ class Groups
* @param string $sGroupUID * @param string $sGroupUID
* @return array * @return array
*/ */
function getUsersOfGroup ($sGroupUID) public function getUsersOfGroup($sGroupUID)
{ {
try { try {
$aUsers = array (); $aUsers = array();
$oCriteria = new Criteria(); $oCriteria = new Criteria();
$oCriteria->addJoin( UsersPeer::USR_UID, GroupUserPeer::USR_UID, Criteria::LEFT_JOIN ); $oCriteria->addJoin(UsersPeer::USR_UID, GroupUserPeer::USR_UID, Criteria::LEFT_JOIN);
$oCriteria->add( GroupUserPeer::GRP_UID, $sGroupUID ); $oCriteria->add(GroupUserPeer::GRP_UID, $sGroupUID);
$oCriteria->add( UsersPeer::USR_STATUS, 'ACTIVE' ); $oCriteria->add(UsersPeer::USR_STATUS, 'ACTIVE');
$oDataset = UsersPeer::doSelectRS( $oCriteria ); $oDataset = UsersPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next(); $oDataset->next();
while ($aRow = $oDataset->getRow()) { while ($aRow = $oDataset->getRow()) {
@@ -72,22 +72,22 @@ class Groups
* @param string $sUserUID * @param string $sUserUID
* @return array * @return array
*/ */
function getActiveGroupsForAnUser ($sUserUID) public function getActiveGroupsForAnUser($sUserUID)
{ {
try { try {
$oCriteria = new Criteria(); $oCriteria = new Criteria();
$oCriteria->addSelectColumn( GroupUserPeer::GRP_UID ); $oCriteria->addSelectColumn(GroupUserPeer::GRP_UID);
$oCriteria->addSelectColumn( GroupwfPeer::GRP_STATUS ); $oCriteria->addSelectColumn(GroupwfPeer::GRP_STATUS);
$oCriteria->add( GroupUserPeer::USR_UID, $sUserUID ); $oCriteria->add(GroupUserPeer::USR_UID, $sUserUID);
$oCriteria->add( GroupwfPeer::GRP_STATUS, 'ACTIVE' ); $oCriteria->add(GroupwfPeer::GRP_STATUS, 'ACTIVE');
$oCriteria->addJoin( GroupUserPeer::GRP_UID, GroupwfPeer::GRP_UID, Criteria::LEFT_JOIN ); $oCriteria->addJoin(GroupUserPeer::GRP_UID, GroupwfPeer::GRP_UID, Criteria::LEFT_JOIN);
$oDataset = GroupUserPeer::doSelectRS( $oCriteria ); $oDataset = GroupUserPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next(); $oDataset->next();
$aGroups = array (); $aGroups = array();
$aRow = $oDataset->getRow(); $aRow = $oDataset->getRow();
while (is_array( $aRow )) { while (is_array($aRow)) {
$aGroups[] = $aRow['GRP_UID']; $aGroups[] = $aRow['GRP_UID'];
$oDataset->next(); $oDataset->next();
$aRow = $oDataset->getRow(); $aRow = $oDataset->getRow();
@@ -104,16 +104,16 @@ class Groups
* @param string $GrpUid, $UsrUid * @param string $GrpUid, $UsrUid
* @return array * @return array
*/ */
function addUserToGroup ($GrpUid, $UsrUid) public function addUserToGroup($GrpUid, $UsrUid)
{ {
try { try {
$oGrp = GroupUserPeer::retrieveByPk( $GrpUid, $UsrUid ); $oGrp = GroupUserPeer::retrieveByPk($GrpUid, $UsrUid);
if (is_object( $oGrp ) && get_class( $oGrp ) == 'GroupUser') { if (is_object($oGrp) && get_class($oGrp) == 'GroupUser') {
return true; return true;
} else { } else {
$oGrp = new GroupUser(); $oGrp = new GroupUser();
$oGrp->setGrpUid( $GrpUid ); $oGrp->setGrpUid($GrpUid);
$oGrp->setUsrUid( $UsrUid ); $oGrp->setUsrUid($UsrUid);
$oGrp->Save(); $oGrp->Save();
} }
} catch (exception $oError) { } catch (exception $oError) {
@@ -121,15 +121,15 @@ class Groups
} }
} }
/* /**
* Remove a user from group * Remove a user from group
* @param string $GrpUid, $UsrUid * @param string $GrpUid, $UsrUid
* @return array * @return array
*/ */
function removeUserOfGroup ($GrpUid, $UsrUid) public function removeUserOfGroup($GrpUid, $UsrUid)
{ {
$gu = new GroupUser(); $gu = new GroupUser();
$gu->remove( $GrpUid, $UsrUid ); $gu->remove($GrpUid, $UsrUid);
} }
/** /**
@@ -138,13 +138,13 @@ class Groups
* @param none * @param none
* @return $objects * @return $objects
*/ */
function getAllGroups () public function getAllGroups()
{ {
try { try {
$criteria = new Criteria(); $criteria = new Criteria();
$criteria->add( GroupwfPeer::GRP_UID, "", Criteria::NOT_EQUAL ); $criteria->add(GroupwfPeer::GRP_UID, "", Criteria::NOT_EQUAL);
$con = Propel::getConnection( GroupwfPeer::DATABASE_NAME ); $con = Propel::getConnection(GroupwfPeer::DATABASE_NAME);
$objects = GroupwfPeer::doSelect( $criteria, $con ); $objects = GroupwfPeer::doSelect($criteria, $con);
return $objects; return $objects;
} catch (exception $e) { } catch (exception $e) {
throw $e; throw $e;
@@ -157,16 +157,16 @@ class Groups
* @param $sUserUid user uid * @param $sUserUid user uid
* @return an array of group objects * @return an array of group objects
*/ */
function getUserGroups ($sUserUID) public function getUserGroups($sUserUID)
{ {
try { try {
$criteria = new Criteria(); $criteria = new Criteria();
$criteria->add( GroupwfPeer::GRP_UID, "", Criteria::NOT_EQUAL ); $criteria->add(GroupwfPeer::GRP_UID, "", Criteria::NOT_EQUAL);
$criteria->add( GroupUserPeer::USR_UID, $sUserUID ); $criteria->add(GroupUserPeer::USR_UID, $sUserUID);
$criteria->add( GroupwfPeer::GRP_STATUS, 'ACTIVE' ); $criteria->add(GroupwfPeer::GRP_STATUS, 'ACTIVE');
$criteria->addJoin( GroupUserPeer::GRP_UID, GroupwfPeer::GRP_UID, Criteria::LEFT_JOIN ); $criteria->addJoin(GroupUserPeer::GRP_UID, GroupwfPeer::GRP_UID, Criteria::LEFT_JOIN);
$con = Propel::getConnection( GroupwfPeer::DATABASE_NAME ); $con = Propel::getConnection(GroupwfPeer::DATABASE_NAME);
$objects = GroupwfPeer::doSelect( $criteria, $con ); $objects = GroupwfPeer::doSelect($criteria, $con);
return $objects; return $objects;
} catch (exception $e) { } catch (exception $e) {
throw $e; throw $e;
@@ -180,34 +180,33 @@ class Groups
* @param string $sUserUid * @param string $sUserUid
* @return object * @return object
*/ */
public function getAvailableGroupsCriteria($sUserUid, $filter = '')
function getAvailableGroupsCriteria ($sUserUid, $filter = '')
{ {
try { try {
$oCriteria = new Criteria( 'workflow' ); $oCriteria = new Criteria('workflow');
$oCriteria->addSelectColumn( GroupUserPeer::GRP_UID ); $oCriteria->addSelectColumn(GroupUserPeer::GRP_UID);
$oCriteria->add( GroupUserPeer::USR_UID, $sUserUid ); $oCriteria->add(GroupUserPeer::USR_UID, $sUserUid);
$oCriteria->add( GroupUserPeer::GRP_UID, '', Criteria::NOT_EQUAL ); $oCriteria->add(GroupUserPeer::GRP_UID, '', Criteria::NOT_EQUAL);
$oDataset = GroupUserPeer::doSelectRS( $oCriteria ); $oDataset = GroupUserPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next(); $oDataset->next();
$gUIDs = array (); $gUIDs = array();
while ($aRow = $oDataset->getRow()) { while ($aRow = $oDataset->getRow()) {
$gUIDs[] = $aRow['GRP_UID']; $gUIDs[] = $aRow['GRP_UID'];
$oDataset->next(); $oDataset->next();
} }
$oCriteria = new Criteria( 'workflow' ); $oCriteria = new Criteria('workflow');
$oCriteria->addSelectColumn( GroupwfPeer::GRP_UID ); $oCriteria->addSelectColumn(GroupwfPeer::GRP_UID);
$oCriteria->addSelectColumn( GroupwfPeer::GRP_STATUS ); $oCriteria->addSelectColumn(GroupwfPeer::GRP_STATUS);
$oCriteria->addSelectColumn( ContentPeer::CON_VALUE ); $oCriteria->addSelectColumn(ContentPeer::CON_VALUE);
$oCriteria->addJoin( GroupwfPeer::GRP_UID, ContentPeer::CON_ID, Criteria::LEFT_JOIN ); $oCriteria->addJoin(GroupwfPeer::GRP_UID, ContentPeer::CON_ID, Criteria::LEFT_JOIN);
$oCriteria->add( GroupwfPeer::GRP_UID, $gUIDs, Criteria::NOT_IN ); $oCriteria->add(GroupwfPeer::GRP_UID, $gUIDs, Criteria::NOT_IN);
$oCriteria->add( GroupwfPeer::GRP_STATUS, 'ACTIVE' ); $oCriteria->add(GroupwfPeer::GRP_STATUS, 'ACTIVE');
$oCriteria->add( ContentPeer::CON_CATEGORY, 'GRP_TITLE' ); $oCriteria->add(ContentPeer::CON_CATEGORY, 'GRP_TITLE');
$oCriteria->add( ContentPeer::CON_LANG, SYS_LANG ); $oCriteria->add(ContentPeer::CON_LANG, SYS_LANG);
if ($filter != '') { if ($filter != '') {
$oCriteria->add( ContentPeer::CON_VALUE, '%' . $filter . '%', Criteria::LIKE ); $oCriteria->add(ContentPeer::CON_VALUE, '%' . $filter . '%', Criteria::LIKE);
} }
return $oCriteria; return $oCriteria;
@@ -223,24 +222,23 @@ class Groups
* @param string $sUserUid * @param string $sUserUid
* @return object * @return object
*/ */
public function getAssignedGroupsCriteria($sUserUid, $filter = '')
function getAssignedGroupsCriteria ($sUserUid, $filter = '')
{ {
try { try {
$oCriteria = new Criteria( 'workflow' ); $oCriteria = new Criteria('workflow');
$oCriteria->addSelectColumn( GroupwfPeer::GRP_UID ); $oCriteria->addSelectColumn(GroupwfPeer::GRP_UID);
$oCriteria->addSelectColumn( GroupwfPeer::GRP_STATUS ); $oCriteria->addSelectColumn(GroupwfPeer::GRP_STATUS);
$oCriteria->addSelectColumn( GroupwfPeer::GRP_LDAP_DN ); $oCriteria->addSelectColumn(GroupwfPeer::GRP_LDAP_DN);
$oCriteria->addSelectColumn( ContentPeer::CON_VALUE ); $oCriteria->addSelectColumn(ContentPeer::CON_VALUE);
$oCriteria->addJoin( GroupUserPeer::GRP_UID, GroupwfPeer::GRP_UID, Criteria::LEFT_JOIN ); $oCriteria->addJoin(GroupUserPeer::GRP_UID, GroupwfPeer::GRP_UID, Criteria::LEFT_JOIN);
$oCriteria->addJoin( GroupwfPeer::GRP_UID, ContentPeer::CON_ID, Criteria::LEFT_JOIN ); $oCriteria->addJoin(GroupwfPeer::GRP_UID, ContentPeer::CON_ID, Criteria::LEFT_JOIN);
$oCriteria->add( GroupUserPeer::USR_UID, $sUserUid, Criteria::EQUAL ); $oCriteria->add(GroupUserPeer::USR_UID, $sUserUid, Criteria::EQUAL);
$oCriteria->add( GroupwfPeer::GRP_STATUS, 'ACTIVE' ); $oCriteria->add(GroupwfPeer::GRP_STATUS, 'ACTIVE');
$oCriteria->add( ContentPeer::CON_CATEGORY, 'GRP_TITLE' ); $oCriteria->add(ContentPeer::CON_CATEGORY, 'GRP_TITLE');
$oCriteria->add( ContentPeer::CON_LANG, SYS_LANG ); $oCriteria->add(ContentPeer::CON_LANG, SYS_LANG);
if ($filter != '') { if ($filter != '') {
$oCriteria->add( ContentPeer::CON_VALUE, '%' . $filter . '%', Criteria::LIKE ); $oCriteria->add(ContentPeer::CON_VALUE, '%' . $filter . '%', Criteria::LIKE);
} }
return $oCriteria; return $oCriteria;
@@ -249,16 +247,16 @@ class Groups
} }
} }
function getGroupsForUser ($usrUid) public function getGroupsForUser($usrUid)
{ {
$criteria = $this->getAssignedGroupsCriteria( $usrUid ); $criteria = $this->getAssignedGroupsCriteria($usrUid);
$criteria->addAscendingOrderByColumn( ContentPeer::CON_VALUE ); $criteria->addAscendingOrderByColumn(ContentPeer::CON_VALUE);
$dataset = GroupwfPeer::doSelectRS( $criteria ); $dataset = GroupwfPeer::doSelectRS($criteria);
$dataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$dataset->next(); $dataset->next();
$groups = array (); $groups = array();
while ($row = $dataset->getRow()) { while ($row = $dataset->getRow()) {
if (! isset( $groups[$row['GRP_UID']] )) { if (!isset($groups[$row['GRP_UID']])) {
$groups[$row['GRP_UID']] = $row; $groups[$row['GRP_UID']] = $row;
} }
$dataset->next(); $dataset->next();
@@ -272,12 +270,12 @@ class Groups
* @param string $sUsrUid * @param string $sUsrUid
* @return void * @return void
*/ */
public function removeUserOfAllGroups ($sUserUID = '') public function removeUserOfAllGroups($sUserUID = '')
{ {
try { try {
$oCriteria = new Criteria( 'workflow' ); $oCriteria = new Criteria('workflow');
$oCriteria->add( GroupUserPeer::USR_UID, $sUserUID ); $oCriteria->add(GroupUserPeer::USR_UID, $sUserUID);
GroupUserPeer::doDelete( $oCriteria ); GroupUserPeer::doDelete($oCriteria);
} catch (exception $oError) { } catch (exception $oError) {
throw ($oError); throw ($oError);
} }
@@ -289,21 +287,21 @@ class Groups
* @param string $sGroupUID * @param string $sGroupUID
* @return array * @return array
*/ */
function getUsersGroupCriteria ($sGroupUID = '') public function getUsersGroupCriteria($sGroupUID = '')
{ {
require_once 'classes/model/GroupUser.php'; require_once 'classes/model/GroupUser.php';
require_once 'classes/model/Users.php'; require_once 'classes/model/Users.php';
try { try {
$oCriteria = new Criteria( 'workflow' ); $oCriteria = new Criteria('workflow');
$oCriteria->addSelectColumn( GroupUserPeer::GRP_UID ); $oCriteria->addSelectColumn(GroupUserPeer::GRP_UID);
$oCriteria->addSelectColumn( UsersPeer::USR_UID ); $oCriteria->addSelectColumn(UsersPeer::USR_UID);
$oCriteria->addSelectColumn( UsersPeer::USR_USERNAME ); $oCriteria->addSelectColumn(UsersPeer::USR_USERNAME);
$oCriteria->addSelectColumn( UsersPeer::USR_FIRSTNAME ); $oCriteria->addSelectColumn(UsersPeer::USR_FIRSTNAME);
$oCriteria->addSelectColumn( UsersPeer::USR_LASTNAME ); $oCriteria->addSelectColumn(UsersPeer::USR_LASTNAME);
$oCriteria->addSelectColumn( UsersPeer::USR_EMAIL ); $oCriteria->addSelectColumn(UsersPeer::USR_EMAIL);
$oCriteria->addJoin( GroupUserPeer::USR_UID, UsersPeer::USR_UID, Criteria::LEFT_JOIN ); $oCriteria->addJoin(GroupUserPeer::USR_UID, UsersPeer::USR_UID, Criteria::LEFT_JOIN);
$oCriteria->add( GroupUserPeer::GRP_UID, $sGroupUID ); $oCriteria->add(GroupUserPeer::GRP_UID, $sGroupUID);
$oCriteria->add( UsersPeer::USR_STATUS, 'ACTIVE' ); $oCriteria->add(UsersPeer::USR_STATUS, 'ACTIVE');
return $oCriteria; return $oCriteria;
} catch (exception $oError) { } catch (exception $oError) {
throw ($oError); throw ($oError);
@@ -316,19 +314,19 @@ class Groups
* @param string $sGroupUID * @param string $sGroupUID
* @return array * @return array
*/ */
function getUserGroupsCriteria ($sUserUID = '') public function getUserGroupsCriteria($sUserUID = '')
{ {
require_once 'classes/model/GroupUser.php'; require_once 'classes/model/GroupUser.php';
require_once 'classes/model/Users.php'; require_once 'classes/model/Users.php';
try { try {
$oCriteria = new Criteria( 'workflow' ); $oCriteria = new Criteria('workflow');
$oCriteria->addSelectColumn( UsersPeer::USR_UID ); $oCriteria->addSelectColumn(UsersPeer::USR_UID);
$oCriteria->addSelectColumn( GroupUserPeer::GRP_UID ); $oCriteria->addSelectColumn(GroupUserPeer::GRP_UID);
$oCriteria->addSelectColumn( UsersPeer::USR_FIRSTNAME ); $oCriteria->addSelectColumn(UsersPeer::USR_FIRSTNAME);
$oCriteria->addSelectColumn( UsersPeer::USR_LASTNAME ); $oCriteria->addSelectColumn(UsersPeer::USR_LASTNAME);
$oCriteria->addJoin( GroupUserPeer::USR_UID, UsersPeer::USR_UID, Criteria::LEFT_JOIN ); $oCriteria->addJoin(GroupUserPeer::USR_UID, UsersPeer::USR_UID, Criteria::LEFT_JOIN);
$oCriteria->add( GroupUserPeer::GRP_UID, $sUserUID ); $oCriteria->add(GroupUserPeer::GRP_UID, $sUserUID);
$oCriteria->add( UsersPeer::USR_STATUS, 'ACTIVE' ); $oCriteria->add(UsersPeer::USR_STATUS, 'ACTIVE');
return $oCriteria; return $oCriteria;
} catch (exception $oError) { } catch (exception $oError) {
throw ($oError); throw ($oError);
@@ -341,17 +339,17 @@ class Groups
* @param string $sGroupUid * @param string $sGroupUid
* @return integer $cnt * @return integer $cnt
*/ */
function getNumberGroups ($sUserUID) public function getNumberGroups($sUserUID)
{ {
try { try {
$allGroups = $this->getUserGroups( $sUserUID ); $allGroups = $this->getUserGroups($sUserUID);
$cnt = 0; $cnt = 0;
foreach ($allGroups as $group) { foreach ($allGroups as $group) {
$cnt ++; $cnt++;
} }
return $cnt; return $cnt;
} catch (exception $oError) { } catch (exception $oError) {
print_r( $oError ); print_r($oError);
} }
} }
@@ -361,28 +359,28 @@ class Groups
* @param string $sGroupUID * @param string $sGroupUID
* @return object * @return object
*/ */
function getAvailableUsersCriteria ($sGroupUID = '') public function getAvailableUsersCriteria($sGroupUID = '')
{ {
try { try {
$oCriteria = new Criteria( 'workflow' ); $oCriteria = new Criteria('workflow');
$oCriteria->addSelectColumn( UsersPeer::USR_UID ); $oCriteria->addSelectColumn(UsersPeer::USR_UID);
$oCriteria->addJoin( GroupUserPeer::USR_UID, UsersPeer::USR_UID, Criteria::LEFT_JOIN ); $oCriteria->addJoin(GroupUserPeer::USR_UID, UsersPeer::USR_UID, Criteria::LEFT_JOIN);
$oCriteria->add( GroupUserPeer::GRP_UID, $sGroupUID ); $oCriteria->add(GroupUserPeer::GRP_UID, $sGroupUID);
$oCriteria->add( UsersPeer::USR_STATUS, 'ACTIVE' ); $oCriteria->add(UsersPeer::USR_STATUS, 'ACTIVE');
$oDataset = UsersPeer::doSelectRS( $oCriteria ); $oDataset = UsersPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next(); $oDataset->next();
$aUIDs = array (); $aUIDs = array();
while ($aRow = $oDataset->getRow()) { while ($aRow = $oDataset->getRow()) {
$aUIDs[] = $aRow['USR_UID']; $aUIDs[] = $aRow['USR_UID'];
$oDataset->next(); $oDataset->next();
} }
$oCriteria = new Criteria( 'workflow' ); $oCriteria = new Criteria('workflow');
$oCriteria->addSelectColumn( UsersPeer::USR_UID ); $oCriteria->addSelectColumn(UsersPeer::USR_UID);
$oCriteria->addSelectColumn( UsersPeer::USR_FIRSTNAME ); $oCriteria->addSelectColumn(UsersPeer::USR_FIRSTNAME);
$oCriteria->addSelectColumn( UsersPeer::USR_LASTNAME ); $oCriteria->addSelectColumn(UsersPeer::USR_LASTNAME);
$oCriteria->add( UsersPeer::USR_UID, $aUIDs, Criteria::NOT_IN ); $oCriteria->add(UsersPeer::USR_UID, $aUIDs, Criteria::NOT_IN);
$oCriteria->add( UsersPeer::USR_STATUS, 'ACTIVE' ); $oCriteria->add(UsersPeer::USR_STATUS, 'ACTIVE');
return $oCriteria; return $oCriteria;
} catch (exception $oError) { } catch (exception $oError) {
throw ($oError); throw ($oError);
@@ -396,11 +394,11 @@ class Groups
* @param $UsrUid user Uid * @param $UsrUid user Uid
* @return 1/0 if it's or not assigned * @return 1/0 if it's or not assigned
*/ */
function verifyUsertoGroup ($GrpUid, $UsrUid) public function verifyUsertoGroup($GrpUid, $UsrUid)
{ {
try { try {
$oGrp = GroupUserPeer::retrieveByPk( $GrpUid, $UsrUid ); $oGrp = GroupUserPeer::retrieveByPk($GrpUid, $UsrUid);
if (is_object( $oGrp ) && get_class( $oGrp ) == 'GroupUser') { if (is_object($oGrp) && get_class($oGrp) == 'GroupUser') {
return 1; return 1;
} else { } else {
return 0; return 0;
@@ -416,22 +414,23 @@ class Groups
* @param $sGroupUid group Uid * @param $sGroupUid group Uid
* @return 1/0 if exist or not * @return 1/0 if exist or not
*/ */
function verifyGroup ($sGroupUID) public function verifyGroup($sGroupUID)
{ {
try { try {
$aUsers = array (); $aUsers = array();
$oCriteria = new Criteria(); $oCriteria = new Criteria();
//$oCriteria->addJoin(UsersPeer::USR_UID, GroupUserPeer::USR_UID, Criteria::LEFT_JOIN); //$oCriteria->addJoin(UsersPeer::USR_UID, GroupUserPeer::USR_UID, Criteria::LEFT_JOIN);
$oCriteria->add( GroupwfPeer::GRP_UID, $sGroupUID ); $oCriteria->add(GroupwfPeer::GRP_UID, $sGroupUID);
//$oCriteria->add(UsersPeer::USR_STATUS, 'ACTIVE'); //$oCriteria->add(UsersPeer::USR_STATUS, 'ACTIVE');
$oDataset = GroupwfPeer::doSelectRS( $oCriteria ); $oDataset = GroupwfPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next(); $oDataset->next();
$aRow = $oDataset->getRow(); $aRow = $oDataset->getRow();
if (is_array( $aRow )) if (is_array($aRow)) {
return 1; return 1;
else } else {
return 0; return 0;
}
} catch (exception $oError) { } catch (exception $oError) {
throw ($oError); throw ($oError);
} }
@@ -444,14 +443,14 @@ class Groups
* @return an array of objects/false/exception object * @return an array of objects/false/exception object
* *
*/ */
public function load ($GrpUid) public function load($GrpUid)
{ {
try { try {
$criteria = new Criteria(); $criteria = new Criteria();
$criteria->add( GroupwfPeer::GRP_UID, $GrpUid, Criteria::EQUAL ); $criteria->add(GroupwfPeer::GRP_UID, $GrpUid, Criteria::EQUAL);
$con = Propel::getConnection( GroupwfPeer::DATABASE_NAME ); $con = Propel::getConnection(GroupwfPeer::DATABASE_NAME);
$objects = GroupwfPeer::doSelect( $criteria, $con ); $objects = GroupwfPeer::doSelect($criteria, $con);
if (is_array( $objects ) && count( $objects ) > 0) { if (is_array($objects) && count($objects) > 0) {
return $objects[0]; return $objects[0];
} else { } else {
return false; return false;
@@ -461,3 +460,4 @@ class Groups
} }
} }
} }

View File

@@ -2,147 +2,147 @@
class pmGauge class pmGauge
{ {
/** /**
* width * width
*/ */
var $w = 610; public $w = 610;
/** /**
* height * height
*/ */
var $h = 300; public $h = 300;
/** /**
* value of gauge * value of gauge
*/ */
var $value = 50; public $value = 50;
/** /**
* maxValue * maxValue
*/ */
var $maxValue = 100; public $maxValue = 100;
/** /**
* redFrom * redFrom
*/ */
var $redFrom = 80; public $redFrom = 80;
/** /**
* redTo * redTo
*/ */
var $redTo = 100; public $redTo = 100;
/** /**
* yellowFrom * yellowFrom
*/ */
var $yellowFrom = 60; public $yellowFrom = 60;
/** /**
* yellowTo * yellowTo
*/ */
var $yellowTo = 80; public $yellowTo = 80;
/** /**
* greenFrom * greenFrom
*/ */
var $greenFrom = 0; public $greenFrom = 0;
/** /**
* greenTo * greenTo
*/ */
var $greenTo = 60; public $greenTo = 60;
/** /**
* centerLabel, the label in the middle of the gauge * centerLabel, the label in the middle of the gauge
*/ */
var $centerLabel = ''; public $centerLabel = '';
function render () public function render()
{ {
$this->h = $this->w / 2; $this->h = $this->w / 2;
$im = imagecreatetruecolor( $this->w, $this->h ); $im = imagecreatetruecolor($this->w, $this->h);
$width = $this->w; $width = $this->w;
$height = $this->h; $height = $this->h;
$center_x = intval( $width / 2 ); $center_x = intval($width / 2);
$center_y = intval( $height / 2 ); $center_y = intval($height / 2);
//gauge color //gauge color
$bgcolor = ImageColorAllocate( $im, 247, 247, 247 ); $bgcolor = ImageColorAllocate($im, 247, 247, 247);
$extRing = ImageColorAllocate( $im, 214, 214, 214 ); $extRing = ImageColorAllocate($im, 214, 214, 214);
$blueRing = ImageColorAllocate( $im, 70, 132, 238 ); $blueRing = ImageColorAllocate($im, 70, 132, 238);
$blueRingLine = ImageColorAllocate( $im, 106, 114, 127 ); $blueRingLine = ImageColorAllocate($im, 106, 114, 127);
$arrowBody = ImageColorAllocate( $im, 228, 114, 86 ); $arrowBody = ImageColorAllocate($im, 228, 114, 86);
$arrowLine = ImageColorAllocate( $im, 207, 74, 42 ); $arrowLine = ImageColorAllocate($im, 207, 74, 42);
$redArc = ImageColorAllocate( $im, 220, 57, 18 ); $redArc = ImageColorAllocate($im, 220, 57, 18);
$yellowArc = ImageColorAllocate( $im, 255, 153, 0 ); $yellowArc = ImageColorAllocate($im, 255, 153, 0);
$black = ImageColorAllocate( $im, 0, 0, 0 ); $black = ImageColorAllocate($im, 0, 0, 0);
$white = ImageColorAllocate( $im, 255, 255, 255 ); $white = ImageColorAllocate($im, 255, 255, 255);
$gray = ImageColorAllocate( $im, 190, 190, 190 ); $gray = ImageColorAllocate($im, 190, 190, 190);
$fontArial = PATH_THIRDPARTY . 'html2ps_pdf/fonts/arial.ttf'; $fontArial = PATH_THIRDPARTY . 'html2ps_pdf/fonts/arial.ttf';
ImageFilledRectangle( $im, 0, 0, $width - 1, $height - 1, $white ); ImageFilledRectangle($im, 0, 0, $width - 1, $height - 1, $white);
ImageRectangle( $im, 0, 0, $width - 1, $height - 1, $gray ); ImageRectangle($im, 0, 0, $width - 1, $height - 1, $gray);
//center coords //center coords
$cX = intval( $this->w / 2 ); $cX = intval($this->w / 2);
//$cX = intval($this->w /4); //$cX = intval($this->w /4);
$cY = intval( $this->h / 2 ); $cY = intval($this->h / 2);
//diameter for gauge //diameter for gauge
$diameter = intval( $this->h * 4 / 5 ); $diameter = intval($this->h * 4 / 5);
$this->renderGauge( $im, $cX, $cY, $diameter ); $this->renderGauge($im, $cX, $cY, $diameter);
/* /*
//center coords //center coords
$cX = intval($this->w * 3/4); $cX = intval($this->w * 3/4);
$cY = intval($this->h /2); $cY = intval($this->h /2);
//diameter for gauge //diameter for gauge
$diameter = intval( $this->h * 4/5 ); $diameter = intval( $this->h * 4/5 );
$this->renderGauge($im, $cX, $cY, $diameter); $this->renderGauge($im, $cX, $cY, $diameter);
*/ */
Header( "Content-type: image/png" ); Header("Content-type: image/png");
ImagePng( $im ); ImagePng($im);
} }
function renderGauge ($im, $cX, $cY, $diameter) public function renderGauge($im, $cX, $cY, $diameter)
{ {
//gauge color //gauge color
$bgcolor = ImageColorAllocate( $im, 247, 247, 247 ); $bgcolor = ImageColorAllocate($im, 247, 247, 247);
$extRing = ImageColorAllocate( $im, 214, 214, 214 ); $extRing = ImageColorAllocate($im, 214, 214, 214);
$blueRing = ImageColorAllocate( $im, 70, 132, 238 ); $blueRing = ImageColorAllocate($im, 70, 132, 238);
$blueRingLine = ImageColorAllocate( $im, 106, 114, 127 ); $blueRingLine = ImageColorAllocate($im, 106, 114, 127);
$arrowBody = ImageColorAllocate( $im, 228, 114, 86 ); $arrowBody = ImageColorAllocate($im, 228, 114, 86);
$arrowLine = ImageColorAllocate( $im, 207, 74, 42 ); $arrowLine = ImageColorAllocate($im, 207, 74, 42);
$redArc = ImageColorAllocate( $im, 220, 57, 18 ); $redArc = ImageColorAllocate($im, 220, 57, 18);
$yellowArc = ImageColorAllocate( $im, 255, 153, 0 ); $yellowArc = ImageColorAllocate($im, 255, 153, 0);
$greenArc = ImageColorAllocate( $im, 0, 136, 0 ); $greenArc = ImageColorAllocate($im, 0, 136, 0);
$black = ImageColorAllocate( $im, 0, 0, 0 ); $black = ImageColorAllocate($im, 0, 0, 0);
$white = ImageColorAllocate( $im, 255, 255, 255 ); $white = ImageColorAllocate($im, 255, 255, 255);
$gray = ImageColorAllocate( $im, 190, 190, 190 ); $gray = ImageColorAllocate($im, 190, 190, 190);
$fontArial = PATH_THIRDPARTY . 'html2ps_pdf/fonts/arial.ttf'; $fontArial = PATH_THIRDPARTY . 'html2ps_pdf/fonts/arial.ttf';
$dX = intval( $diameter * 8 / 7 ); //for now ratio aspect is 8:7 $dX = intval($diameter * 8 / 7); //for now ratio aspect is 8:7
$dY = intval( $diameter ); $dY = intval($diameter);
$dXRing = intval( $dX * 0.90 ); $dXRing = intval($dX * 0.90);
$dYRing = intval( $dY * 0.90 ); $dYRing = intval($dY * 0.90);
$dXRingColor = intval( $dX * 0.86 ); $dXRingColor = intval($dX * 0.86);
$dYRingColor = intval( $dY * 0.86 ); $dYRingColor = intval($dY * 0.86);
$dXRingCenter = intval( $dX * 0.66 ); $dXRingCenter = intval($dX * 0.66);
$dYRingCenter = intval( $dY * 0.66 ); $dYRingCenter = intval($dY * 0.66);
imagefilledellipse( $im, $cX, $cY, $dX, $dY, $extRing ); imagefilledellipse($im, $cX, $cY, $dX, $dY, $extRing);
imagefilledellipse( $im, $cX, $cY, $dXRing, $dYRing, $bgcolor ); imagefilledellipse($im, $cX, $cY, $dXRing, $dYRing, $bgcolor);
//drawing the red arc //drawing the red arc
if ($this->redFrom > $this->maxValue) { if ($this->redFrom > $this->maxValue) {
@@ -172,19 +172,19 @@ class pmGauge
$greenTo = $this->greenTo / $this->maxValue * 300 - 240; $greenTo = $this->greenTo / $this->maxValue * 300 - 240;
if ($this->redFrom != $this->redTo || $this->redTo != $this->maxValue) { if ($this->redFrom != $this->redTo || $this->redTo != $this->maxValue) {
imagefilledarc( $im, $cX, $cY, $dXRingColor, $dYRingColor, $redFrom, $redTo, $redArc, IMG_ARC_PIE ); imagefilledarc($im, $cX, $cY, $dXRingColor, $dYRingColor, $redFrom, $redTo, $redArc, IMG_ARC_PIE);
} }
if ($this->yellowFrom != $this->yellowTo || $this->yellowTo != $this->maxValue) { if ($this->yellowFrom != $this->yellowTo || $this->yellowTo != $this->maxValue) {
imagefilledarc( $im, $cX, $cY, $dXRingColor, $dYRingColor, $yellowFrom, $yellowTo, $yellowArc, IMG_ARC_PIE ); imagefilledarc($im, $cX, $cY, $dXRingColor, $dYRingColor, $yellowFrom, $yellowTo, $yellowArc, IMG_ARC_PIE);
} }
if ($this->greenFrom != $this->greenTo || $this->greenTo != $this->maxValue) { if ($this->greenFrom != $this->greenTo || $this->greenTo != $this->maxValue) {
imagefilledarc( $im, $cX, $cY, $dXRingColor, $dYRingColor, $greenFrom, $greenTo, $greenArc, IMG_ARC_PIE ); imagefilledarc($im, $cX, $cY, $dXRingColor, $dYRingColor, $greenFrom, $greenTo, $greenArc, IMG_ARC_PIE);
} }
imagefilledellipse( $im, $cX, $cY, $dXRingCenter, $dYRingCenter, $bgcolor ); imagefilledellipse($im, $cX, $cY, $dXRingCenter, $dYRingCenter, $bgcolor);
//ticks //ticks
$radiusX = intval( $dX * 0.42 ); $radiusX = intval($dX * 0.42);
$radiusY = intval( $dY * 0.42 ); $radiusY = intval($dY * 0.42);
$min = 5; $min = 5;
while ($min <= 55) { while ($min <= 55) {
if ($min % 5 == 0) { if ($min % 5 == 0) {
@@ -194,91 +194,90 @@ class pmGauge
} }
$ang = (2 * M_PI * $min) / 60; $ang = (2 * M_PI * $min) / 60;
$x1 = sin( $ang ) * ($radiusX - $len) + $cX; $x1 = sin($ang) * ($radiusX - $len) + $cX;
$y1 = cos( $ang ) * ($radiusY - $len) + $cY; $y1 = cos($ang) * ($radiusY - $len) + $cY;
$x2 = sin( $ang ) * $radiusX + $cX; $x2 = sin($ang) * $radiusX + $cX;
$y2 = cos( $ang ) * $radiusY + $cY; $y2 = cos($ang) * $radiusY + $cY;
ImageLine( $im, $x1, $y1, $x2, $y2, $black ); ImageLine($im, $x1, $y1, $x2, $y2, $black);
if ($min % 5 == 0) { if ($min % 5 == 0) {
$textToDisplay = sprintf( "%d", (55 - $min) * $this->maxValue / 50 ); $textToDisplay = sprintf("%d", (55 - $min) * $this->maxValue / 50);
$bbox = imagettfbbox( 8, 0, $fontArial, $textToDisplay ); $bbox = imagettfbbox(8, 0, $fontArial, $textToDisplay);
$x1 = sin( $ang ) * ($radiusX - 2.5 * $len) + $cX - $bbox[4] / 2; $x1 = sin($ang) * ($radiusX - 2.5 * $len) + $cX - $bbox[4] / 2;
$y1 = cos( $ang ) * ($radiusY - 2.5 * $len) + $cY + 2; // - abs($bbox[5]); $y1 = cos($ang) * ($radiusY - 2.5 * $len) + $cY + 2; // - abs($bbox[5]);
imagettftext( $im, 8, 0, $x1, $y1, $gray, $fontArial, $textToDisplay ); imagettftext($im, 8, 0, $x1, $y1, $gray, $fontArial, $textToDisplay);
} }
$min ++; $min++;
} }
if (trim( $this->centerLabel ) != '') { if (trim($this->centerLabel) != '') {
$textToDisplay = trim( $this->centerLabel ); $textToDisplay = trim($this->centerLabel);
$bbox = imagettfbbox( 8, 0, $fontArial, $textToDisplay ); $bbox = imagettfbbox(8, 0, $fontArial, $textToDisplay);
$x1 = $cX - $bbox[4] / 2; $x1 = $cX - $bbox[4] / 2;
$y1 = $cY * 3 / 4 + abs( $bbox[5] ); $y1 = $cY * 3 / 4 + abs($bbox[5]);
imagettftext( $im, 8, 0, $x1, $y1, $black, $fontArial, $textToDisplay ); imagettftext($im, 8, 0, $x1, $y1, $black, $fontArial, $textToDisplay);
} }
imagettftext( $im, 9, 0, $cX * 0.60, $cY * 1.8, $gray, $fontArial, $this->open ); imagettftext($im, 9, 0, $cX * 0.60, $cY * 1.8, $gray, $fontArial, $this->open);
imagettftext( $im, 9, 0, $cX * 1.40, $cY * 1.8, $gray, $fontArial, $this->completed ); imagettftext($im, 9, 0, $cX * 1.40, $cY * 1.8, $gray, $fontArial, $this->completed);
//drawing the arrow, simple way //drawing the arrow, simple way
$radiusX = intval( $dX * 0.35 ); $radiusX = intval($dX * 0.35);
$radiusY = intval( $dY * 0.35 ); $radiusY = intval($dY * 0.35);
$ang = - M_PI / 6 + 2 * M_PI - (2 * M_PI * $this->value) * 50 / 60 / $this->maxValue; $ang = - M_PI / 6 + 2 * M_PI - (2 * M_PI * $this->value) * 50 / 60 / $this->maxValue;
$x1 = sin( $ang ) * ($radiusX) + $cX; $x1 = sin($ang) * ($radiusX) + $cX;
$y1 = cos( $ang ) * ($radiusY) + $cY; $y1 = cos($ang) * ($radiusY) + $cY;
ImageLine( $im, $cX, $cY, $x1, $y1, $arrowLine ); ImageLine($im, $cX, $cY, $x1, $y1, $arrowLine);
/* /*
//arrowLine //arrowLine
$arrowHeight = intval($dY * 0.02); $arrowHeight = intval($dY * 0.02);
$arrowWidth = intval($dX * 0.35); $arrowWidth = intval($dX * 0.35);
$arrowTail = intval($dX * 0.15); $arrowTail = intval($dX * 0.15);
$values = array( $values = array(
0, -$arrowHeight, 0, -$arrowHeight,
-$arrowTail, 0, -$arrowTail, 0,
0, $arrowHeight, 0, $arrowHeight,
$arrowWidth, 0, $arrowWidth, 0,
0, -$arrowHeight 0, -$arrowHeight
); );
//rotate n degrees //rotate n degrees
$n = 20; $n = 20;
$ang = (2 * M_PI * $n) / 60; $ang = (2 * M_PI * $n) / 60;
foreach ( $values as $k => $val ) { foreach ( $values as $k => $val ) {
if ( $k % 2 == 0 ) { if ( $k % 2 == 0 ) {
//$values[$k] = sin($ang)*$val + 20; //$values[$k] = sin($ang)*$val + 20;
$values[$k] = sin($ang)*($val/$cX)*$; $values[$k] = sin($ang)*($val/$cX)*$;
$values[$k] += $cX; $values[$k] += $cX;
} }
else { else {
//$ys = intval(sin($sec * M_PI/30 - M_PI/2) * R); //$ys = intval(sin($sec * M_PI/30 - M_PI/2) * R);
//$values[$k] = intval(sin($n * M_PI/30 - M_PI/2) *$val); //$values[$k] = intval(sin($n * M_PI/30 - M_PI/2) *$val);
$values[$k] = (cos($ang))*($val/$cY)*$cY; $values[$k] = (cos($ang))*($val/$cY)*$cY;
$values[$k] += $cY; $values[$k] += $cY;
} }
} }
imagefilledpolygon ($im, $values, 5, $arrowBody); imagefilledpolygon ($im, $values, 5, $arrowBody);
imagepolygon ($im, $values, 5, $arrowLine); imagepolygon ($im, $values, 5, $arrowLine);
*/ */
//blue ring //blue ring
$dXBlueRing = $dX * 0.07; $dXBlueRing = $dX * 0.07;
$dYBlueRing = $dY * 0.07; $dYBlueRing = $dY * 0.07;
imagefilledellipse( $im, $cX, $cY, $dXBlueRing, $dXBlueRing, $blueRing ); imagefilledellipse($im, $cX, $cY, $dXBlueRing, $dXBlueRing, $blueRing);
imageellipse( $im, $cX, $cY, $dXBlueRing, $dYBlueRing, $blueRingLine ); imageellipse($im, $cX, $cY, $dXBlueRing, $dYBlueRing, $blueRingLine);
imageellipse( $im, $cX, $cY, $dX, $dY, $black ); imageellipse($im, $cX, $cY, $dX, $dY, $black);
$textToDisplay = sprintf( "%5.2f%%", $this->value ); $textToDisplay = sprintf("%5.2f%%", $this->value);
$bbox = imagettfbbox( 9, 0, $fontArial, $textToDisplay ); $bbox = imagettfbbox(9, 0, $fontArial, $textToDisplay);
$centerX = $cX - $bbox[4] / 2; $centerX = $cX - $bbox[4] / 2;
$centerY = $cY + $dYRing / 2 + 3 - abs( $bbox[5] ); $centerY = $cY + $dYRing / 2 + 3 - abs($bbox[5]);
imagettftext( $im, 9, 0, $centerX, $centerY, $black, $fontArial, $textToDisplay ); imagettftext($im, 9, 0, $centerX, $centerY, $black, $fontArial, $textToDisplay);
} }
} }

View File

@@ -35,13 +35,14 @@
*/ */
class serverConf class serverConf
{ {
private $_aProperties = array ();
private $_aHeartbeatConfig = array (); private $_aProperties = array();
private $_aWSapces = array (); private $_aHeartbeatConfig = array();
private $aWSinfo = array (); private $_aWSapces = array();
private $pluginsA = array (); private $aWSinfo = array();
private $errors = array (); private $pluginsA = array();
private static $instance = NULL; private $errors = array();
private static $instance = null;
private $haveSetupData = false; private $haveSetupData = false;
private $beatType = 'starting'; private $beatType = 'starting';
private $ip; private $ip;
@@ -57,14 +58,13 @@ class serverConf
public $logins; public $logins;
private $lanDirection; private $lanDirection;
private $lanLanguage; private $lanLanguage;
public $workspaces = array (); public $workspaces = array();
public $rtlLang = array ('ar','iw','fa' public $rtlLang = array('ar', 'iw', 'fa');
);
public $filePath = ''; public $filePath = '';
public function __construct () public function __construct()
{ {
if (defined( 'PATH_DATA' )) { if (defined('PATH_DATA')) {
$this->filePath = PATH_DATA . 'srvConf.singleton'; $this->filePath = PATH_DATA . 'srvConf.singleton';
} }
} }
@@ -75,12 +75,12 @@ class serverConf
* *
* @return object * @return object
*/ */
function &getSingleton () public function &getSingleton()
{ {
if (self::$instance == NULL) { if (self::$instance == null) {
self::$instance = new serverConf(); self::$instance = new serverConf();
if ((file_exists( self::$instance->filePath )) && (filesize( self::$instance->filePath ) > 0)) { if ((file_exists(self::$instance->filePath)) && (filesize(self::$instance->filePath) > 0)) {
self::$instance->unSerializeInstance( file_get_contents( self::$instance->filePath ) ); self::$instance->unSerializeInstance(file_get_contents(self::$instance->filePath));
} }
} }
return self::$instance; return self::$instance;
@@ -92,9 +92,9 @@ class serverConf
* *
* @return void * @return void
*/ */
function serializeInstance () public function serializeInstance()
{ {
return serialize( self::$instance ); return serialize(self::$instance);
} }
/** /**
@@ -103,13 +103,13 @@ class serverConf
* @param string $serialized * @param string $serialized
* @return void * @return void
*/ */
function unSerializeInstance ($serialized) public function unSerializeInstance($serialized)
{ {
if (self::$instance == NULL) { if (self::$instance == null) {
self::$instance = new serverConf(); self::$instance = new serverConf();
} }
if ($instance = @unserialize( $serialized )) { if ($instance = @unserialize($serialized)) {
self::$instance = $instance; self::$instance = $instance;
} }
} }
@@ -120,12 +120,11 @@ class serverConf
* *
* @return void * @return void
*/ */
public function saveSingleton()
function saveSingleton ()
{ {
if (defined( 'PATH_DATA' )) { if (defined('PATH_DATA')) {
$this->filePath = PATH_DATA . 'srvConf.singleton'; $this->filePath = PATH_DATA . 'srvConf.singleton';
$size = file_put_contents( $this->filePath, $this->serializeInstance() ); $size = file_put_contents($this->filePath, $this->serializeInstance());
} }
} }
@@ -136,7 +135,7 @@ class serverConf
* @param string $propertyName * @param string $propertyName
* @param string $propertyValue * @param string $propertyValue
*/ */
function setProperty ($propertyName, $propertyValue) public function setProperty($propertyName, $propertyValue)
{ {
$this->_aProperties[$propertyName] = $propertyValue; $this->_aProperties[$propertyName] = $propertyValue;
$this->saveSingleton(); $this->saveSingleton();
@@ -149,10 +148,10 @@ class serverConf
* @param string $propertyName * @param string $propertyName
* @return void * @return void
*/ */
function unsetProperty ($propertyName) public function unsetProperty($propertyName)
{ {
if (isset( $this->_aProperties[$propertyName] )) { if (isset($this->_aProperties[$propertyName])) {
unset( $this->_aProperties[$propertyName] ); unset($this->_aProperties[$propertyName]);
$this->saveSingleton(); $this->saveSingleton();
} }
} }
@@ -164,9 +163,9 @@ class serverConf
* @param string $propertyName * @param string $propertyName
* @return string/null * @return string/null
*/ */
function getProperty ($propertyName) public function getProperty($propertyName)
{ {
if (isset( $this->_aProperties[$propertyName] )) { if (isset($this->_aProperties[$propertyName])) {
return $this->_aProperties[$propertyName]; return $this->_aProperties[$propertyName];
} else { } else {
return null; return null;
@@ -179,19 +178,21 @@ class serverConf
* *
* @return void * @return void
*/ */
function sucessfulLogin () public function sucessfulLogin()
{ {
$this->logins ++; $this->logins++;
if (isset( $this->workspaces[SYS_SYS] ) && isset( $this->workspaces[SYS_SYS]['WSP_LOGINS'] )) if (isset($this->workspaces[SYS_SYS]) && isset($this->workspaces[SYS_SYS]['WSP_LOGINS'])) {
$this->workspaces[SYS_SYS]['WSP_LOGINS'] ++; $this->workspaces[SYS_SYS]['WSP_LOGINS']++;
}
if (isset( $this->workspaces[SYS_SYS] ) && ! isset( $this->workspaces[SYS_SYS]['WSP_LOGINS'] )) if (isset($this->workspaces[SYS_SYS]) && !isset($this->workspaces[SYS_SYS]['WSP_LOGINS'])) {
$this->workspaces[SYS_SYS]['WSP_LOGINS'] = 1; $this->workspaces[SYS_SYS]['WSP_LOGINS'] = 1;
}
$this->saveSingleton(); $this->saveSingleton();
} }
function setWsInfo ($wsname, $info) public function setWsInfo($wsname, $info)
{ {
$this->aWSinfo[$wsname] = $info; $this->aWSinfo[$wsname] = $info;
} }
@@ -202,11 +203,12 @@ class serverConf
* @param string $wsName * @param string $wsName
* @return void * @return void
*/ */
function changeStatusWS ($wsName) public function changeStatusWS($wsName)
{ {
if (isset( $this->_aWSapces[$wsName] )) { //Enable WS if (isset($this->_aWSapces[$wsName])) {
unset( $this->_aWSapces[$wsName] ); //Enable WS
unset($this->_aWSapces[$wsName]);
} else { } else {
$this->_aWSapces[$wsName] = 'disabled'; $this->_aWSapces[$wsName] = 'disabled';
} }
@@ -220,9 +222,9 @@ class serverConf
* @param $wsname * @param $wsname
* @return boolean * @return boolean
*/ */
function isWSDisabled ($wsName) public function isWSDisabled($wsName)
{ {
return isset( $this->_aWSapces[$wsName] ); return isset($this->_aWSapces[$wsName]);
} }
/** /**
@@ -232,14 +234,16 @@ class serverConf
* *
* @return boolean * @return boolean
*/ */
function checkIfHostNameHasChanged () public function checkIfHostNameHasChanged()
{ {
//removed the PM_VERSION control, because when an upgrade is done, the haveSetupData has to be changed. //removed the PM_VERSION control, because when an upgrade is done, the haveSetupData has to be changed.
if ($this->ip != getenv( 'SERVER_ADDR' )) if ($this->ip != getenv('SERVER_ADDR')) {
return false; return false;
}
if ($this->host != getenv( 'SERVER_NAME' )) if ($this->host != getenv('SERVER_NAME')) {
return false; return false;
}
return $this->haveSetupData; return $this->haveSetupData;
} }
@@ -251,17 +255,18 @@ class serverConf
* param * param
* @return array * @return array
*/ */
function getWSList () public function getWSList()
{ {
$dir = PATH_DB; $dir = PATH_DB;
$wsArray = array (); $wsArray = array();
if (file_exists( $dir )) { if (file_exists($dir)) {
if ($handle = opendir( $dir )) { if ($handle = opendir($dir)) {
while (false !== ($file = readdir( $handle ))) { while (false !== ($file = readdir($handle))) {
if (($file != ".") && ($file != "..")) { if (($file != ".") && ($file != "..")) {
if (file_exists( PATH_DB . $file . '/db.php' )) { //print $file."/db.php <hr>"; if (file_exists(PATH_DB . $file . '/db.php')) {
$statusl = ($this->isWSDisabled( $file )) ? 'DISABLED' : 'ENABLED'; //print $file."/db.php <hr>";
if (isset( $this->aWSinfo[$file] )) { $statusl = ($this->isWSDisabled($file)) ? 'DISABLED' : 'ENABLED';
if (isset($this->aWSinfo[$file])) {
$wsInfo = $this->aWSinfo[$file]; $wsInfo = $this->aWSinfo[$file];
} else { } else {
$wsInfo['num_processes'] = "not gathered yet"; $wsInfo['num_processes'] = "not gathered yet";
@@ -269,19 +274,17 @@ class serverConf
; ;
$wsInfo['num_users'] = "not gathered yet"; $wsInfo['num_users'] = "not gathered yet";
} }
$wsArray[$file] = array ('WSP_ID' => $file,'WSP_NAME' => $file,'WSP_STATUS' => $statusl,'WSP_PROCESS_COUNT' => $wsInfo['num_processes'],'WSP_CASES_COUNT' => $wsInfo['num_cases'],'WSP_USERS_COUNT' => isset( $wsInfo['num_users'] ) ? $wsInfo['num_users'] : "" $wsArray[$file] = array ('WSP_ID' => $file,'WSP_NAME' => $file,'WSP_STATUS' => $statusl,'WSP_PROCESS_COUNT' => $wsInfo['num_processes'],'WSP_CASES_COUNT' => $wsInfo['num_cases'],'WSP_USERS_COUNT' => isset( $wsInfo['num_users'] ) ? $wsInfo['num_users'] : "");
); if (isset($this->workspaces[$file]['WSP_LOGINS'])) {
if (isset( $this->workspaces[$file]['WSP_LOGINS'] ))
$wsArray[$file]['WSP_LOGINS'] = $this->workspaces[$file]['WSP_LOGINS']; $wsArray[$file]['WSP_LOGINS'] = $this->workspaces[$file]['WSP_LOGINS'];
}
} }
} }
} }
closedir( $handle ); closedir($handle);
} }
} }
return $wsArray; return $wsArray;
} }
/** /**
@@ -294,27 +297,27 @@ class serverConf
* @param string $wsName * @param string $wsName
* @return array * @return array
*/ */
function getWorkspaceInfo ($wsName) public function getWorkspaceInfo($wsName)
{ {
$aResult = Array ('num_processes' => '0','num_cases' => '0' $aResult = Array('num_processes' => '0', 'num_cases' => '0'
); );
$result = array (); $result = array();
require_once 'classes/model/Process.php'; require_once 'classes/model/Process.php';
require_once 'classes/model/Application.php'; require_once 'classes/model/Application.php';
require_once 'classes/model/Users.php'; require_once 'classes/model/Users.php';
$Criteria = new Criteria( 'workflow' ); $Criteria = new Criteria('workflow');
$Criteria->add( ProcessPeer::PRO_STATUS, 'ACTIVE', CRITERIA::EQUAL ); $Criteria->add(ProcessPeer::PRO_STATUS, 'ACTIVE', CRITERIA::EQUAL);
$aResult['num_processes'] = ProcessPeer::doCount( $Criteria ); $aResult['num_processes'] = ProcessPeer::doCount($Criteria);
$Criteria = new Criteria( 'workflow' ); $Criteria = new Criteria('workflow');
$Criteria->add( ApplicationPeer::APP_STATUS, 'COMPLETED', CRITERIA::NOT_EQUAL ); $Criteria->add(ApplicationPeer::APP_STATUS, 'COMPLETED', CRITERIA::NOT_EQUAL);
$aResult['num_cases'] = ApplicationPeer::doCount( $Criteria ); $aResult['num_cases'] = ApplicationPeer::doCount($Criteria);
$Criteria = new Criteria( 'workflow' ); $Criteria = new Criteria('workflow');
$Criteria->add( UsersPeer::USR_STATUS, array ('DELETED','DISABLED' $Criteria->add(UsersPeer::USR_STATUS, array('DELETED', 'DISABLED'
), CRITERIA::NOT_IN ); ), CRITERIA::NOT_IN);
$aResult['num_users'] = UsersPeer::doCount( $Criteria ); $aResult['num_users'] = UsersPeer::doCount($Criteria);
return $aResult; return $aResult;
} }
@@ -324,7 +327,7 @@ class serverConf
* *
* @return array * @return array
*/ */
function getPluginsList () public function getPluginsList()
{ {
return $this->pluginsA; return $this->pluginsA;
} }
@@ -333,30 +336,31 @@ class serverConf
* * * *
* Register a PLugin * Register a PLugin
*/ */
function addPlugin ($workspace, $info) public function addPlugin($workspace, $info)
{ {
$this->pluginsA[$workspace] = $info; $this->pluginsA[$workspace] = $info;
} }
function getDBVersion () public function getDBVersion()
{ {
$sMySQLVersion = '?????'; $sMySQLVersion = '?????';
if (defined( "DB_HOST" )) { if (defined("DB_HOST")) {
G::LoadClass( 'net' ); G::LoadClass('net');
G::LoadClass( 'dbConnections' ); G::LoadClass('dbConnections');
$dbNetView = new NET( DB_HOST ); $dbNetView = new NET(DB_HOST);
$dbNetView->loginDbServer( DB_USER, DB_PASS ); $dbNetView->loginDbServer(DB_USER, DB_PASS);
$dbConns = new dbConnections( '' ); $dbConns = new dbConnections('');
$availdb = ''; $availdb = '';
foreach ($dbConns->getDbServicesAvailables() as $key => $val) { foreach ($dbConns->getDbServicesAvailables() as $key => $val) {
if ($availdb != '') if ($availdb != '') {
$availdb .= ', '; $availdb .= ', ';
}
$availdb .= $val['name']; $availdb .= $val['name'];
} }
try { try {
$sMySQLVersion = $dbNetView->getDbServerVersion( 'mysql' ); $sMySQLVersion = $dbNetView->getDbServerVersion('mysql');
} catch (Exception $oException) { } catch (Exception $oException) {
$sMySQLVersion = '?????'; $sMySQLVersion = '?????';
} }
@@ -370,10 +374,10 @@ class serverConf
* *
* @return void * @return void
*/ */
function resetLogins () public function resetLogins()
{ {
$this->logins = 0; $this->logins = 0;
if (is_array( $this->workspaces )) { if (is_array($this->workspaces)) {
foreach ($this->workspaces as $wsName => $wsinfo) { foreach ($this->workspaces as $wsName => $wsinfo) {
$this->workspaces[$wsName]['WSP_LOGINS'] = 0; $this->workspaces[$wsName]['WSP_LOGINS'] = 0;
} }
@@ -386,25 +390,26 @@ class serverConf
* @param void * @param void
* @return string * @return string
*/ */
function getLanDirection () public function getLanDirection()
{ {
if (! isset( $this->lanDirection )) { if (!isset($this->lanDirection)) {
$this->lanDirection = 'L'; $this->lanDirection = 'L';
} }
if (defined( 'SYS_LANG' )) { if (defined('SYS_LANG')) {
//if we already have the landirection for this language, just return from serverConf //if we already have the landirection for this language, just return from serverConf
if ($this->lanLanguage == SYS_LANG) if ($this->lanLanguage == SYS_LANG) {
return $this->lanDirection; return $this->lanDirection;
}
//if not , we need to query Database, in order to get the direction //if not , we need to query Database, in order to get the direction
$this->lanDirection = 'L'; //default value; $this->lanDirection = 'L'; //default value;
$this->lanLanguage = SYS_LANG; $this->lanLanguage = SYS_LANG;
require_once 'classes/model/Language.php'; require_once 'classes/model/Language.php';
$oLang = new Language(); $oLang = new Language();
try { try {
$aLang = $oLang->load( SYS_LANG ); $aLang = $oLang->load(SYS_LANG);
if (isset( $aLang['LAN_DIRECTION'] )) { if (isset($aLang['LAN_DIRECTION'])) {
$this->lanDirection = strtoupper( $aLang['LAN_DIRECTION'] ); $this->lanDirection = strtoupper($aLang['LAN_DIRECTION']);
} }
$this->saveSingleton(); $this->saveSingleton();
} catch (Exception $e) { } catch (Exception $e) {
@@ -422,7 +427,7 @@ class serverConf
* @param string $propertyValue * @param string $propertyValue
* @param string $workspace * @param string $workspace
*/ */
function setHeartbeatProperty ($propertyName, $propertyValue, $workspace) public function setHeartbeatProperty($propertyName, $propertyValue, $workspace)
{ {
$this->_aHeartbeatConfig[$workspace][$propertyName] = $propertyValue; $this->_aHeartbeatConfig[$workspace][$propertyName] = $propertyValue;
$this->saveSingleton(); $this->saveSingleton();
@@ -436,10 +441,11 @@ class serverConf
* @param string $workspace * @param string $workspace
* @return void * @return void
*/ */
function unsetHeartbeatProperty ($propertyName, $workspace) public function unsetHeartbeatProperty($propertyName, $workspace)
{ {
if (isset( $this->_aHeartbeatConfig[$workspace][$propertyName] )) if (isset($this->_aHeartbeatConfig[$workspace][$propertyName])) {
unset( $this->_aHeartbeatConfig[$workspace][$propertyName] ); unset($this->_aHeartbeatConfig[$workspace][$propertyName]);
}
$this->saveSingleton(); $this->saveSingleton();
} }
@@ -450,19 +456,19 @@ class serverConf
* @param string $propertyName * @param string $propertyName
* @return string/null * @return string/null
*/ */
function getHeartbeatProperty ($propertyName, $workspace) public function getHeartbeatProperty($propertyName, $workspace)
{ {
if (isset( $this->_aHeartbeatConfig[$workspace][$propertyName] )) { if (isset($this->_aHeartbeatConfig[$workspace][$propertyName])) {
return $this->_aHeartbeatConfig[$workspace][$propertyName]; return $this->_aHeartbeatConfig[$workspace][$propertyName];
} else { } else {
return null; return null;
} }
} }
function isRtl ($lang = SYS_LANG) public function isRtl($lang = SYS_LANG)
{ {
$lang = substr( $lang, 0, 2 ); $lang = substr($lang, 0, 2);
return in_array( $lang, $this->rtlLang ); return in_array($lang, $this->rtlLang);
} }
}
}

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* ProcessMaker Open Source Edition * ProcessMaker Open Source Edition
* Copyright (C) 2004 - 2012 Colosa Inc.23 * Copyright (C) 2004 - 2012 Colosa Inc.23
@@ -28,11 +29,13 @@
*/ */
class BpmnEngine_SearchIndexAccess_Solr class BpmnEngine_SearchIndexAccess_Solr
{ {
const SOLR_VERSION = '&version=2.2'; const SOLR_VERSION = '&version=2.2';
private $_solrIsEnabled = false; private $_solrIsEnabled = false;
private $_solrHost = ""; private $_solrHost = "";
public function __construct ($solrIsEnabled = false, $solrHost = "") public function __construct($solrIsEnabled = false, $solrHost = "")
{ {
// use the parameters to initialize class // use the parameters to initialize class
$this->_solrIsEnabled = $solrIsEnabled; $this->_solrIsEnabled = $solrIsEnabled;
@@ -56,7 +59,7 @@ class BpmnEngine_SearchIndexAccess_Solr
} }
//Verify solr server response //Verify solr server response
try{ try {
$resultServerStatus = $this->ping($workspace); $resultServerStatus = $this->ping($workspace);
} catch (Exception $e) { } catch (Exception $e) {
$resultServerStatus = false; $resultServerStatus = false;
@@ -74,44 +77,42 @@ class BpmnEngine_SearchIndexAccess_Solr
* @param workspace: workspace name * @param workspace: workspace name
* @return total * @return total
*/ */
public function getNumberDocuments ($workspace) public function getNumberDocuments($workspace)
{ {
if (! $this->_solrIsEnabled) if (!$this->_solrIsEnabled) {
return; return;
// get configuration information in base to workspace parameter }
// get configuration information in base to workspace parameter
// get total number of documents in registry // get total number of documents in registry
$solrIntruct = (substr( $this->_solrHost, - 1 ) == "/") ? $this->_solrHost : $this->_solrHost . "/"; $solrIntruct = (substr($this->_solrHost, - 1) == "/") ? $this->_solrHost : $this->_solrHost . "/";
$solrIntruct .= $workspace; $solrIntruct .= $workspace;
$solrIntruct .= "/select/?q=*:*"; $solrIntruct .= "/select/?q=*:*";
$solrIntruct .= self::SOLR_VERSION; $solrIntruct .= self::SOLR_VERSION;
$solrIntruct .= "&start=0&rows=0&echoParams=none&wt=json"; $solrIntruct .= "&start=0&rows=0&echoParams=none&wt=json";
$handlerTotal = curl_init( $solrIntruct ); $handlerTotal = curl_init($solrIntruct);
curl_setopt( $handlerTotal, CURLOPT_RETURNTRANSFER, true ); curl_setopt($handlerTotal, CURLOPT_RETURNTRANSFER, true);
//Apply proxy settings //Apply proxy settings
$sysConf = System::getSystemConfiguration(); $sysConf = System::getSystemConfiguration();
if ($sysConf['proxy_host'] != '') { if ($sysConf['proxy_host'] != '') {
curl_setopt( $handlerTotal, CURLOPT_PROXY, $sysConf['proxy_host'] . ($sysConf['proxy_port'] != '' ? ':' . $sysConf['proxy_port'] : '') ); curl_setopt($handlerTotal, CURLOPT_PROXY, $sysConf['proxy_host'] . ($sysConf['proxy_port'] != '' ? ':' . $sysConf['proxy_port'] : ''));
if ($sysConf['proxy_port'] != '') { if ($sysConf['proxy_port'] != '') {
curl_setopt( $handlerTotal, CURLOPT_PROXYPORT, $sysConf['proxy_port'] ); curl_setopt($handlerTotal, CURLOPT_PROXYPORT, $sysConf['proxy_port']);
} }
if ($sysConf['proxy_user'] != '') { if ($sysConf['proxy_user'] != '') {
curl_setopt( $handlerTotal, CURLOPT_PROXYUSERPWD, $sysConf['proxy_user'] . ($sysConf['proxy_pass'] != '' ? ':' . $sysConf['proxy_pass'] : '') ); curl_setopt($handlerTotal, CURLOPT_PROXYUSERPWD, $sysConf['proxy_user'] . ($sysConf['proxy_pass'] != '' ? ':' . $sysConf['proxy_pass'] : ''));
} }
curl_setopt( $handlerTotal, CURLOPT_HTTPHEADER, array ('Expect:' curl_setopt($handlerTotal, CURLOPT_HTTPHEADER, array('Expect:'));
) );
} }
$responseTotal = curl_exec( $handlerTotal ); $responseTotal = curl_exec($handlerTotal);
curl_close( $handlerTotal ); curl_close($handlerTotal);
// verify the result of solr // verify the result of solr
$responseSolrTotal = G::json_decode( $responseTotal ); $responseSolrTotal = G::json_decode($responseTotal);
if ($responseSolrTotal->responseHeader->status != 0) { if ($responseSolrTotal->responseHeader->status != 0) {
throw new Exception( "Error returning the total number of documents in Solr." . $solrIntruct . " response error: " . $response . "\n" ); throw new Exception("Error returning the total number of documents in Solr." . $solrIntruct . " response error: " . $response . "\n");
} }
$numTotalDocs = $responseSolrTotal->response->numFound; $numTotalDocs = $responseSolrTotal->response->numFound;
return $numTotalDocs; return $numTotalDocs;
@@ -125,41 +126,42 @@ class BpmnEngine_SearchIndexAccess_Solr
* *
* @return solr response * @return solr response
*/ */
public function executeQuery ($solrRequestData) public function executeQuery($solrRequestData)
{ {
if (! $this->_solrIsEnabled) if (!$this->_solrIsEnabled) {
return; return;
}
$solrIntruct = ''; $solrIntruct = '';
// get configuration information in base to workspace parameter // get configuration information in base to workspace parameter
$workspace = $solrRequestData->workspace; $workspace = $solrRequestData->workspace;
// format request // format request
$query = empty( $solrRequestData->searchText ) ? '*:*' : $solrRequestData->searchText; $query = empty($solrRequestData->searchText) ? '*:*' : $solrRequestData->searchText;
$query = rawurlencode( $query ); $query = rawurlencode($query);
$start = '&start=' . $solrRequestData->startAfter; $start = '&start=' . $solrRequestData->startAfter;
$rows = '&rows=' . $solrRequestData->pageSize; $rows = '&rows=' . $solrRequestData->pageSize;
$fieldList = ''; $fieldList = '';
$cols = $solrRequestData->includeCols; $cols = $solrRequestData->includeCols;
if (! empty( $cols )) { if (!empty($cols)) {
$fieldList = "&fl=" . implode( ",", $cols ); $fieldList = "&fl=" . implode(",", $cols);
} }
$sort = ''; $sort = '';
if ($solrRequestData->numSortingCols > 0) { if ($solrRequestData->numSortingCols > 0) {
$sort = '&sort='; $sort = '&sort=';
for ($i = 0; $i < $solrRequestData->numSortingCols; $i ++) { for ($i = 0; $i < $solrRequestData->numSortingCols; $i++) {
$sort .= $solrRequestData->sortCols[$i] . "%20" . $solrRequestData->sortDir[$i] . ","; $sort .= $solrRequestData->sortCols[$i] . "%20" . $solrRequestData->sortDir[$i] . ",";
} }
$sort = substr_replace( $sort, "", - 1 ); $sort = substr_replace($sort, "", - 1);
} }
$resultFormat = empty( $solrRequestData->resultFormat ) ? '' : '&wt=' . $solrRequestData->resultFormat; $resultFormat = empty($solrRequestData->resultFormat) ? '' : '&wt=' . $solrRequestData->resultFormat;
$filters = ''; $filters = '';
$aFilters = explode( ',', $solrRequestData->filterText ); $aFilters = explode(',', $solrRequestData->filterText);
foreach ($aFilters as $value) { foreach ($aFilters as $value) {
$filters .= '&fq=' . urlencode( $value ); $filters .= '&fq=' . urlencode($value);
} }
$solrIntruct = (substr( $this->_solrHost, - 1 ) == "/") ? $this->_solrHost : $this->_solrHost . "/"; $solrIntruct = (substr($this->_solrHost, - 1) == "/") ? $this->_solrHost : $this->_solrHost . "/";
$solrIntruct .= $workspace; $solrIntruct .= $workspace;
$solrIntruct .= "/select/?q=$query"; $solrIntruct .= "/select/?q=$query";
$solrIntruct .= "&echoParams=none"; $solrIntruct .= "&echoParams=none";
@@ -172,30 +174,29 @@ class BpmnEngine_SearchIndexAccess_Solr
$solrIntruct .= $resultFormat; $solrIntruct .= $resultFormat;
// send query // send query
// search the cases in base to datatable parameters // search the cases in base to datatable parameters
$handler = curl_init( $solrIntruct ); $handler = curl_init($solrIntruct);
curl_setopt( $handler, CURLOPT_RETURNTRANSFER, true ); curl_setopt($handler, CURLOPT_RETURNTRANSFER, true);
//Apply proxy settings //Apply proxy settings
$sysConf = System::getSystemConfiguration(); $sysConf = System::getSystemConfiguration();
if ($sysConf['proxy_host'] != '') { if ($sysConf['proxy_host'] != '') {
curl_setopt( $handler, CURLOPT_PROXY, $sysConf['proxy_host'] . ($sysConf['proxy_port'] != '' ? ':' . $sysConf['proxy_port'] : '') ); curl_setopt($handler, CURLOPT_PROXY, $sysConf['proxy_host'] . ($sysConf['proxy_port'] != '' ? ':' . $sysConf['proxy_port'] : ''));
if ($sysConf['proxy_port'] != '') { if ($sysConf['proxy_port'] != '') {
curl_setopt( $handler, CURLOPT_PROXYPORT, $sysConf['proxy_port'] ); curl_setopt($handler, CURLOPT_PROXYPORT, $sysConf['proxy_port']);
} }
if ($sysConf['proxy_user'] != '') { if ($sysConf['proxy_user'] != '') {
curl_setopt( $handler, CURLOPT_PROXYUSERPWD, $sysConf['proxy_user'] . ($sysConf['proxy_pass'] != '' ? ':' . $sysConf['proxy_pass'] : '') ); curl_setopt($handler, CURLOPT_PROXYUSERPWD, $sysConf['proxy_user'] . ($sysConf['proxy_pass'] != '' ? ':' . $sysConf['proxy_pass'] : ''));
} }
curl_setopt( $handler, CURLOPT_HTTPHEADER, array ('Expect:' curl_setopt($handler, CURLOPT_HTTPHEADER, array('Expect:'));
) );
} }
$response = curl_exec( $handler ); $response = curl_exec($handler);
curl_close( $handler ); curl_close($handler);
// decode // decode
$responseSolr = G::json_decode( $response ); $responseSolr = G::json_decode($response);
if ($responseSolr->responseHeader->status != 0) { if ($responseSolr->responseHeader->status != 0) {
throw new Exception( "Error executing query to Solr." . $solrIntruct . " response error: " . $response . "\n" ); throw new Exception("Error executing query to Solr." . $solrIntruct . " response error: " . $response . "\n");
} }
return $responseSolr; return $responseSolr;
@@ -209,44 +210,42 @@ class BpmnEngine_SearchIndexAccess_Solr
* *
* @return solr response * @return solr response
*/ */
public function updateDocument ($solrUpdateDocument) public function updateDocument($solrUpdateDocument)
{ {
if (! $this->_solrIsEnabled) if (!$this->_solrIsEnabled) {
return; return;
}
$solrIntruct = ''; $solrIntruct = '';
// get configuration information in base to workspace parameter // get configuration information in base to workspace parameter
$solrIntruct = (substr( $this->_solrHost, - 1 ) == "/") ? $this->_solrHost : $this->_solrHost . "/"; $solrIntruct = (substr($this->_solrHost, - 1) == "/") ? $this->_solrHost : $this->_solrHost . "/";
$solrIntruct .= $solrUpdateDocument->workspace; $solrIntruct .= $solrUpdateDocument->workspace;
$solrIntruct .= "/update"; $solrIntruct .= "/update";
$handler = curl_init( $solrIntruct ); $handler = curl_init($solrIntruct);
curl_setopt( $handler, CURLOPT_RETURNTRANSFER, true ); curl_setopt($handler, CURLOPT_RETURNTRANSFER, true);
curl_setopt( $handler, CURLOPT_HTTPHEADER, array ('Content-type:application/xml' curl_setopt($handler, CURLOPT_HTTPHEADER, array('Content-type:application/xml'
) ); // -H )); // -H
curl_setopt( $handler, CURLOPT_BINARYTRANSFER, TRUE ); // --data-binary curl_setopt($handler, CURLOPT_BINARYTRANSFER, true); // --data-binary
curl_setopt( $handler, CURLOPT_POSTFIELDS, $solrUpdateDocument->document ); // data curl_setopt($handler, CURLOPT_POSTFIELDS, $solrUpdateDocument->document); // data
//Apply proxy settings //Apply proxy settings
$sysConf = System::getSystemConfiguration(); $sysConf = System::getSystemConfiguration();
if ($sysConf['proxy_host'] != '') { if ($sysConf['proxy_host'] != '') {
curl_setopt( $handler, CURLOPT_PROXY, $sysConf['proxy_host'] . ($sysConf['proxy_port'] != '' ? ':' . $sysConf['proxy_port'] : '') ); curl_setopt($handler, CURLOPT_PROXY, $sysConf['proxy_host'] . ($sysConf['proxy_port'] != '' ? ':' . $sysConf['proxy_port'] : ''));
if ($sysConf['proxy_port'] != '') { if ($sysConf['proxy_port'] != '') {
curl_setopt( $handler, CURLOPT_PROXYPORT, $sysConf['proxy_port'] ); curl_setopt($handler, CURLOPT_PROXYPORT, $sysConf['proxy_port']);
} }
if ($sysConf['proxy_user'] != '') { if ($sysConf['proxy_user'] != '') {
curl_setopt( $handler, CURLOPT_PROXYUSERPWD, $sysConf['proxy_user'] . ($sysConf['proxy_pass'] != '' ? ':' . $sysConf['proxy_pass'] : '') ); curl_setopt($handler, CURLOPT_PROXYUSERPWD, $sysConf['proxy_user'] . ($sysConf['proxy_pass'] != '' ? ':' . $sysConf['proxy_pass'] : ''));
} }
curl_setopt( $handler, CURLOPT_HTTPHEADER, array ('Expect:' curl_setopt($handler, CURLOPT_HTTPHEADER, array('Expect:'));
) );
} }
$response = curl_exec( $handler ); $response = curl_exec($handler);
curl_close( $handler ); curl_close($handler);
$swOk = strpos( $response, '<int name="status">0</int>' ); $swOk = strpos($response, '<int name="status">0</int>');
if (! $swOk) { if (!$swOk) {
throw new Exception( "Error updating document in Solr." . $solrIntruct . " response error: " . $response . "\n" ); throw new Exception("Error updating document in Solr." . $solrIntruct . " response error: " . $response . "\n");
} }
} }
@@ -258,44 +257,41 @@ class BpmnEngine_SearchIndexAccess_Solr
* *
* @return solr response * @return solr response
*/ */
public function commitChanges ($workspace) public function commitChanges($workspace)
{ {
if (! $this->_solrIsEnabled) if (!$this->_solrIsEnabled) {
return; return;
}
$solrIntruct = ''; $solrIntruct = '';
// get configuration information in base to workspace parameter // get configuration information in base to workspace parameter
$solrIntruct = (substr( $this->_solrHost, - 1 ) == "/") ? $this->_solrHost : $this->_solrHost . "/"; $solrIntruct = (substr($this->_solrHost, - 1) == "/") ? $this->_solrHost : $this->_solrHost . "/";
$solrIntruct .= $workspace; $solrIntruct .= $workspace;
$solrIntruct .= "/update"; $solrIntruct .= "/update";
$handler = curl_init( $solrIntruct ); $handler = curl_init($solrIntruct);
curl_setopt( $handler, CURLOPT_RETURNTRANSFER, true ); curl_setopt($handler, CURLOPT_RETURNTRANSFER, true);
curl_setopt( $handler, CURLOPT_HTTPHEADER, array ('Content-type:application/xml' curl_setopt($handler, CURLOPT_HTTPHEADER, array('Content-type:application/xml')); // -H
) ); // -H curl_setopt($handler, CURLOPT_BINARYTRANSFER, true); // --data-binary
curl_setopt( $handler, CURLOPT_BINARYTRANSFER, TRUE ); // --data-binary curl_setopt($handler, CURLOPT_POSTFIELDS, "<commit/>"); // data
curl_setopt( $handler, CURLOPT_POSTFIELDS, "<commit/>" ); // data
//Apply proxy settings //Apply proxy settings
$sysConf = System::getSystemConfiguration(); $sysConf = System::getSystemConfiguration();
if ($sysConf['proxy_host'] != '') { if ($sysConf['proxy_host'] != '') {
curl_setopt( $handler, CURLOPT_PROXY, $sysConf['proxy_host'] . ($sysConf['proxy_port'] != '' ? ':' . $sysConf['proxy_port'] : '') ); curl_setopt($handler, CURLOPT_PROXY, $sysConf['proxy_host'] . ($sysConf['proxy_port'] != '' ? ':' . $sysConf['proxy_port'] : ''));
if ($sysConf['proxy_port'] != '') { if ($sysConf['proxy_port'] != '') {
curl_setopt( $handler, CURLOPT_PROXYPORT, $sysConf['proxy_port'] ); curl_setopt($handler, CURLOPT_PROXYPORT, $sysConf['proxy_port']);
} }
if ($sysConf['proxy_user'] != '') { if ($sysConf['proxy_user'] != '') {
curl_setopt( $handler, CURLOPT_PROXYUSERPWD, $sysConf['proxy_user'] . ($sysConf['proxy_pass'] != '' ? ':' . $sysConf['proxy_pass'] : '') ); curl_setopt($handler, CURLOPT_PROXYUSERPWD, $sysConf['proxy_user'] . ($sysConf['proxy_pass'] != '' ? ':' . $sysConf['proxy_pass'] : ''));
} }
curl_setopt( $handler, CURLOPT_HTTPHEADER, array ('Expect:' curl_setopt($handler, CURLOPT_HTTPHEADER, array('Expect:'));
) );
} }
$response = curl_exec( $handler ); $response = curl_exec($handler);
curl_close( $handler ); curl_close($handler);
$swOk = strpos( $response, '<int name="status">0</int>' ); $swOk = strpos($response, '<int name="status">0</int>');
if (! $swOk) { if (!$swOk) {
throw new Exception( "Error commiting changes in Solr." . $solrIntruct . " response error: " . $response . "\n" ); throw new Exception("Error commiting changes in Solr." . $solrIntruct . " response error: " . $response . "\n");
} }
} }
@@ -307,45 +303,42 @@ class BpmnEngine_SearchIndexAccess_Solr
* *
* @return solr response * @return solr response
*/ */
public function rollbackChanges ($workspace) public function rollbackChanges($workspace)
{ {
if (! $this->_solrIsEnabled) if (!$this->_solrIsEnabled) {
return; return;
}
$solrIntruct = ''; $solrIntruct = '';
// get configuration information in base to workspace parameter // get configuration information in base to workspace parameter
$solrIntruct = (substr( $this->_solrHost, - 1 ) == "/") ? $this->_solrHost : $this->_solrHost . "/"; $solrIntruct = (substr($this->_solrHost, - 1) == "/") ? $this->_solrHost : $this->_solrHost . "/";
$solrIntruct .= $workspace; $solrIntruct .= $workspace;
$solrIntruct .= "/update"; $solrIntruct .= "/update";
$handler = curl_init( $solrIntruct ); $handler = curl_init($solrIntruct);
curl_setopt( $handler, CURLOPT_RETURNTRANSFER, true ); curl_setopt($handler, CURLOPT_RETURNTRANSFER, true);
curl_setopt( $handler, CURLOPT_HTTPHEADER, array ('Content-type:application/xml' curl_setopt($handler, CURLOPT_HTTPHEADER, array('Content-type:application/xml')); // -H
) ); // -H curl_setopt($handler, CURLOPT_BINARYTRANSFER, true); // --data-binary
curl_setopt( $handler, CURLOPT_BINARYTRANSFER, TRUE ); // --data-binary curl_setopt($handler, CURLOPT_POSTFIELDS, "<rollback/>"); // data
curl_setopt( $handler, CURLOPT_POSTFIELDS, "<rollback/>" ); // data
//Apply proxy settings //Apply proxy settings
$sysConf = System::getSystemConfiguration(); $sysConf = System::getSystemConfiguration();
if ($sysConf['proxy_host'] != '') { if ($sysConf['proxy_host'] != '') {
curl_setopt( $handler, CURLOPT_PROXY, $sysConf['proxy_host'] . ($sysConf['proxy_port'] != '' ? ':' . $sysConf['proxy_port'] : '') ); curl_setopt($handler, CURLOPT_PROXY, $sysConf['proxy_host'] . ($sysConf['proxy_port'] != '' ? ':' . $sysConf['proxy_port'] : ''));
if ($sysConf['proxy_port'] != '') { if ($sysConf['proxy_port'] != '') {
curl_setopt( $handler, CURLOPT_PROXYPORT, $sysConf['proxy_port'] ); curl_setopt($handler, CURLOPT_PROXYPORT, $sysConf['proxy_port']);
} }
if ($sysConf['proxy_user'] != '') { if ($sysConf['proxy_user'] != '') {
curl_setopt( $handler, CURLOPT_PROXYUSERPWD, $sysConf['proxy_user'] . ($sysConf['proxy_pass'] != '' ? ':' . $sysConf['proxy_pass'] : '') ); curl_setopt($handler, CURLOPT_PROXYUSERPWD, $sysConf['proxy_user'] . ($sysConf['proxy_pass'] != '' ? ':' . $sysConf['proxy_pass'] : ''));
} }
curl_setopt( $handler, CURLOPT_HTTPHEADER, array ('Expect:' curl_setopt($handler, CURLOPT_HTTPHEADER, array('Expect:'));
) );
} }
$response = curl_exec( $handler ); $response = curl_exec($handler);
curl_close( $handler ); curl_close($handler);
$swOk = strpos( $response, '<int name="status">0</int>' ); $swOk = strpos($response, '<int name="status">0</int>');
if (! $swOk) { if (!$swOk) {
throw new Exception( "Error rolling back changes in Solr." . $solrIntruct . " response error: " . $response . "\n" ); throw new Exception("Error rolling back changes in Solr." . $solrIntruct . " response error: " . $response . "\n");
} }
} }
@@ -357,45 +350,42 @@ class BpmnEngine_SearchIndexAccess_Solr
* *
* @return solr response * @return solr response
*/ */
public function optimizeChanges ($workspace) public function optimizeChanges($workspace)
{ {
if (! $this->_solrIsEnabled) if (!$this->_solrIsEnabled) {
return; return;
}
$solrIntruct = ''; $solrIntruct = '';
// get configuration information in base to workspace parameter // get configuration information in base to workspace parameter
$solrIntruct = (substr( $this->_solrHost, - 1 ) == "/") ? $this->_solrHost : $this->_solrHost . "/"; $solrIntruct = (substr($this->_solrHost, - 1) == "/") ? $this->_solrHost : $this->_solrHost . "/";
$solrIntruct .= $workspace; $solrIntruct .= $workspace;
$solrIntruct .= "/update"; $solrIntruct .= "/update";
$handler = curl_init( $solrIntruct ); $handler = curl_init($solrIntruct);
curl_setopt( $handler, CURLOPT_RETURNTRANSFER, true ); curl_setopt($handler, CURLOPT_RETURNTRANSFER, true);
curl_setopt( $handler, CURLOPT_HTTPHEADER, array ('Content-type:application/xml' curl_setopt($handler, CURLOPT_HTTPHEADER, array('Content-type:application/xml')); // -H
) ); // -H curl_setopt($handler, CURLOPT_BINARYTRANSFER, true); // --data-binary
curl_setopt( $handler, CURLOPT_BINARYTRANSFER, TRUE ); // --data-binary curl_setopt($handler, CURLOPT_POSTFIELDS, "<optimize/>"); // data
curl_setopt( $handler, CURLOPT_POSTFIELDS, "<optimize/>" ); // data
//Apply proxy settings //Apply proxy settings
$sysConf = System::getSystemConfiguration(); $sysConf = System::getSystemConfiguration();
if ($sysConf['proxy_host'] != '') { if ($sysConf['proxy_host'] != '') {
curl_setopt( $handler, CURLOPT_PROXY, $sysConf['proxy_host'] . ($sysConf['proxy_port'] != '' ? ':' . $sysConf['proxy_port'] : '') ); curl_setopt($handler, CURLOPT_PROXY, $sysConf['proxy_host'] . ($sysConf['proxy_port'] != '' ? ':' . $sysConf['proxy_port'] : ''));
if ($sysConf['proxy_port'] != '') { if ($sysConf['proxy_port'] != '') {
curl_setopt( $handler, CURLOPT_PROXYPORT, $sysConf['proxy_port'] ); curl_setopt($handler, CURLOPT_PROXYPORT, $sysConf['proxy_port']);
} }
if ($sysConf['proxy_user'] != '') { if ($sysConf['proxy_user'] != '') {
curl_setopt( $handler, CURLOPT_PROXYUSERPWD, $sysConf['proxy_user'] . ($sysConf['proxy_pass'] != '' ? ':' . $sysConf['proxy_pass'] : '') ); curl_setopt($handler, CURLOPT_PROXYUSERPWD, $sysConf['proxy_user'] . ($sysConf['proxy_pass'] != '' ? ':' . $sysConf['proxy_pass'] : ''));
} }
curl_setopt( $handler, CURLOPT_HTTPHEADER, array ('Expect:' curl_setopt($handler, CURLOPT_HTTPHEADER, array('Expect:'));
) );
} }
$response = curl_exec( $handler ); $response = curl_exec($handler);
curl_close( $handler ); curl_close($handler);
$swOk = strpos( $response, '<int name="status">0</int>' ); $swOk = strpos($response, '<int name="status">0</int>');
if (! $swOk) { if (!$swOk) {
throw new Exception( "Error optimizing changes in Solr." . $solrIntruct . " response error: " . $response . "\n" ); throw new Exception("Error optimizing changes in Solr." . $solrIntruct . " response error: " . $response . "\n");
} }
} }
@@ -406,40 +396,40 @@ class BpmnEngine_SearchIndexAccess_Solr
* @throws Exception * @throws Exception
* @return void mixed of field names * @return void mixed of field names
*/ */
public function getListIndexedStoredFields ($workspace) public function getListIndexedStoredFields($workspace)
{ {
if (! $this->_solrIsEnabled) if (!$this->_solrIsEnabled) {
return; return;
}
$solrIntruct = ''; $solrIntruct = '';
// get configuration information in base to workspace parameter // get configuration information in base to workspace parameter
$solrIntruct = (substr( $this->_solrHost, - 1 ) == "/") ? $this->_solrHost : $this->_solrHost . "/"; $solrIntruct = (substr($this->_solrHost, - 1) == "/") ? $this->_solrHost : $this->_solrHost . "/";
$solrIntruct .= $workspace; $solrIntruct .= $workspace;
$solrIntruct .= "/admin/luke?numTerms=0&wt=json"; $solrIntruct .= "/admin/luke?numTerms=0&wt=json";
$handler = curl_init( $solrIntruct ); $handler = curl_init($solrIntruct);
curl_setopt( $handler, CURLOPT_RETURNTRANSFER, true ); curl_setopt($handler, CURLOPT_RETURNTRANSFER, true);
//Apply proxy settings //Apply proxy settings
$sysConf = System::getSystemConfiguration(); $sysConf = System::getSystemConfiguration();
if ($sysConf['proxy_host'] != '') { if ($sysConf['proxy_host'] != '') {
curl_setopt( $handler, CURLOPT_PROXY, $sysConf['proxy_host'] . ($sysConf['proxy_port'] != '' ? ':' . $sysConf['proxy_port'] : '') ); curl_setopt($handler, CURLOPT_PROXY, $sysConf['proxy_host'] . ($sysConf['proxy_port'] != '' ? ':' . $sysConf['proxy_port'] : ''));
if ($sysConf['proxy_port'] != '') { if ($sysConf['proxy_port'] != '') {
curl_setopt( $handler, CURLOPT_PROXYPORT, $sysConf['proxy_port'] ); curl_setopt($handler, CURLOPT_PROXYPORT, $sysConf['proxy_port']);
} }
if ($sysConf['proxy_user'] != '') { if ($sysConf['proxy_user'] != '') {
curl_setopt( $handler, CURLOPT_PROXYUSERPWD, $sysConf['proxy_user'] . ($sysConf['proxy_pass'] != '' ? ':' . $sysConf['proxy_pass'] : '') ); curl_setopt($handler, CURLOPT_PROXYUSERPWD, $sysConf['proxy_user'] . ($sysConf['proxy_pass'] != '' ? ':' . $sysConf['proxy_pass'] : ''));
} }
curl_setopt( $handler, CURLOPT_HTTPHEADER, array ('Expect:' curl_setopt($handler, CURLOPT_HTTPHEADER, array('Expect:'));
) );
} }
$response = curl_exec( $handler ); $response = curl_exec($handler);
curl_close( $handler ); curl_close($handler);
// decode // decode
$responseSolr = G::json_decode( $response ); $responseSolr = G::json_decode($response);
if ($responseSolr->responseHeader->status != 0) { if ($responseSolr->responseHeader->status != 0) {
throw new Exception( "Error getting index fields in Solr." . $solrIntruct . " response error: " . $response . "\n" ); throw new Exception("Error getting index fields in Solr." . $solrIntruct . " response error: " . $response . "\n");
} }
return $responseSolr; return $responseSolr;
} }
@@ -461,7 +451,7 @@ class BpmnEngine_SearchIndexAccess_Solr
$solrIntruct = ""; $solrIntruct = "";
//Get configuration information in base to workspace parameter //Get configuration information in base to workspace parameter
$solrIntruct = (substr($this->_solrHost, -1) == "/")? $this->_solrHost : $this->_solrHost . "/"; $solrIntruct = (substr($this->_solrHost, -1) == "/") ? $this->_solrHost : $this->_solrHost . "/";
$solrIntruct .= $workspace; $solrIntruct .= $workspace;
$solrIntruct .= "/admin/ping?wt=json"; $solrIntruct .= "/admin/ping?wt=json";
@@ -472,14 +462,14 @@ class BpmnEngine_SearchIndexAccess_Solr
$sysConf = System::getSystemConfiguration(); $sysConf = System::getSystemConfiguration();
if ($sysConf["proxy_host"] != "") { if ($sysConf["proxy_host"] != "") {
curl_setopt($handler, CURLOPT_PROXY, $sysConf["proxy_host"] . (($sysConf["proxy_port"] != "")? ":" . $sysConf["proxy_port"] : "")); curl_setopt($handler, CURLOPT_PROXY, $sysConf["proxy_host"] . (($sysConf["proxy_port"] != "") ? ":" . $sysConf["proxy_port"] : ""));
if ($sysConf["proxy_port"] != "") { if ($sysConf["proxy_port"] != "") {
curl_setopt($handler, CURLOPT_PROXYPORT, $sysConf["proxy_port"]); curl_setopt($handler, CURLOPT_PROXYPORT, $sysConf["proxy_port"]);
} }
if ($sysConf["proxy_user"] != "") { if ($sysConf["proxy_user"] != "") {
curl_setopt($handler, CURLOPT_PROXYUSERPWD, $sysConf["proxy_user"] . (($sysConf["proxy_pass"] != "")? ":" . $sysConf["proxy_pass"] : "")); curl_setopt($handler, CURLOPT_PROXYUSERPWD, $sysConf["proxy_user"] . (($sysConf["proxy_pass"] != "") ? ":" . $sysConf["proxy_pass"] : ""));
} }
curl_setopt($handler, CURLOPT_HTTPHEADER, array("Expect:")); curl_setopt($handler, CURLOPT_HTTPHEADER, array("Expect:"));
@@ -494,7 +484,7 @@ class BpmnEngine_SearchIndexAccess_Solr
} }
//Decode //Decode
$responseSolr = G::json_decode ($response); $responseSolr = G::json_decode($response);
if ($responseSolr->responseHeader->status != "OK") { if ($responseSolr->responseHeader->status != "OK") {
throw new Exception("Error pinging Solr server." . $solrIntruct . " response error: " . $response . "\n"); throw new Exception("Error pinging Solr server." . $solrIntruct . " response error: " . $response . "\n");
@@ -511,48 +501,45 @@ class BpmnEngine_SearchIndexAccess_Solr
* *
* @return solr response * @return solr response
*/ */
public function deleteAllDocuments ($workspace) public function deleteAllDocuments($workspace)
{ {
if (! $this->_solrIsEnabled) if (!$this->_solrIsEnabled) {
return; return;
// $registry = Zend_Registry::getInstance(); }
// $registry = Zend_Registry::getInstance();
$solrIntruct = ''; $solrIntruct = '';
// get configuration information in base to workspace parameter // get configuration information in base to workspace parameter
$solrIntruct = (substr( $this->_solrHost, - 1 ) == "/") ? $this->_solrHost : $this->_solrHost . "/"; $solrIntruct = (substr($this->_solrHost, - 1) == "/") ? $this->_solrHost : $this->_solrHost . "/";
$solrIntruct .= $workspace; $solrIntruct .= $workspace;
$solrIntruct .= "/update"; $solrIntruct .= "/update";
$handler = curl_init( $solrIntruct ); $handler = curl_init($solrIntruct);
curl_setopt( $handler, CURLOPT_RETURNTRANSFER, true ); curl_setopt($handler, CURLOPT_RETURNTRANSFER, true);
curl_setopt( $handler, CURLOPT_HTTPHEADER, array ('Content-type:application/xml' curl_setopt($handler, CURLOPT_HTTPHEADER, array('Content-type:application/xml')); // -H
) ); // -H curl_setopt($handler, CURLOPT_BINARYTRANSFER, true); // --data-binary
curl_setopt( $handler, CURLOPT_BINARYTRANSFER, TRUE ); // --data-binary curl_setopt($handler, CURLOPT_POSTFIELDS, "<delete><query>*:*</query></delete>"); // data
curl_setopt( $handler, CURLOPT_POSTFIELDS, "<delete><query>*:*</query></delete>" ); // data
//Apply proxy settings //Apply proxy settings
$sysConf = System::getSystemConfiguration(); $sysConf = System::getSystemConfiguration();
if ($sysConf['proxy_host'] != '') { if ($sysConf['proxy_host'] != '') {
curl_setopt( $handler, CURLOPT_PROXY, $sysConf['proxy_host'] . ($sysConf['proxy_port'] != '' ? ':' . $sysConf['proxy_port'] : '') ); curl_setopt($handler, CURLOPT_PROXY, $sysConf['proxy_host'] . ($sysConf['proxy_port'] != '' ? ':' . $sysConf['proxy_port'] : ''));
if ($sysConf['proxy_port'] != '') { if ($sysConf['proxy_port'] != '') {
curl_setopt( $handler, CURLOPT_PROXYPORT, $sysConf['proxy_port'] ); curl_setopt($handler, CURLOPT_PROXYPORT, $sysConf['proxy_port']);
} }
if ($sysConf['proxy_user'] != '') { if ($sysConf['proxy_user'] != '') {
curl_setopt( $handler, CURLOPT_PROXYUSERPWD, $sysConf['proxy_user'] . ($sysConf['proxy_pass'] != '' ? ':' . $sysConf['proxy_pass'] : '') ); curl_setopt($handler, CURLOPT_PROXYUSERPWD, $sysConf['proxy_user'] . ($sysConf['proxy_pass'] != '' ? ':' . $sysConf['proxy_pass'] : ''));
} }
curl_setopt( $handler, CURLOPT_HTTPHEADER, array ('Expect:' curl_setopt($handler, CURLOPT_HTTPHEADER, array('Expect:'));
) );
} }
$response = curl_exec( $handler ); $response = curl_exec($handler);
curl_close( $handler ); curl_close($handler);
$swOk = strpos( $response, '<int name="status">0</int>' ); $swOk = strpos($response, '<int name="status">0</int>');
if (! $swOk) { if (!$swOk) {
throw new Exception( "Error deleting all documents in Solr." . $solrIntruct . " response error: " . $response . "\n" ); throw new Exception("Error deleting all documents in Solr." . $solrIntruct . " response error: " . $response . "\n");
} }
} }
@@ -564,48 +551,45 @@ class BpmnEngine_SearchIndexAccess_Solr
* *
* @return solr response * @return solr response
*/ */
public function deleteDocument ($workspace, $idQuery) public function deleteDocument($workspace, $idQuery)
{ {
if (! $this->_solrIsEnabled) if (!$this->_solrIsEnabled) {
return; return;
// $registry = Zend_Registry::getInstance(); }
// $registry = Zend_Registry::getInstance();
$solrIntruct = ''; $solrIntruct = '';
// get configuration information in base to workspace parameter // get configuration information in base to workspace parameter
$solrIntruct = (substr( $this->_solrHost, - 1 ) == "/") ? $this->_solrHost : $this->_solrHost . "/"; $solrIntruct = (substr($this->_solrHost, - 1) == "/") ? $this->_solrHost : $this->_solrHost . "/";
$solrIntruct .= $workspace; $solrIntruct .= $workspace;
$solrIntruct .= "/update"; $solrIntruct .= "/update";
$handler = curl_init( $solrIntruct ); $handler = curl_init($solrIntruct);
curl_setopt( $handler, CURLOPT_RETURNTRANSFER, true ); curl_setopt($handler, CURLOPT_RETURNTRANSFER, true);
curl_setopt( $handler, CURLOPT_HTTPHEADER, array ('Content-type:application/xml' curl_setopt($handler, CURLOPT_HTTPHEADER, array('Content-type:application/xml')); // -H
) ); // -H curl_setopt($handler, CURLOPT_BINARYTRANSFER, true); // --data-binary
curl_setopt( $handler, CURLOPT_BINARYTRANSFER, TRUE ); // --data-binary curl_setopt($handler, CURLOPT_POSTFIELDS, "<delete><query>" . $idQuery . "</query></delete>"); // data
curl_setopt( $handler, CURLOPT_POSTFIELDS, "<delete><query>" . $idQuery . "</query></delete>" ); // data
//Apply proxy settings //Apply proxy settings
$sysConf = System::getSystemConfiguration(); $sysConf = System::getSystemConfiguration();
if ($sysConf['proxy_host'] != '') { if ($sysConf['proxy_host'] != '') {
curl_setopt( $handler, CURLOPT_PROXY, $sysConf['proxy_host'] . ($sysConf['proxy_port'] != '' ? ':' . $sysConf['proxy_port'] : '') ); curl_setopt($handler, CURLOPT_PROXY, $sysConf['proxy_host'] . ($sysConf['proxy_port'] != '' ? ':' . $sysConf['proxy_port'] : ''));
if ($sysConf['proxy_port'] != '') { if ($sysConf['proxy_port'] != '') {
curl_setopt( $handler, CURLOPT_PROXYPORT, $sysConf['proxy_port'] ); curl_setopt($handler, CURLOPT_PROXYPORT, $sysConf['proxy_port']);
} }
if ($sysConf['proxy_user'] != '') { if ($sysConf['proxy_user'] != '') {
curl_setopt( $handler, CURLOPT_PROXYUSERPWD, $sysConf['proxy_user'] . ($sysConf['proxy_pass'] != '' ? ':' . $sysConf['proxy_pass'] : '') ); curl_setopt($handler, CURLOPT_PROXYUSERPWD, $sysConf['proxy_user'] . ($sysConf['proxy_pass'] != '' ? ':' . $sysConf['proxy_pass'] : ''));
} }
curl_setopt( $handler, CURLOPT_HTTPHEADER, array ('Expect:' curl_setopt($handler, CURLOPT_HTTPHEADER, array('Expect:'));
) );
} }
$response = curl_exec( $handler ); $response = curl_exec($handler);
curl_close( $handler ); curl_close($handler);
$swOk = strpos( $response, '<int name="status">0</int>' ); $swOk = strpos($response, '<int name="status">0</int>');
if (! $swOk) { if (!$swOk) {
throw new Exception( "Error deleting document in Solr." . $solrIntruct . " response error: " . $response . "\n" ); throw new Exception("Error deleting document in Solr." . $solrIntruct . " response error: " . $response . "\n");
} }
} }
@@ -615,18 +599,19 @@ class BpmnEngine_SearchIndexAccess_Solr
* @param Entity_FacetRequest $facetRequestEntity * @param Entity_FacetRequest $facetRequestEntity
* @return solr response: list of facets array * @return solr response: list of facets array
*/ */
public function getFacetsList ($facetRequest) public function getFacetsList($facetRequest)
{ {
if (! $this->_solrIsEnabled) if (!$this->_solrIsEnabled) {
return; return;
}
$solrIntruct = ''; $solrIntruct = '';
// get configuration information in base to workspace parameter // get configuration information in base to workspace parameter
$workspace = $facetRequest->workspace; $workspace = $facetRequest->workspace;
// format request // format request
$query = empty( $facetRequest->searchText ) ? '*:*' : $facetRequest->searchText; $query = empty($facetRequest->searchText) ? '*:*' : $facetRequest->searchText;
$query = rawurlencode( $query ); $query = rawurlencode($query);
$start = '&start=0'; $start = '&start=0';
$rows = '&rows=0'; $rows = '&rows=0';
$facets = '&facet=on&facet.mincount=1&facet.limit=20'; // enable facet and $facets = '&facet=on&facet.mincount=1&facet.limit=20'; // enable facet and
@@ -639,7 +624,7 @@ class BpmnEngine_SearchIndexAccess_Solr
foreach ($facetRequest->facetQueries as $value) { foreach ($facetRequest->facetQueries as $value) {
$facets .= '&facet.query=' . $value; $facets .= '&facet.query=' . $value;
} }
if (! empty( $facetRequest->facetDates )) { if (!empty($facetRequest->facetDates)) {
foreach ($facetRequest->facetDates as $value) { foreach ($facetRequest->facetDates as $value) {
$facets .= '&facet.date=' . $value; $facets .= '&facet.date=' . $value;
} }
@@ -656,7 +641,7 @@ class BpmnEngine_SearchIndexAccess_Solr
$resultFormat = '&wt=json'; $resultFormat = '&wt=json';
$solrIntruct = (substr( $this->_solrHost, - 1 ) == "/") ? $this->_solrHost : $this->_solrHost . "/"; $solrIntruct = (substr($this->_solrHost, - 1) == "/") ? $this->_solrHost : $this->_solrHost . "/";
$solrIntruct .= $workspace; $solrIntruct .= $workspace;
$solrIntruct .= "/select/?q=$query"; $solrIntruct .= "/select/?q=$query";
$solrIntruct .= "&echoParams=none"; $solrIntruct .= "&echoParams=none";
@@ -669,30 +654,29 @@ class BpmnEngine_SearchIndexAccess_Solr
// send query // send query
// search the cases in base to datatable parameters // search the cases in base to datatable parameters
$handler = curl_init( $solrIntruct ); $handler = curl_init($solrIntruct);
curl_setopt( $handler, CURLOPT_RETURNTRANSFER, true ); curl_setopt($handler, CURLOPT_RETURNTRANSFER, true);
//Apply proxy settings //Apply proxy settings
$sysConf = System::getSystemConfiguration(); $sysConf = System::getSystemConfiguration();
if ($sysConf['proxy_host'] != '') { if ($sysConf['proxy_host'] != '') {
curl_setopt( $handler, CURLOPT_PROXY, $sysConf['proxy_host'] . ($sysConf['proxy_port'] != '' ? ':' . $sysConf['proxy_port'] : '') ); curl_setopt($handler, CURLOPT_PROXY, $sysConf['proxy_host'] . ($sysConf['proxy_port'] != '' ? ':' . $sysConf['proxy_port'] : ''));
if ($sysConf['proxy_port'] != '') { if ($sysConf['proxy_port'] != '') {
curl_setopt( $handler, CURLOPT_PROXYPORT, $sysConf['proxy_port'] ); curl_setopt($handler, CURLOPT_PROXYPORT, $sysConf['proxy_port']);
} }
if ($sysConf['proxy_user'] != '') { if ($sysConf['proxy_user'] != '') {
curl_setopt( $handler, CURLOPT_PROXYUSERPWD, $sysConf['proxy_user'] . ($sysConf['proxy_pass'] != '' ? ':' . $sysConf['proxy_pass'] : '') ); curl_setopt($handler, CURLOPT_PROXYUSERPWD, $sysConf['proxy_user'] . ($sysConf['proxy_pass'] != '' ? ':' . $sysConf['proxy_pass'] : ''));
} }
curl_setopt( $handler, CURLOPT_HTTPHEADER, array ('Expect:' curl_setopt($handler, CURLOPT_HTTPHEADER, array('Expect:'));
) );
} }
$response = curl_exec( $handler ); $response = curl_exec($handler);
curl_close( $handler ); curl_close($handler);
// decode // decode
$responseSolr = G::json_decode( $response ); $responseSolr = G::json_decode($response);
if ($responseSolr->responseHeader->status != 0) { if ($responseSolr->responseHeader->status != 0) {
throw new Exception( "Error getting faceted list from Solr." . $solrIntruct . " response error: " . $response . "\n" ); throw new Exception("Error getting faceted list from Solr." . $solrIntruct . " response error: " . $response . "\n");
} }
return $responseSolr; return $responseSolr;

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* class.tasks.php * class.tasks.php
* *
@@ -23,7 +24,6 @@
* For more information, contact Colosa Inc, 2566 Le Jeune Rd., * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com. * Coral Gables, FL, 33134, USA, or email info@colosa.com.
*/ */
require_once 'classes/model/GroupUser.php'; require_once 'classes/model/GroupUser.php';
require_once 'classes/model/Groupwf.php'; require_once 'classes/model/Groupwf.php';
require_once 'classes/model/ObjectPermission.php'; require_once 'classes/model/ObjectPermission.php';
@@ -44,7 +44,6 @@ require_once 'classes/model/Gateway.php';
* @author Julio Cesar Laura Avenda<64>o * @author Julio Cesar Laura Avenda<64>o
* @copyright 2007 COLOSA * @copyright 2007 COLOSA
*/ */
class Tasks class Tasks
{ {
@@ -55,18 +54,18 @@ class Tasks
* @param integer $iType * @param integer $iType
* @return array * @return array
*/ */
public function getGroupsOfTask ($sTaskUID, $iType) public function getGroupsOfTask($sTaskUID, $iType)
{ {
try { try {
$aGroups = array (); $aGroups = array();
$oCriteria = new Criteria( 'workflow' ); $oCriteria = new Criteria('workflow');
$oCriteria->addJoin( GroupwfPeer::GRP_UID, TaskUserPeer::USR_UID, Criteria::LEFT_JOIN ); $oCriteria->addJoin(GroupwfPeer::GRP_UID, TaskUserPeer::USR_UID, Criteria::LEFT_JOIN);
$oCriteria->add( TaskUserPeer::TAS_UID, $sTaskUID ); $oCriteria->add(TaskUserPeer::TAS_UID, $sTaskUID);
$oCriteria->add( TaskUserPeer::TU_TYPE, $iType ); $oCriteria->add(TaskUserPeer::TU_TYPE, $iType);
$oCriteria->add( TaskUserPeer::TU_RELATION, 2 ); $oCriteria->add(TaskUserPeer::TU_RELATION, 2);
$oCriteria->add( GroupwfPeer::GRP_STATUS, 'ACTIVE' ); $oCriteria->add(GroupwfPeer::GRP_STATUS, 'ACTIVE');
$oDataset = GroupwfPeer::doSelectRS( $oCriteria ); $oDataset = GroupwfPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next(); $oDataset->next();
while ($aRow = $oDataset->getRow()) { while ($aRow = $oDataset->getRow()) {
$aGroups[] = $aRow; $aGroups[] = $aRow;
@@ -84,28 +83,28 @@ class Tasks
* @param string $sProUid * @param string $sProUid
* @return array * @return array
*/ */
public function getAllTasks ($sProUid) public function getAllTasks($sProUid)
{ {
try { try {
$aTasks = array (); $aTasks = array();
$sDelimiter = DBAdapter::getStringDelimiter(); $sDelimiter = DBAdapter::getStringDelimiter();
$oCriteria = new Criteria( 'workflow' ); $oCriteria = new Criteria('workflow');
$oCriteria->add( TaskPeer::PRO_UID, $sProUid ); $oCriteria->add(TaskPeer::PRO_UID, $sProUid);
$aConditions = array (); $aConditions = array();
$aConditions[] = array (TaskPeer::TAS_UID,ContentPeer::CON_ID $aConditions[] = array(TaskPeer::TAS_UID, ContentPeer::CON_ID
); );
$aConditions[] = array (ContentPeer::CON_CATEGORY,$sDelimiter . 'TAS_TITLE' . $sDelimiter $aConditions[] = array(ContentPeer::CON_CATEGORY, $sDelimiter . 'TAS_TITLE' . $sDelimiter
); );
$aConditions[] = array (ContentPeer::CON_LANG,$sDelimiter . SYS_LANG . $sDelimiter $aConditions[] = array(ContentPeer::CON_LANG, $sDelimiter . SYS_LANG . $sDelimiter
); );
$oCriteria->addJoinMC( $aConditions, Criteria::LEFT_JOIN ); $oCriteria->addJoinMC($aConditions, Criteria::LEFT_JOIN);
$oCriteria->addAscendingOrderByColumn( ContentPeer::CON_VALUE ); $oCriteria->addAscendingOrderByColumn(ContentPeer::CON_VALUE);
$oDataset = TaskPeer::doSelectRS( $oCriteria ); $oDataset = TaskPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next(); $oDataset->next();
while ($aRow = $oDataset->getRow()) { while ($aRow = $oDataset->getRow()) {
$oTask = new Task(); $oTask = new Task();
$aTasks[] = $oTask->Load( $aRow['TAS_UID'] ); $aTasks[] = $oTask->Load($aRow['TAS_UID']);
$oDataset->next(); $oDataset->next();
} }
return $aTasks; return $aTasks;
@@ -120,13 +119,14 @@ class Tasks
* @param string $aTasks * @param string $aTasks
* @return array * @return array
*/ */
public function createTaskRows ($aTask) public function createTaskRows($aTask)
{ {
foreach ($aTask as $key => $row) { foreach ($aTask as $key => $row) {
$oTask = new Task(); $oTask = new Task();
if ($oTask->taskExists( $row['TAS_UID'] )) if ($oTask->taskExists($row['TAS_UID'])) {
$oTask->remove( $row['TAS_UID'] ); $oTask->remove($row['TAS_UID']);
$res = $oTask->createRow( $row ); }
$res = $oTask->createRow($row);
} }
return; return;
} }
@@ -137,14 +137,15 @@ class Tasks
* @param string $aTasks * @param string $aTasks
* @return array * @return array
*/ */
public function updateTaskRows ($aTask) public function updateTaskRows($aTask)
{ {
foreach ($aTask as $key => $row) { foreach ($aTask as $key => $row) {
$oTask = new Task(); $oTask = new Task();
if ($oTask->taskExists( $row['TAS_UID'] )) if ($oTask->taskExists($row['TAS_UID'])) {
$oTask->remove( $row['TAS_UID'] ); $oTask->remove($row['TAS_UID']);
else } else {
$res = $oTask->update( $row ); $res = $oTask->update($row);
}
} }
return; return;
} }
@@ -155,14 +156,14 @@ class Tasks
* @param string $sProUid * @param string $sProUid
* @return array * @return array
*/ */
public function getAllRoutes ($sProUid) public function getAllRoutes($sProUid)
{ {
try { try {
$aRoutes = array (); $aRoutes = array();
$oCriteria = new Criteria( 'workflow' ); $oCriteria = new Criteria('workflow');
$oCriteria->add( RoutePeer::PRO_UID, $sProUid ); $oCriteria->add(RoutePeer::PRO_UID, $sProUid);
$oDataset = RoutePeer::doSelectRS( $oCriteria ); $oDataset = RoutePeer::doSelectRS($oCriteria);
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next(); $oDataset->next();
while ($aRow = $oDataset->getRow()) { while ($aRow = $oDataset->getRow()) {
$aRoutes[] = $aRow; $aRoutes[] = $aRow;
@@ -180,10 +181,10 @@ class Tasks
* @param string $aTasks * @param string $aTasks
* @return array * @return array
*/ */
public function createRouteRows ($aRoutes) public function createRouteRows($aRoutes)
{ {
$routeID = array (); $routeID = array();
$aField = array (); $aField = array();
$taskParallel = ''; $taskParallel = '';
$taskSecJoin = ''; $taskSecJoin = '';
$taskEvaluate = ''; $taskEvaluate = '';
@@ -197,8 +198,6 @@ class Tasks
$oTask = new Task(); $oTask = new Task();
$oEvent = new Event(); $oEvent = new Event();
//unset ($row['ROU_UID']); //unset ($row['ROU_UID']);
//Saving Gateway into the GATEWAY table //Saving Gateway into the GATEWAY table
$idTask = $row['TAS_UID']; $idTask = $row['TAS_UID'];
$nextTask = $row['ROU_NEXT_TASK']; $nextTask = $row['ROU_NEXT_TASK'];
@@ -211,53 +210,54 @@ class Tasks
if ($idTask != $taskParallel) { if ($idTask != $taskParallel) {
$taskParallel = $idTask; $taskParallel = $idTask;
$sGatewayUID = $oProcessMap->saveNewGateway( $row['PRO_UID'], $row['TAS_UID'], $row['ROU_NEXT_TASK'] ); $sGatewayUID = $oProcessMap->saveNewGateway($row['PRO_UID'], $row['TAS_UID'], $row['ROU_NEXT_TASK']);
} }
break; break;
case 'SEC-JOIN': case 'SEC-JOIN':
if ($nextTask != $taskSecJoin) { if ($nextTask != $taskSecJoin) {
$taskSecJoin = $nextTask; $taskSecJoin = $nextTask;
$sGatewayUID = $oProcessMap->saveNewGateway( $row['PRO_UID'], $row['TAS_UID'], $row['ROU_NEXT_TASK'] ); $sGatewayUID = $oProcessMap->saveNewGateway($row['PRO_UID'], $row['TAS_UID'], $row['ROU_NEXT_TASK']);
} }
break; break;
case 'EVALUATE': case 'EVALUATE':
if ($idTask != $taskEvaluate) { if ($idTask != $taskEvaluate) {
$taskEvaluate = $idTask; $taskEvaluate = $idTask;
$sGatewayUID = $oProcessMap->saveNewGateway( $row['PRO_UID'], $row['TAS_UID'], $row['ROU_NEXT_TASK'] ); $sGatewayUID = $oProcessMap->saveNewGateway($row['PRO_UID'], $row['TAS_UID'], $row['ROU_NEXT_TASK']);
} }
break; break;
case 'PARALLEL-BY-EVALUATION': case 'PARALLEL-BY-EVALUATION':
if ($idTask != $taskParallelEv) { if ($idTask != $taskParallelEv) {
$taskParallelEv = $idTask; $taskParallelEv = $idTask;
$sGatewayUID = $oProcessMap->saveNewGateway( $row['PRO_UID'], $row['TAS_UID'], $row['ROU_NEXT_TASK'] ); $sGatewayUID = $oProcessMap->saveNewGateway($row['PRO_UID'], $row['TAS_UID'], $row['ROU_NEXT_TASK']);
} }
break; break;
case 'SELECT': case 'SELECT':
if ($idTask != $taskSelect) { if ($idTask != $taskSelect) {
$taskSelect = $idTask; $taskSelect = $idTask;
$sGatewayUID = $oProcessMap->saveNewGateway( $row['PRO_UID'], $row['TAS_UID'], $row['ROU_NEXT_TASK'] ); $sGatewayUID = $oProcessMap->saveNewGateway($row['PRO_UID'], $row['TAS_UID'], $row['ROU_NEXT_TASK']);
} }
break; break;
case 'DISCRIMINATOR': case 'DISCRIMINATOR':
if ($nextTask != $taskDiscriminator) { if ($nextTask != $taskDiscriminator) {
$taskDiscriminator = $nextTask; $taskDiscriminator = $nextTask;
$sGatewayUID = $oProcessMap->saveNewGateway( $row['PRO_UID'], $row['TAS_UID'], $row['ROU_NEXT_TASK'] ); $sGatewayUID = $oProcessMap->saveNewGateway($row['PRO_UID'], $row['TAS_UID'], $row['ROU_NEXT_TASK']);
} }
break; break;
} }
$row['GAT_UID'] = $sGatewayUID; $row['GAT_UID'] = $sGatewayUID;
} }
if ($oRoute->routeExists( $row['ROU_UID'] )) if ($oRoute->routeExists($row['ROU_UID'])) {
$oRoute->remove( $row['ROU_UID'] ); $oRoute->remove($row['ROU_UID']);
}
$routeID = $oRoute->create( $row ); $routeID = $oRoute->create($row);
//saving end event while import old processes //saving end event while import old processes
if (isset( $end ) && $end == 1) { if (isset($end) && $end == 1) {
if (! $oEvent->existsByTaskUidFrom( $idTask )) { if (!$oEvent->existsByTaskUidFrom($idTask)) {
if ($sRouteType == "SEQUENTIAL") { if ($sRouteType == "SEQUENTIAL") {
$aTaskDetails = $oTask->load( $idTask ); $aTaskDetails = $oTask->load($idTask);
$positionX = $aTaskDetails['TAS_POSX'] + $aTaskDetails['TAS_WIDTH'] / 2; $positionX = $aTaskDetails['TAS_POSX'] + $aTaskDetails['TAS_WIDTH'] / 2;
$positionY = $aTaskDetails['TAS_POSY'] + $aTaskDetails['TAS_HEIGHT'] + 10; $positionY = $aTaskDetails['TAS_POSY'] + $aTaskDetails['TAS_HEIGHT'] + 10;
@@ -270,16 +270,15 @@ class Tasks
$aData['EVN_RELATED_TO'] = 'MULTIPLE'; $aData['EVN_RELATED_TO'] = 'MULTIPLE';
$aData['EVN_WHEN'] = '1'; $aData['EVN_WHEN'] = '1';
$aData['EVN_ACTION'] = ''; $aData['EVN_ACTION'] = '';
$sEvn_uid = $oEvent->create( $aData ); $sEvn_uid = $oEvent->create($aData);
$aField['ROU_UID'] = $routeID; $aField['ROU_UID'] = $routeID;
$aField['ROU_EVN_UID'] = $sEvn_uid; $aField['ROU_EVN_UID'] = $sEvn_uid;
$oRoute->update( $aField ); $oRoute->update($aField);
$end = 0; $end = 0;
} }
} }
} }
} }
return; return;
} }
@@ -290,15 +289,16 @@ class Tasks
* @param string $aTasks * @param string $aTasks
* @return array * @return array
*/ */
public function updateRouteRows ($aRoutes) public function updateRouteRows($aRoutes)
{ {
foreach ($aRoutes as $key => $row) { foreach ($aRoutes as $key => $row) {
$oRoute = new Route(); $oRoute = new Route();
//krumo ($row); //krumo ($row);
if (is_array( $oRoute->load( $row['ROU_UID'] ) )) if (is_array($oRoute->load($row['ROU_UID']))) {
$oRoute->remove( $row['ROU_UID'] ); $oRoute->remove($row['ROU_UID']);
else } else {
$res = $oRoute->update( $row ); $res = $oRoute->update($row);
}
} }
return; return;
} }
@@ -310,17 +310,17 @@ class Tasks
* @param integer $iType * @param integer $iType
* @return array * @return array
*/ */
public function getUsersOfTask ($sTaskUID, $iType) public function getUsersOfTask($sTaskUID, $iType)
{ {
try { try {
$aUsers = array (); $aUsers = array();
$oCriteria = new Criteria( 'workflow' ); $oCriteria = new Criteria('workflow');
$oCriteria->addJoin( UsersPeer::USR_UID, TaskUserPeer::USR_UID, Criteria::LEFT_JOIN ); $oCriteria->addJoin(UsersPeer::USR_UID, TaskUserPeer::USR_UID, Criteria::LEFT_JOIN);
$oCriteria->add( TaskUserPeer::TAS_UID, $sTaskUID ); $oCriteria->add(TaskUserPeer::TAS_UID, $sTaskUID);
$oCriteria->add( TaskUserPeer::TU_TYPE, $iType ); $oCriteria->add(TaskUserPeer::TU_TYPE, $iType);
$oCriteria->add( TaskUserPeer::TU_RELATION, 1 ); $oCriteria->add(TaskUserPeer::TU_RELATION, 1);
$oDataset = UsersPeer::doSelectRS( $oCriteria ); $oDataset = UsersPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next(); $oDataset->next();
while ($aRow = $oDataset->getRow()) { while ($aRow = $oDataset->getRow()) {
$aUsers[] = $aRow; $aUsers[] = $aRow;
@@ -338,7 +338,7 @@ class Tasks
* @param string $sTaskUID * @param string $sTaskUID
* @return void * @return void
*/ */
function deleteTask ($sTaskUID = '') public function deleteTask($sTaskUID = '')
{ {
try { try {
//Instance classes //Instance classes
@@ -348,58 +348,58 @@ class Tasks
$oStep = new Step(); $oStep = new Step();
$oStepTrigger = new StepTrigger(); $oStepTrigger = new StepTrigger();
//Get task information //Get task information
$aFields = $oTask->load( $sTaskUID ); $aFields = $oTask->load($sTaskUID);
//Delete routes //Delete routes
$oTasks->deleteAllRoutesOfTask( $aFields['PRO_UID'], $sTaskUID, true ); $oTasks->deleteAllRoutesOfTask($aFields['PRO_UID'], $sTaskUID, true);
//Delete gateways //Delete gateways
$oTasks->deleteAllGatewayOfTask( $aFields['PRO_UID'], $sTaskUID, true ); $oTasks->deleteAllGatewayOfTask($aFields['PRO_UID'], $sTaskUID, true);
//Delete the users assigned to task //Delete the users assigned to task
$oCriteria = new Criteria( 'workflow' ); $oCriteria = new Criteria('workflow');
$oCriteria->add( TaskUserPeer::TAS_UID, $sTaskUID ); $oCriteria->add(TaskUserPeer::TAS_UID, $sTaskUID);
$oDataset1 = TaskUserPeer::doSelectRS( $oCriteria ); $oDataset1 = TaskUserPeer::doSelectRS($oCriteria);
$oDataset1->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oDataset1->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset1->next(); $oDataset1->next();
while ($aRow1 = $oDataset1->getRow()) { while ($aRow1 = $oDataset1->getRow()) {
$oTaskUser->remove( $aRow1['TAS_UID'], $aRow1['USR_UID'], $aRow1['TU_TYPE'], $aRow1['TU_RELATION'] ); $oTaskUser->remove($aRow1['TAS_UID'], $aRow1['USR_UID'], $aRow1['TU_TYPE'], $aRow1['TU_RELATION']);
$oDataset1->next(); $oDataset1->next();
} }
//Delete the steps of task //Delete the steps of task
$oCriteria = new Criteria( 'workflow' ); $oCriteria = new Criteria('workflow');
$oCriteria->add( StepPeer::TAS_UID, $sTaskUID ); $oCriteria->add(StepPeer::TAS_UID, $sTaskUID);
$oDataset1 = StepPeer::doSelectRS( $oCriteria ); $oDataset1 = StepPeer::doSelectRS($oCriteria);
$oDataset1->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oDataset1->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset1->next(); $oDataset1->next();
while ($aRow1 = $oDataset1->getRow()) { while ($aRow1 = $oDataset1->getRow()) {
//Delete the triggers assigned to step //Delete the triggers assigned to step
/*$oCriteria = new Criteria('workflow'); /* $oCriteria = new Criteria('workflow');
$oCriteria->add(StepTriggerPeer::STEP_UID, $aRow1['STEP_UID']); $oCriteria->add(StepTriggerPeer::STEP_UID, $aRow1['STEP_UID']);
$oDataset2 = StepTriggerPeer::doSelectRS($oCriteria); $oDataset2 = StepTriggerPeer::doSelectRS($oCriteria);
$oDataset2->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset2->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset2->next(); $oDataset2->next();
while ($aRow2 = $oDataset2->getRow()) { while ($aRow2 = $oDataset2->getRow()) {
$oStepTrigger->remove($aRow2['STEP_UID'], $aRow2['TAS_UID'], $aRow2['TRI_UID'], $aRow2['ST_TYPE']); $oStepTrigger->remove($aRow2['STEP_UID'], $aRow2['TAS_UID'], $aRow2['TRI_UID'], $aRow2['ST_TYPE']);
$oDataset2->next(); $oDataset2->next();
}*/ } */
$oStep->remove( $aRow1['STEP_UID'] ); $oStep->remove($aRow1['STEP_UID']);
$oDataset1->next(); $oDataset1->next();
} }
//Delete step triggers //Delete step triggers
$oCriteria = new Criteria( 'workflow' ); $oCriteria = new Criteria('workflow');
$oCriteria->add( StepTriggerPeer::TAS_UID, $sTaskUID ); $oCriteria->add(StepTriggerPeer::TAS_UID, $sTaskUID);
StepTriggerPeer::doDelete( $oCriteria ); StepTriggerPeer::doDelete($oCriteria);
//Delete permissions //Delete permissions
$oCriteria = new Criteria( 'workflow' ); $oCriteria = new Criteria('workflow');
$oCriteria->add( ObjectPermissionPeer::TAS_UID, $sTaskUID ); $oCriteria->add(ObjectPermissionPeer::TAS_UID, $sTaskUID);
ObjectPermissionPeer::doDelete( $oCriteria ); ObjectPermissionPeer::doDelete($oCriteria);
$oCriteria = new Criteria( 'workflow' ); $oCriteria = new Criteria('workflow');
$oCriteria->add( ObjectPermissionPeer::OP_TASK_SOURCE, $sTaskUID ); $oCriteria->add(ObjectPermissionPeer::OP_TASK_SOURCE, $sTaskUID);
ObjectPermissionPeer::doDelete( $oCriteria ); ObjectPermissionPeer::doDelete($oCriteria);
//Delete task //Delete task
$oTask->remove( $sTaskUID ); $oTask->remove($sTaskUID);
//Delete cases schedulers added by krlos //Delete cases schedulers added by krlos
$oCriteria = new Criteria( 'workflow' ); $oCriteria = new Criteria('workflow');
$oCriteria->add( CaseSchedulerPeer::TAS_UID, $sTaskUID ); $oCriteria->add(CaseSchedulerPeer::TAS_UID, $sTaskUID);
CaseSchedulerPeer::doDelete( $oCriteria ); CaseSchedulerPeer::doDelete($oCriteria);
} catch (Exception $oError) { } catch (Exception $oError) {
throw ($oError); throw ($oError);
} }
@@ -412,22 +412,22 @@ class Tasks
* @param string $sTaskUID * @param string $sTaskUID
* @return boolean * @return boolean
*/ */
public function deleteAllRoutesOfTask ($sProcessUID = '', $sTaskUID = '', $bAll = false) public function deleteAllRoutesOfTask($sProcessUID = '', $sTaskUID = '', $bAll = false)
{ {
try { try {
$oProcess = new Process(); $oProcess = new Process();
$aFields = $oProcess->load( $sProcessUID ); $aFields = $oProcess->load($sProcessUID);
$oTask = new Task(); $oTask = new Task();
$aFields = $oTask->load( $sTaskUID ); $aFields = $oTask->load($sTaskUID);
$oCriteria = new Criteria( 'workflow' ); $oCriteria = new Criteria('workflow');
$oCriteria->add( RoutePeer::PRO_UID, $sProcessUID ); $oCriteria->add(RoutePeer::PRO_UID, $sProcessUID);
$oCriteria->add( RoutePeer::TAS_UID, $sTaskUID ); $oCriteria->add(RoutePeer::TAS_UID, $sTaskUID);
RoutePeer::doDelete( $oCriteria ); RoutePeer::doDelete($oCriteria);
if ($bAll) { if ($bAll) {
$oCriteria = new Criteria( 'workflow' ); $oCriteria = new Criteria('workflow');
$oCriteria->add( RoutePeer::PRO_UID, $sProcessUID ); $oCriteria->add(RoutePeer::PRO_UID, $sProcessUID);
$oCriteria->add( RoutePeer::ROU_NEXT_TASK, $sTaskUID ); $oCriteria->add(RoutePeer::ROU_NEXT_TASK, $sTaskUID);
RoutePeer::doDelete( $oCriteria ); RoutePeer::doDelete($oCriteria);
} }
return true; return true;
} catch (Exception $oError) { } catch (Exception $oError) {
@@ -441,18 +441,18 @@ class Tasks
* @param string $sProUid * @param string $sProUid
* @return array * @return array
*/ */
public function getAllGateways ($sProUid) public function getAllGateways($sProUid)
{ {
try { try {
$aGateways = array (); $aGateways = array();
$oCriteria = new Criteria( 'workflow' ); $oCriteria = new Criteria('workflow');
$oCriteria->add( GatewayPeer::PRO_UID, $sProUid ); $oCriteria->add(GatewayPeer::PRO_UID, $sProUid);
$oDataset = GatewayPeer::doSelectRS( $oCriteria ); $oDataset = GatewayPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next(); $oDataset->next();
while ($aRow = $oDataset->getRow()) { while ($aRow = $oDataset->getRow()) {
$oGateway = new Gateway(); $oGateway = new Gateway();
$aGateways[] = $oGateway->load( $aRow['GAT_UID'] ); $aGateways[] = $oGateway->load($aRow['GAT_UID']);
$oDataset->next(); $oDataset->next();
} }
return $aGateways; return $aGateways;
@@ -467,17 +467,19 @@ class Tasks
* @param string $aTasks * @param string $aTasks
* @return array * @return array
*/ */
public function createGatewayRows ($aGateway) public function createGatewayRows($aGateway)
{ {
foreach ($aGateway as $key => $row) { foreach ($aGateway as $key => $row) {
$oGateway = new Gateway(); $oGateway = new Gateway();
if ($oGateway->gatewayExists( $row['GAT_UID'] )) if ($oGateway->gatewayExists($row['GAT_UID'])) {
$oGateway->remove( $row['GAT_UID'] ); $oGateway->remove($row['GAT_UID']);
}
if ($row['TAS_UID'] != '' && $row['GAT_NEXT_TASK'] != '') if ($row['TAS_UID'] != '' && $row['GAT_NEXT_TASK'] != '') {
continue; continue;
else } else {
$res = $oGateway->createRow( $row ); $res = $oGateway->createRow($row);
}
} }
return; return;
} }
@@ -489,22 +491,22 @@ class Tasks
* @param string $sTaskUID * @param string $sTaskUID
* @return boolean * @return boolean
*/ */
public function deleteAllGatewayOfTask ($sProcessUID = '', $sTaskUID = '', $bAll = false) public function deleteAllGatewayOfTask($sProcessUID = '', $sTaskUID = '', $bAll = false)
{ {
try { try {
$oProcess = new Process(); $oProcess = new Process();
$aFields = $oProcess->load( $sProcessUID ); $aFields = $oProcess->load($sProcessUID);
$oTask = new Task(); $oTask = new Task();
$aFields = $oTask->load( $sTaskUID ); $aFields = $oTask->load($sTaskUID);
$oCriteria = new Criteria( 'workflow' ); $oCriteria = new Criteria('workflow');
$oCriteria->add( GatewayPeer::PRO_UID, $sProcessUID ); $oCriteria->add(GatewayPeer::PRO_UID, $sProcessUID);
$oCriteria->add( GatewayPeer::TAS_UID, $sTaskUID ); $oCriteria->add(GatewayPeer::TAS_UID, $sTaskUID);
GatewayPeer::doDelete( $oCriteria ); GatewayPeer::doDelete($oCriteria);
if ($bAll) { if ($bAll) {
$oCriteria = new Criteria( 'workflow' ); $oCriteria = new Criteria('workflow');
$oCriteria->add( GatewayPeer::PRO_UID, $sProcessUID ); $oCriteria->add(GatewayPeer::PRO_UID, $sProcessUID);
$oCriteria->add( GatewayPeer::GAT_NEXT_TASK, $sTaskUID ); $oCriteria->add(GatewayPeer::GAT_NEXT_TASK, $sTaskUID);
GatewayPeer::doDelete( $oCriteria ); GatewayPeer::doDelete($oCriteria);
} }
return true; return true;
} catch (Exception $oError) { } catch (Exception $oError) {
@@ -520,12 +522,11 @@ class Tasks
* @param string $iType * @param string $iType
* @return integer * @return integer
*/ */
public function assignUser ($sTaskUID = '', $sUserUID = '', $iType = '') public function assignUser($sTaskUID = '', $sUserUID = '', $iType = '')
{ {
try { try {
$oTaskUser = new TaskUser(); $oTaskUser = new TaskUser();
return $oTaskUser->create( array ('TAS_UID' => $sTaskUID,'USR_UID' => $sUserUID,'TU_TYPE' => $iType,'TU_RELATION' => 1 return $oTaskUser->create(array('TAS_UID' => $sTaskUID, 'USR_UID' => $sUserUID, 'TU_TYPE' => $iType, 'TU_RELATION' => 1));
) );
} catch (Exception $oError) { } catch (Exception $oError) {
throw ($oError); throw ($oError);
} }
@@ -539,30 +540,30 @@ class Tasks
* @param string $iType * @param string $iType
* @return integer * @return integer
*/ */
public function assignGroup ($sTaskUID = '', $sGroupUID = '', $iType = '') public function assignGroup($sTaskUID = '', $sGroupUID = '', $iType = '')
{ {
try { try {
$oTaskUser = new TaskUser(); $oTaskUser = new TaskUser();
/*$oCriteria = new Criteria('workflow'); /* $oCriteria = new Criteria('workflow');
$oCriteria->add(GroupUserPeer::GRP_UID, $sGroupUID); $oCriteria->add(GroupUserPeer::GRP_UID, $sGroupUID);
$oDataset = GroupUserPeer::doSelectRS($oCriteria); $oDataset = GroupUserPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next(); $oDataset->next();
while ($aGroupUser = $oDataset->getRow()) { while ($aGroupUser = $oDataset->getRow()) {
$oCriteria = new Criteria('workflow'); $oCriteria = new Criteria('workflow');
$oCriteria->add(TaskUserPeer::TAS_UID, $sTaskUID); $oCriteria->add(TaskUserPeer::TAS_UID, $sTaskUID);
$oCriteria->add(TaskUserPeer::USR_UID, $aGroupUser['USR_UID']); $oCriteria->add(TaskUserPeer::USR_UID, $aGroupUser['USR_UID']);
$oDataset2 = TaskUserPeer::doSelectRS($oCriteria); $oDataset2 = TaskUserPeer::doSelectRS($oCriteria);
$oDataset2->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset2->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset2->next(); $oDataset2->next();
$aRow = $oDataset2->getRow(); $aRow = $oDataset2->getRow();
if (!is_array($aRow)) { if (!is_array($aRow)) {
$this->assignUser($sTaskUID, $aGroupUser['USR_UID'], $iType); $this->assignUser($sTaskUID, $aGroupUser['USR_UID'], $iType);
} }
$oDataset->next(); $oDataset->next();
}*/ } */
return $oTaskUser->create( array ('TAS_UID' => $sTaskUID,'USR_UID' => $sGroupUID,'TU_TYPE' => $iType,'TU_RELATION' => 2 return $oTaskUser->create(array('TAS_UID' => $sTaskUID, 'USR_UID' => $sGroupUID, 'TU_TYPE' => $iType, 'TU_RELATION' => 2
) ); ));
} catch (Exception $oError) { } catch (Exception $oError) {
throw ($oError); throw ($oError);
} }
@@ -574,12 +575,12 @@ class Tasks
* @param string $sUserUID * @param string $sUserUID
* @return void * @return void
*/ */
public function ofToAssignUserOfAllTasks ($sUserUID = '') public function ofToAssignUserOfAllTasks($sUserUID = '')
{ {
try { try {
$oCriteria = new Criteria( 'workflow' ); $oCriteria = new Criteria('workflow');
$oCriteria->add( TaskUserPeer::USR_UID, $sUserUID ); $oCriteria->add(TaskUserPeer::USR_UID, $sUserUID);
TaskUserPeer::doDelete( $oCriteria ); TaskUserPeer::doDelete($oCriteria);
} catch (Exception $oError) { } catch (Exception $oError) {
throw ($oError); throw ($oError);
} }
@@ -593,11 +594,11 @@ class Tasks
* @param integer $iType * @param integer $iType
* @return boolean * @return boolean
*/ */
public function ofToAssignUser ($sTaskUID = '', $sUserUID = '', $iType = 0) public function ofToAssignUser($sTaskUID = '', $sUserUID = '', $iType = 0)
{ {
try { try {
$oTaskUser = new TaskUser(); $oTaskUser = new TaskUser();
$oTaskUser->remove( $sTaskUID, $sUserUID, $iType, 1 ); $oTaskUser->remove($sTaskUID, $sUserUID, $iType, 1);
return true; return true;
} catch (Exception $oError) { } catch (Exception $oError) {
throw ($oError); throw ($oError);
@@ -612,11 +613,11 @@ class Tasks
* @param integer $iType * @param integer $iType
* @return boolean * @return boolean
*/ */
public function ofToAssignGroup ($sTaskUID = '', $sGroupUID = '', $iType = 0) public function ofToAssignGroup($sTaskUID = '', $sGroupUID = '', $iType = 0)
{ {
try { try {
$oTaskUser = new TaskUser(); $oTaskUser = new TaskUser();
return $oTaskUser->remove( $sTaskUID, $sGroupUID, $iType, 2 ); return $oTaskUser->remove($sTaskUID, $sGroupUID, $iType, 2);
} catch (Exception $oError) { } catch (Exception $oError) {
throw ($oError); throw ($oError);
} }
@@ -628,15 +629,15 @@ class Tasks
* @param string $sTaskUID * @param string $sTaskUID
* @return array * @return array
*/ */
public function getStepsOfTask ($sTaskUID) public function getStepsOfTask($sTaskUID)
{ {
try { try {
$aSteps = array (); $aSteps = array();
$oCriteria = new Criteria( 'workflow' ); $oCriteria = new Criteria('workflow');
$oCriteria->add( StepPeer::TAS_UID, $sTaskUID ); $oCriteria->add(StepPeer::TAS_UID, $sTaskUID);
$oCriteria->addAscendingOrderByColumn( StepPeer::STEP_POSITION ); $oCriteria->addAscendingOrderByColumn(StepPeer::STEP_POSITION);
$oDataset = StepPeer::doSelectRS( $oCriteria ); $oDataset = StepPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next(); $oDataset->next();
while ($aRow = $oDataset->getRow()) { while ($aRow = $oDataset->getRow()) {
$aSteps[] = $aRow; $aSteps[] = $aRow;
@@ -654,10 +655,10 @@ class Tasks
* @param string $sProcessUID * @param string $sProcessUID
* @return boolean * @return boolean
*/ */
public function existsBuildingElements ($sProcessUID) public function existsBuildingElements($sProcessUID)
{ {
try { try {
$oCriteria = new Criteria( 'workflow' ); $oCriteria = new Criteria('workflow');
//$oCriteria->add(StepPeer::PRO_UID, $sProcessUID); //$oCriteria->add(StepPeer::PRO_UID, $sProcessUID);
//$oDataset = StepPeer::doSelectRS($oCriteria); //$oDataset = StepPeer::doSelectRS($oCriteria);
//$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); //$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
@@ -674,20 +675,20 @@ class Tasks
* @param string $sProUid * @param string $sProUid
* @return array * @return array
*/ */
public function getStartingTaskForUser ($sProUid, $sUsrUid) public function getStartingTaskForUser($sProUid, $sUsrUid)
{ {
try { try {
$aTasks = array (); $aTasks = array();
$oCriteria = new Criteria( 'workflow' ); $oCriteria = new Criteria('workflow');
$oCriteria->add( TaskPeer::PRO_UID, $sProUid ); $oCriteria->add(TaskPeer::PRO_UID, $sProUid);
//$oCriteria->add(TaskPeer::TAS_USER, $sUsrUid); //$oCriteria->add(TaskPeer::TAS_USER, $sUsrUid);
$oCriteria->add( TaskPeer::TAS_START, 'TRUE' ); $oCriteria->add(TaskPeer::TAS_START, 'TRUE');
$oDataset = TaskPeer::doSelectRS( $oCriteria ); $oDataset = TaskPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next(); $oDataset->next();
while ($aRow = $oDataset->getRow()) { while ($aRow = $oDataset->getRow()) {
$oTask = new Task(); $oTask = new Task();
$aTasks[] = $oTask->Load( $aRow['TAS_UID'] ); $aTasks[] = $oTask->Load($aRow['TAS_UID']);
$oDataset->next(); $oDataset->next();
} }
return $aTasks; return $aTasks;
@@ -702,20 +703,21 @@ class Tasks
* @param string $sTaskUID * @param string $sTaskUID
* @return array * @return array
*/ */
public function assignUsertoTask ($sTaskUID) public function assignUsertoTask($sTaskUID)
{ {
try { try {
$oCriteria = new Criteria( 'workflow' ); $oCriteria = new Criteria('workflow');
$oCriteria->addSelectColumn( TaskUserPeer::USR_UID ); $oCriteria->addSelectColumn(TaskUserPeer::USR_UID);
$oCriteria->add( TaskUserPeer::TAS_UID, $sTaskUID ); $oCriteria->add(TaskUserPeer::TAS_UID, $sTaskUID);
$oDataset = TaskUserPeer::doSelectRS( $oCriteria ); $oDataset = TaskUserPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next(); $oDataset->next();
$aRow = $oDataset->getRow(); $aRow = $oDataset->getRow();
if (is_array( $aRow )) if (is_array($aRow)) {
return 1; return 1;
else } else {
return 0; return 0;
}
} catch (Exception $oError) { } catch (Exception $oError) {
throw ($oError); throw ($oError);
} }
@@ -727,23 +729,24 @@ class Tasks
* @param string $sUsrUid, $sTaskUID * @param string $sUsrUid, $sTaskUID
* @return array * @return array
*/ */
public function verifyUsertoTask ($sUsrUid, $sTaskUID) public function verifyUsertoTask($sUsrUid, $sTaskUID)
{ {
try { try {
$oCriteria = new Criteria( 'workflow' ); $oCriteria = new Criteria('workflow');
$oCriteria->addSelectColumn( TaskUserPeer::USR_UID ); $oCriteria->addSelectColumn(TaskUserPeer::USR_UID);
$oCriteria->addSelectColumn( TaskUserPeer::TAS_UID ); $oCriteria->addSelectColumn(TaskUserPeer::TAS_UID);
$oCriteria->addSelectColumn( TaskUserPeer::TU_RELATION ); $oCriteria->addSelectColumn(TaskUserPeer::TU_RELATION);
$oCriteria->add( TaskUserPeer::TAS_UID, $sTaskUID ); $oCriteria->add(TaskUserPeer::TAS_UID, $sTaskUID);
$oCriteria->add( TaskUserPeer::USR_UID, $sUsrUid ); $oCriteria->add(TaskUserPeer::USR_UID, $sUsrUid);
$oDataset = TaskUserPeer::doSelectRS( $oCriteria ); $oDataset = TaskUserPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next(); $oDataset->next();
$aRow = $oDataset->getRow(); $aRow = $oDataset->getRow();
if (is_array( $aRow )) if (is_array($aRow)) {
return $aRow; return $aRow;
else } else {
return $aRow; return $aRow;
}
} catch (Exception $oError) { } catch (Exception $oError) {
throw ($oError); throw ($oError);
} }
@@ -755,41 +758,41 @@ class Tasks
* @param string $sUsrUID * @param string $sUsrUID
* @return array * @return array
*/ */
public function getTasksThatUserIsAssigned ($sUserUID) public function getTasksThatUserIsAssigned($sUserUID)
{ {
try { try {
$aTasks = array (); $aTasks = array();
$oCriteria = new Criteria( 'workflow' ); $oCriteria = new Criteria('workflow');
$oCriteria->add( TaskUserPeer::USR_UID, $sUserUID ); $oCriteria->add(TaskUserPeer::USR_UID, $sUserUID);
$oCriteria->add( TaskUserPeer::TU_RELATION, 1 ); $oCriteria->add(TaskUserPeer::TU_RELATION, 1);
$oDataset = TaskUserPeer::doSelectRS( $oCriteria ); $oDataset = TaskUserPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next(); $oDataset->next();
while ($aRow = $oDataset->getRow()) { while ($aRow = $oDataset->getRow()) {
$aTasks[] = $aRow['TAS_UID']; $aTasks[] = $aRow['TAS_UID'];
$oDataset->next(); $oDataset->next();
} }
$aGroups = array (); $aGroups = array();
$oCriteria = new Criteria(); $oCriteria = new Criteria();
$oCriteria->add( GroupwfPeer::GRP_UID, '', Criteria::NOT_EQUAL ); $oCriteria->add(GroupwfPeer::GRP_UID, '', Criteria::NOT_EQUAL);
$oCriteria->add( GroupUserPeer::USR_UID, $sUserUID ); $oCriteria->add(GroupUserPeer::USR_UID, $sUserUID);
$oCriteria->add( GroupwfPeer::GRP_STATUS, 'ACTIVE' ); $oCriteria->add(GroupwfPeer::GRP_STATUS, 'ACTIVE');
$oCriteria->addJoin( GroupUserPeer::GRP_UID, GroupwfPeer::GRP_UID, Criteria::LEFT_JOIN ); $oCriteria->addJoin(GroupUserPeer::GRP_UID, GroupwfPeer::GRP_UID, Criteria::LEFT_JOIN);
$oDataset = GroupwfPeer::doSelectRS( $oCriteria ); $oDataset = GroupwfPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next(); $oDataset->next();
while ($aRow = $oDataset->getRow()) { while ($aRow = $oDataset->getRow()) {
$aGroups[] = $aRow['GRP_UID']; $aGroups[] = $aRow['GRP_UID'];
$oDataset->next(); $oDataset->next();
} }
$oCriteria = new Criteria( 'workflow' ); $oCriteria = new Criteria('workflow');
$oCriteria->add( TaskUserPeer::USR_UID, $aGroups, Criteria::IN ); $oCriteria->add(TaskUserPeer::USR_UID, $aGroups, Criteria::IN);
$oCriteria->add( TaskUserPeer::TU_RELATION, 2 ); $oCriteria->add(TaskUserPeer::TU_RELATION, 2);
$oDataset = TaskUserPeer::doSelectRS( $oCriteria ); $oDataset = TaskUserPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next(); $oDataset->next();
while ($aRow = $oDataset->getRow()) { while ($aRow = $oDataset->getRow()) {
if (! in_array( $aRow['TAS_UID'], $aTasks )) { if (!in_array($aRow['TAS_UID'], $aTasks)) {
$aTasks[] = $aRow['TAS_UID']; $aTasks[] = $aRow['TAS_UID'];
} }
$oDataset->next(); $oDataset->next();
@@ -806,15 +809,15 @@ class Tasks
* @param string $sProUid, $sTaskUid * @param string $sProUid, $sTaskUid
* @return array by Everth * @return array by Everth
*/ */
public function getRoute ($sProUid, $sTaskUid) public function getRoute($sProUid, $sTaskUid)
{ {
try { try {
$aRoutes = array (); $aRoutes = array();
$oCriteria = new Criteria( 'workflow' ); $oCriteria = new Criteria('workflow');
$oCriteria->add( RoutePeer::PRO_UID, $sProUid ); $oCriteria->add(RoutePeer::PRO_UID, $sProUid);
$oCriteria->add( RoutePeer::TAS_UID, $sTaskUid ); $oCriteria->add(RoutePeer::TAS_UID, $sTaskUid);
$oDataset = RoutePeer::doSelectRS( $oCriteria ); $oDataset = RoutePeer::doSelectRS($oCriteria);
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next(); $oDataset->next();
while ($aRow = $oDataset->getRow()) { while ($aRow = $oDataset->getRow()) {
$aRoutes[] = $aRow; $aRoutes[] = $aRow;
@@ -833,16 +836,16 @@ class Tasks
* @param string $sProUid, $sTaskUid * @param string $sProUid, $sTaskUid
* @return array by Girish * @return array by Girish
*/ */
public function getRouteByType ($sProUid, $sRouteNextTaskUid, $sRouteType) public function getRouteByType($sProUid, $sRouteNextTaskUid, $sRouteType)
{ {
try { try {
$aRoutes = array (); $aRoutes = array();
$oCriteria = new Criteria( 'workflow' ); $oCriteria = new Criteria('workflow');
$oCriteria->add( RoutePeer::PRO_UID, $sProUid ); $oCriteria->add(RoutePeer::PRO_UID, $sProUid);
$oCriteria->add( RoutePeer::ROU_NEXT_TASK, $sRouteNextTaskUid ); $oCriteria->add(RoutePeer::ROU_NEXT_TASK, $sRouteNextTaskUid);
$oCriteria->add( RoutePeer::ROU_TYPE, $sRouteType ); $oCriteria->add(RoutePeer::ROU_TYPE, $sRouteType);
$oDataset = RoutePeer::doSelectRS( $oCriteria ); $oDataset = RoutePeer::doSelectRS($oCriteria);
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next(); $oDataset->next();
while ($aRow = $oDataset->getRow()) { while ($aRow = $oDataset->getRow()) {
$aRoutes[] = $aRow; $aRoutes[] = $aRow;
@@ -854,6 +857,5 @@ class Tasks
throw ($oError); throw ($oError);
} }
} }
} }
?>

View File

@@ -1,43 +1,45 @@
<?php <?php
//require_once ('Base.php'); //require_once ('Base.php');
class Entity_FacetRequest extends Entity_Base class Entity_FacetRequest extends Entity_Base
{ {
public $workspace = '';
public $searchText = '';
public $facetFields = array ();
public $facetQueries = array ();
public $facetDates = array ();
public $facetDatesStart = '';
public $facetDatesEnd = '';
public $facetDateGap = '';
public $facetRanges = array ();
public $filters = array ();
public $selectedFacetsString = '';
private function __construct()
{
}
static function createEmpty()
{
$obj = new Entity_FacetRequest ();
return $obj;
}
static function createForRequest($data)
{
$obj = new Entity_FacetRequest ();
$obj->initializeObject ($data);
$requiredFields = array (
"workspace"
);
$obj->validateRequiredFields ($requiredFields);
return $obj;
}
} public $workspace = '';
public $searchText = '';
public $facetFields = array();
public $facetQueries = array();
public $facetDates = array();
public $facetDatesStart = '';
public $facetDatesEnd = '';
public $facetDateGap = '';
public $facetRanges = array();
public $filters = array();
public $selectedFacetsString = '';
private function __construct()
{
}
public static function createEmpty()
{
$obj = new Entity_FacetRequest ();
return $obj;
}
public static function createForRequest($data)
{
$obj = new Entity_FacetRequest ();
$obj->initializeObject($data);
$requiredFields = array(
"workspace"
);
$obj->validateRequiredFields($requiredFields);
return $obj;
}
}

View File

@@ -1,46 +1,48 @@
<?php <?php
//require_once ('Base.php'); //require_once ('Base.php');
class Entity_SolrRequestData extends Entity_Base class Entity_SolrRequestData extends Entity_Base
{ {
public $workspace = '';
public $startAfter = 0;
public $pageSize = 10;
public $searchText = '*:*';
public $filterText = ''; // comma separated list of filters field:value
public $numSortingCols = 0; // number of columns that are sorted
public $sortableCols = array (); // array of booleans indicating if column is
// sortable (true, false)
public $sortCols = array (); // array of indices of sorted columns index
// based in the total number of sorting cols
public $sortDir = array (); // array of direction of sorting for each
// column (desc, asc)
public $includeCols = array ();
public $resultFormat = 'xml'; // json, xml, php
private function __construct()
{
}
static function createEmpty()
{
$obj = new Entity_SolrRequestData ();
return $obj;
}
static function createForRequestPagination($data)
{
$obj = new Entity_SolrRequestData ();
$obj->initializeObject ($data);
$requiredFields = array (
'workspace'
);
$obj->validateRequiredFields ($requiredFields);
return $obj;
}
} public $workspace = '';
public $startAfter = 0;
public $pageSize = 10;
public $searchText = '*:*';
public $filterText = ''; // comma separated list of filters field:value
public $numSortingCols = 0; // number of columns that are sorted
public $sortableCols = array(); // array of booleans indicating if column is
// sortable (true, false)
public $sortCols = array(); // array of indices of sorted columns index
// based in the total number of sorting cols
public $sortDir = array(); // array of direction of sorting for each
// column (desc, asc)
public $includeCols = array();
public $resultFormat = 'xml'; // json, xml, php
private function __construct()
{
}
public static function createEmpty()
{
$obj = new Entity_SolrRequestData ();
return $obj;
}
public static function createForRequestPagination($data)
{
$obj = new Entity_SolrRequestData ();
$obj->initializeObject($data);
$requiredFields = array(
'workspace'
);
$obj->validateRequiredFields($requiredFields);
return $obj;
}
}

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* OutputDocument.php * OutputDocument.php
* @package workflow.engine.classes.model * @package workflow.engine.classes.model
@@ -23,7 +24,6 @@
* Coral Gables, FL, 33134, USA, or email info@colosa.com. * Coral Gables, FL, 33134, USA, or email info@colosa.com.
* *
*/ */
//require_once ("classes/model/om/BaseOutputDocument.php"); //require_once ("classes/model/om/BaseOutputDocument.php");
//require_once ("classes/model/Content.php"); //require_once ("classes/model/Content.php");
@@ -40,6 +40,7 @@
*/ */
class OutputDocument extends BaseOutputDocument class OutputDocument extends BaseOutputDocument
{ {
/** /**
* This value goes in the content table * This value goes in the content table
* @var string * @var string
@@ -66,7 +67,7 @@ class OutputDocument extends BaseOutputDocument
public function __construct() public function __construct()
{ {
$javaInput = PATH_C . 'javaBridgePM' . PATH_SEP . 'input' . PATH_SEP; $javaInput = PATH_C . 'javaBridgePM' . PATH_SEP . 'input' . PATH_SEP;
$javaOutput = PATH_C . 'javaBridgePM' . PATH_SEP . 'output' . PATH_SEP; $javaOutput = PATH_C . 'javaBridgePM' . PATH_SEP . 'output' . PATH_SEP;
G::mk_dir($javaInput); G::mk_dir($javaInput);
@@ -79,14 +80,14 @@ class OutputDocument extends BaseOutputDocument
$oOutputDocument = OutputDocumentPeer::retrieveByPK($sOutDocUid); $oOutputDocument = OutputDocumentPeer::retrieveByPK($sOutDocUid);
if (is_null($oOutputDocument)) { if (is_null($oOutputDocument)) {
return false; return false;
} }
$aFields = $oOutputDocument->toArray(BasePeer::TYPE_FIELDNAME); $aFields = $oOutputDocument->toArray(BasePeer::TYPE_FIELDNAME);
$aFields['OUT_DOC_TITLE'] = $oOutputDocument->getOutDocTitle(); $aFields['OUT_DOC_TITLE'] = $oOutputDocument->getOutDocTitle();
$aFields['OUT_DOC_DESCRIPTION'] = $oOutputDocument->getOutDocDescription(); $aFields['OUT_DOC_DESCRIPTION'] = $oOutputDocument->getOutDocDescription();
$aFields['OUT_DOC_FILENAME'] = $oOutputDocument->getOutDocFilename(); $aFields['OUT_DOC_FILENAME'] = $oOutputDocument->getOutDocFilename();
$aFields['OUT_DOC_TEMPLATE'] = $oOutputDocument->getOutDocTemplate(); $aFields['OUT_DOC_TEMPLATE'] = $oOutputDocument->getOutDocTemplate();
$this->fromArray($aFields, BasePeer::TYPE_FIELDNAME); $this->fromArray($aFields, BasePeer::TYPE_FIELDNAME);
return $aFields; return $aFields;
@@ -96,10 +97,11 @@ class OutputDocument extends BaseOutputDocument
} }
/* /*
* Load the application document registry * Load the application document registry
* @param string $sAppDocUid * @param string $sAppDocUid
* @return variant * @return variant
*/ */
public function load($sOutDocUid) public function load($sOutDocUid)
{ {
try { try {
@@ -107,11 +109,11 @@ class OutputDocument extends BaseOutputDocument
if (!is_null($oOutputDocument)) { if (!is_null($oOutputDocument)) {
$aFields = $oOutputDocument->toArray(BasePeer::TYPE_FIELDNAME); $aFields = $oOutputDocument->toArray(BasePeer::TYPE_FIELDNAME);
$aFields['OUT_DOC_TITLE'] = $oOutputDocument->getOutDocTitle(); $aFields['OUT_DOC_TITLE'] = $oOutputDocument->getOutDocTitle();
$aFields['PRO_UID'] = $oOutputDocument->getProUid(); $aFields['PRO_UID'] = $oOutputDocument->getProUid();
$aFields['OUT_DOC_DESCRIPTION'] = $oOutputDocument->getOutDocDescription(); $aFields['OUT_DOC_DESCRIPTION'] = $oOutputDocument->getOutDocDescription();
$aFields['OUT_DOC_FILENAME'] = $oOutputDocument->getOutDocFilename(); $aFields['OUT_DOC_FILENAME'] = $oOutputDocument->getOutDocFilename();
$aFields['OUT_DOC_TEMPLATE'] = $oOutputDocument->getOutDocTemplate(); $aFields['OUT_DOC_TEMPLATE'] = $oOutputDocument->getOutDocTemplate();
$this->fromArray($aFields, BasePeer::TYPE_FIELDNAME); $this->fromArray($aFields, BasePeer::TYPE_FIELDNAME);
return $aFields; return $aFields;
@@ -127,13 +129,13 @@ class OutputDocument extends BaseOutputDocument
* Create the application document registry * Create the application document registry
* @param array $aData * @param array $aData
* @return string * @return string
**/ * */
public function create($aData) public function create($aData)
{ {
$oConnection = Propel::getConnection(OutputDocumentPeer::DATABASE_NAME); $oConnection = Propel::getConnection(OutputDocumentPeer::DATABASE_NAME);
try { try {
if (isset($aData['OUT_DOC_UID']) && $aData['OUT_DOC_UID']== '') { if (isset($aData['OUT_DOC_UID']) && $aData['OUT_DOC_UID'] == '') {
unset($aData['OUT_DOC_UID']); unset($aData['OUT_DOC_UID']);
} }
@@ -181,7 +183,7 @@ class OutputDocument extends BaseOutputDocument
$sMessage .= $oValidationFailure->getMessage() . '<br />'; $sMessage .= $oValidationFailure->getMessage() . '<br />';
} }
throw (new Exception('The registry cannot be created!<br />'.$sMessage)); throw (new Exception('The registry cannot be created!<br />' . $sMessage));
} }
} catch (Exception $oError) { } catch (Exception $oError) {
$oConnection->rollback(); $oConnection->rollback();
@@ -194,7 +196,7 @@ class OutputDocument extends BaseOutputDocument
* Update the application document registry * Update the application document registry
* @param array $aData * @param array $aData
* @return string * @return string
**/ * */
public function update($aData) public function update($aData)
{ {
$oConnection = Propel::getConnection(OutputDocumentPeer::DATABASE_NAME); $oConnection = Propel::getConnection(OutputDocumentPeer::DATABASE_NAME);
@@ -236,7 +238,7 @@ class OutputDocument extends BaseOutputDocument
$sMessage .= $oValidationFailure->getMessage() . '<br />'; $sMessage .= $oValidationFailure->getMessage() . '<br />';
} }
throw (new Exception('The registry cannot be updated!<br />'.$sMessage)); throw (new Exception('The registry cannot be updated!<br />' . $sMessage));
} }
} else { } else {
throw (new Exception('This row doesn\'t exist!')); throw (new Exception('This row doesn\'t exist!'));
@@ -252,7 +254,7 @@ class OutputDocument extends BaseOutputDocument
* Remove the application document registry * Remove the application document registry
* @param array $aData * @param array $aData
* @return string * @return string
**/ * */
public function remove($sOutDocUid) public function remove($sOutDocUid)
{ {
$oConnection = Propel::getConnection(OutputDocumentPeer::DATABASE_NAME); $oConnection = Propel::getConnection(OutputDocumentPeer::DATABASE_NAME);
@@ -289,10 +291,7 @@ class OutputDocument extends BaseOutputDocument
if ($this->out_doc_title == '') { if ($this->out_doc_title == '') {
try { try {
$this->out_doc_title = Content::load( $this->out_doc_title = Content::load(
'OUT_DOC_TITLE', 'OUT_DOC_TITLE', '', $this->getOutDocUid(), (defined('SYS_LANG') ? SYS_LANG : 'en')
'',
$this->getOutDocUid(),
(defined('SYS_LANG')? SYS_LANG : 'en')
); );
} catch (Exception $oError) { } catch (Exception $oError) {
throw ($oError); throw ($oError);
@@ -311,7 +310,7 @@ class OutputDocument extends BaseOutputDocument
public function setOutDocTitle($sValue) public function setOutDocTitle($sValue)
{ {
if ($sValue !== null && !is_string($sValue)) { if ($sValue !== null && !is_string($sValue)) {
$sValue = (string)$sValue; $sValue = (string) $sValue;
} }
if ($this->out_doc_title !== $sValue || $sValue === '') { if ($this->out_doc_title !== $sValue || $sValue === '') {
@@ -319,11 +318,7 @@ class OutputDocument extends BaseOutputDocument
$this->out_doc_title = $sValue; $this->out_doc_title = $sValue;
$iResult = Content::addContent( $iResult = Content::addContent(
'OUT_DOC_TITLE', 'OUT_DOC_TITLE', '', $this->getOutDocUid(), (defined('SYS_LANG') ? SYS_LANG : 'en'), $this->out_doc_title
'',
$this->getOutDocUid(),
(defined('SYS_LANG')? SYS_LANG : 'en'),
$this->out_doc_title
); );
} catch (Exception $oError) { } catch (Exception $oError) {
$this->out_doc_title = ''; $this->out_doc_title = '';
@@ -342,10 +337,7 @@ class OutputDocument extends BaseOutputDocument
if ($this->out_doc_description == '') { if ($this->out_doc_description == '') {
try { try {
$this->out_doc_description = Content::load( $this->out_doc_description = Content::load(
'OUT_DOC_DESCRIPTION', 'OUT_DOC_DESCRIPTION', '', $this->getOutDocUid(), (defined('SYS_LANG') ? SYS_LANG : 'en')
'',
$this->getOutDocUid(),
(defined('SYS_LANG')? SYS_LANG : 'en')
); );
} catch (Exception $oError) { } catch (Exception $oError) {
throw ($oError); throw ($oError);
@@ -364,7 +356,7 @@ class OutputDocument extends BaseOutputDocument
public function setOutDocDescription($sValue) public function setOutDocDescription($sValue)
{ {
if ($sValue !== null && !is_string($sValue)) { if ($sValue !== null && !is_string($sValue)) {
$sValue = (string)$sValue; $sValue = (string) $sValue;
} }
if ($this->out_doc_description !== $sValue || $sValue === '') { if ($this->out_doc_description !== $sValue || $sValue === '') {
@@ -372,11 +364,7 @@ class OutputDocument extends BaseOutputDocument
$this->out_doc_description = $sValue; $this->out_doc_description = $sValue;
$iResult = Content::addContent( $iResult = Content::addContent(
'OUT_DOC_DESCRIPTION', 'OUT_DOC_DESCRIPTION', '', $this->getOutDocUid(), (defined('SYS_LANG') ? SYS_LANG : 'en'), $this->out_doc_description
'',
$this->getOutDocUid(),
(defined('SYS_LANG')? SYS_LANG : 'en'),
$this->out_doc_description
); );
} catch (Exception $oError) { } catch (Exception $oError) {
$this->out_doc_description = ''; $this->out_doc_description = '';
@@ -395,10 +383,7 @@ class OutputDocument extends BaseOutputDocument
if ($this->out_doc_filename == '') { if ($this->out_doc_filename == '') {
try { try {
$this->out_doc_filename = Content::load( $this->out_doc_filename = Content::load(
'OUT_DOC_FILENAME', 'OUT_DOC_FILENAME', '', $this->getOutDocUid(), (defined('SYS_LANG') ? SYS_LANG : 'en')
'',
$this->getOutDocUid(),
(defined('SYS_LANG')? SYS_LANG : 'en')
); );
} catch (Exception $oError) { } catch (Exception $oError) {
throw ($oError); throw ($oError);
@@ -417,7 +402,7 @@ class OutputDocument extends BaseOutputDocument
public function setOutDocFilename($sValue) public function setOutDocFilename($sValue)
{ {
if ($sValue !== null && !is_string($sValue)) { if ($sValue !== null && !is_string($sValue)) {
$sValue = (string)$sValue; $sValue = (string) $sValue;
} }
if ($this->out_doc_filename !== $sValue || $sValue === '') { if ($this->out_doc_filename !== $sValue || $sValue === '') {
@@ -425,11 +410,7 @@ class OutputDocument extends BaseOutputDocument
$this->out_doc_filename = $sValue; $this->out_doc_filename = $sValue;
$iResult = Content::addContent( $iResult = Content::addContent(
'OUT_DOC_FILENAME', 'OUT_DOC_FILENAME', '', $this->getOutDocUid(), (defined('SYS_LANG') ? SYS_LANG : 'en'), $this->out_doc_filename
'',
$this->getOutDocUid(),
(defined('SYS_LANG')? SYS_LANG : 'en'),
$this->out_doc_filename
); );
} catch (Exception $oError) { } catch (Exception $oError) {
$this->out_doc_filename = ''; $this->out_doc_filename = '';
@@ -448,10 +429,7 @@ class OutputDocument extends BaseOutputDocument
if ($this->out_doc_template == '') { if ($this->out_doc_template == '') {
try { try {
$this->out_doc_template = Content::load( $this->out_doc_template = Content::load(
'OUT_DOC_TEMPLATE', 'OUT_DOC_TEMPLATE', '', $this->getOutDocUid(), (defined('SYS_LANG') ? SYS_LANG : 'en')
'',
$this->getOutDocUid(),
(defined('SYS_LANG')? SYS_LANG : 'en')
); );
} catch (Exception $oError) { } catch (Exception $oError) {
throw ($oError); throw ($oError);
@@ -470,7 +448,7 @@ class OutputDocument extends BaseOutputDocument
public function setOutDocTemplate($sValue) public function setOutDocTemplate($sValue)
{ {
if ($sValue !== null && !is_string($sValue)) { if ($sValue !== null && !is_string($sValue)) {
$sValue = (string)$sValue; $sValue = (string) $sValue;
} }
if ($this->out_doc_template !== $sValue || $sValue === '') { if ($this->out_doc_template !== $sValue || $sValue === '') {
@@ -478,11 +456,7 @@ class OutputDocument extends BaseOutputDocument
$this->out_doc_template = $sValue; $this->out_doc_template = $sValue;
$iResult = Content::addContent( $iResult = Content::addContent(
'OUT_DOC_TEMPLATE', 'OUT_DOC_TEMPLATE', '', $this->getOutDocUid(), (defined('SYS_LANG') ? SYS_LANG : 'en'), $this->out_doc_template
'',
$this->getOutDocUid(),
(defined('SYS_LANG')? SYS_LANG : 'en'),
$this->out_doc_template
); );
} catch (Exception $oError) { } catch (Exception $oError) {
$this->out_doc_template = ''; $this->out_doc_template = '';
@@ -493,22 +467,15 @@ class OutputDocument extends BaseOutputDocument
} }
/* /*
* Generate the output document * Generate the output document
* @param string $sUID * @param string $sUID
* @param array $aFields * @param array $aFields
* @param string $sPath * @param string $sPath
* @return variant * @return variant
*/ */
public function generate(
$sUID, public function generate($sUID, $aFields, $sPath, $sFilename, $sContent, $sLandscape = false, $sTypeDocToGener = 'BOTH', $aProperties = array())
$aFields, {
$sPath,
$sFilename,
$sContent,
$sLandscape = false,
$sTypeDocToGener = 'BOTH',
$aProperties = array()
) {
if (($sUID != '') && is_array($aFields) && ($sPath != '')) { if (($sUID != '') && is_array($aFields) && ($sPath != '')) {
$sContent = G::replaceDataGridField($sContent, $aFields); $sContent = G::replaceDataGridField($sContent, $aFields);
@@ -518,46 +485,46 @@ class OutputDocument extends BaseOutputDocument
$oFile = fopen($sPath . $sFilename . '.doc', 'wb'); $oFile = fopen($sPath . $sFilename . '.doc', 'wb');
$size = array(); $size = array();
$size["Letter"] = "216mm 279mm"; $size["Letter"] = "216mm 279mm";
$size["Legal"] = "216mm 357mm"; $size["Legal"] = "216mm 357mm";
$size["Executive"] = "184mm 267mm"; $size["Executive"] = "184mm 267mm";
$size["B5"] = "182mm 257mm"; $size["B5"] = "182mm 257mm";
$size["Folio"] = "216mm 330mm"; $size["Folio"] = "216mm 330mm";
$size["A0Oversize"] = "882mm 1247mm"; $size["A0Oversize"] = "882mm 1247mm";
$size["A0"] = "841mm 1189mm"; $size["A0"] = "841mm 1189mm";
$size["A1"] = "594mm 841mm"; $size["A1"] = "594mm 841mm";
$size["A2"] = "420mm 594mm"; $size["A2"] = "420mm 594mm";
$size["A3"] = "297mm 420mm"; $size["A3"] = "297mm 420mm";
$size["A4"] = "210mm 297mm"; $size["A4"] = "210mm 297mm";
$size["A5"] = "148mm 210mm"; $size["A5"] = "148mm 210mm";
$size["A6"] = "105mm 148mm"; $size["A6"] = "105mm 148mm";
$size["A7"] = "74mm 105mm"; $size["A7"] = "74mm 105mm";
$size["A8"] = "52mm 74mm"; $size["A8"] = "52mm 74mm";
$size["A9"] = "37mm 52mm"; $size["A9"] = "37mm 52mm";
$size["A10"] = "26mm 37mm"; $size["A10"] = "26mm 37mm";
$size["Screenshot640"] = "640mm 480mm"; $size["Screenshot640"] = "640mm 480mm";
$size["Screenshot800"] = "800mm 600mm"; $size["Screenshot800"] = "800mm 600mm";
$size["Screenshot1024"] = "1024mm 768mm"; $size["Screenshot1024"] = "1024mm 768mm";
$sizeLandscape["Letter"] = "279mm 216mm"; $sizeLandscape["Letter"] = "279mm 216mm";
$sizeLandscape["Legal"] = "357mm 216mm"; $sizeLandscape["Legal"] = "357mm 216mm";
$sizeLandscape["Executive"] = "267mm 184mm"; $sizeLandscape["Executive"] = "267mm 184mm";
$sizeLandscape["B5"] = "257mm 182mm"; $sizeLandscape["B5"] = "257mm 182mm";
$sizeLandscape["Folio"] = "330mm 216mm"; $sizeLandscape["Folio"] = "330mm 216mm";
$sizeLandscape["A0Oversize"] = "1247mm 882mm"; $sizeLandscape["A0Oversize"] = "1247mm 882mm";
$sizeLandscape["A0"] = "1189mm 841mm"; $sizeLandscape["A0"] = "1189mm 841mm";
$sizeLandscape["A1"] = "841mm 594mm"; $sizeLandscape["A1"] = "841mm 594mm";
$sizeLandscape["A2"] = "594mm 420mm"; $sizeLandscape["A2"] = "594mm 420mm";
$sizeLandscape["A3"] = "420mm 297mm"; $sizeLandscape["A3"] = "420mm 297mm";
$sizeLandscape["A4"] = "297mm 210mm"; $sizeLandscape["A4"] = "297mm 210mm";
$sizeLandscape["A5"] = "210mm 148mm"; $sizeLandscape["A5"] = "210mm 148mm";
$sizeLandscape["A6"] = "148mm 105mm"; $sizeLandscape["A6"] = "148mm 105mm";
$sizeLandscape["A7"] = "105mm 74mm"; $sizeLandscape["A7"] = "105mm 74mm";
$sizeLandscape["A8"] = "74mm 52mm"; $sizeLandscape["A8"] = "74mm 52mm";
$sizeLandscape["A9"] = "52mm 37mm"; $sizeLandscape["A9"] = "52mm 37mm";
$sizeLandscape["A10"] = "37mm 26mm"; $sizeLandscape["A10"] = "37mm 26mm";
$sizeLandscape["Screenshot640"] = "480mm 640mm"; $sizeLandscape["Screenshot640"] = "480mm 640mm";
$sizeLandscape["Screenshot800"] = "600mm 800mm"; $sizeLandscape["Screenshot800"] = "600mm 800mm";
$sizeLandscape["Screenshot1024"] = "768mm 1024mm"; $sizeLandscape["Screenshot1024"] = "768mm 1024mm";
if (!isset($aProperties['media'])) { if (!isset($aProperties['media'])) {
@@ -624,11 +591,11 @@ class OutputDocument extends BaseOutputDocument
<style> <style>
<!-- <!--
@page WordSection1 @page WordSection1
{size:'.$media.'; {size:' . $media . ';
margin-left:'.$marginLeft.'mm; margin-left:' . $marginLeft . 'mm;
margin-right:'.$marginRight.'mm; margin-right:' . $marginRight . 'mm;
margin-bottom:'.$marginBottom.'mm; margin-bottom:' . $marginBottom . 'mm;
margin-top:'.$marginTop.'mm; margin-top:' . $marginTop . 'mm;
mso-header-margin:35.4pt; mso-header-margin:35.4pt;
mso-footer-margin:35.4pt; mso-footer-margin:35.4pt;
mso-paper-source:0;} mso-paper-source:0;}
@@ -663,24 +630,17 @@ class OutputDocument extends BaseOutputDocument
} else { } else {
$this->generateHtml2ps_pdf($sUID, $aFields, $sPath, $sFilename, $sContent, $sLandscape, $aProperties); $this->generateHtml2ps_pdf($sUID, $aFields, $sPath, $sFilename, $sContent, $sLandscape, $aProperties);
} }
} }
//end if $sTypeDocToGener //end if $sTypeDocToGener
/* End - Create .pdf */ /* End - Create .pdf */
} else { } else {
return PEAR::raiseError( return PEAR::raiseError(
null, null, G_ERROR_USER_UID, null, null, 'You tried to call to a generate method without send the Output Document UID, fields to use and the file path!', 'G_Error', true
G_ERROR_USER_UID,
null,
null,
'You tried to call to a generate method without send the Output Document UID, fields to use and the file path!',
'G_Error',
true
); );
} }
} }
public function generateHtml2pdf($sUID, $aFields, $sPath, $sFilename, $sContent, $sLandscape = false, $aProperties = array() ) public function generateHtml2pdf($sUID, $aFields, $sPath, $sFilename, $sContent, $sLandscape = false, $aProperties = array())
{ {
// define("MAX_FREE_FRACTION", 1); // define("MAX_FREE_FRACTION", 1);
@@ -691,20 +651,20 @@ class OutputDocument extends BaseOutputDocument
// define Save file // define Save file
$sOutput = 2; $sOutput = 2;
$sOrientation = ($sLandscape == false)? 'P' : 'L'; $sOrientation = ($sLandscape == false) ? 'P' : 'L';
$sLang = (defined('SYS_LANG'))? SYS_LANG : 'en'; $sLang = (defined('SYS_LANG')) ? SYS_LANG : 'en';
$sMedia = $aProperties['media']; $sMedia = $aProperties['media'];
// margin define // margin define
define("MINIMAL_MARGIN", 15); define("MINIMAL_MARGIN", 15);
$marges = array(MINIMAL_MARGIN, MINIMAL_MARGIN, MINIMAL_MARGIN, MINIMAL_MARGIN); $marges = array(MINIMAL_MARGIN, MINIMAL_MARGIN, MINIMAL_MARGIN, MINIMAL_MARGIN);
if (isset($aProperties['margins'])) { if (isset($aProperties['margins'])) {
// Default marges (left, top, right, bottom) // Default marges (left, top, right, bottom)
$margins = $aProperties['margins']; $margins = $aProperties['margins'];
$margins['left'] = ($margins['left']>0)? $margins['left']: MINIMAL_MARGIN; $margins['left'] = ($margins['left'] > 0) ? $margins['left'] : MINIMAL_MARGIN;
$margins['top'] = ($margins['top']>0)? $margins['top']: MINIMAL_MARGIN; $margins['top'] = ($margins['top'] > 0) ? $margins['top'] : MINIMAL_MARGIN;
$margins['right'] = ($margins['right']>0)? $margins['right']: MINIMAL_MARGIN; $margins['right'] = ($margins['right'] > 0) ? $margins['right'] : MINIMAL_MARGIN;
$margins['bottom'] = ($margins['bottom']>0)? $margins['bottom']: MINIMAL_MARGIN; $margins['bottom'] = ($margins['bottom'] > 0) ? $margins['bottom'] : MINIMAL_MARGIN;
$marges = array($margins['left'], $margins['top'], $margins['right'], $margins['bottom'] ); $marges = array($margins['left'], $margins['top'], $margins['right'], $margins['bottom']);
} }
$html2pdf = new HTML2PDF($sOrientation, $sMedia, $sLang, true, 'UTF-8', $marges); $html2pdf = new HTML2PDF($sOrientation, $sMedia, $sLang, true, 'UTF-8', $marges);
@@ -718,7 +678,7 @@ class OutputDocument extends BaseOutputDocument
if (isset($aProperties['pdfSecurity'])) { if (isset($aProperties['pdfSecurity'])) {
$pdfSecurity = $aProperties['pdfSecurity']; $pdfSecurity = $aProperties['pdfSecurity'];
$userPass = G::decrypt($pdfSecurity['openPassword'], $sUID); $userPass = G::decrypt($pdfSecurity['openPassword'], $sUID);
$ownerPass = ($pdfSecurity['ownerPassword'] != '') ? G::decrypt($pdfSecurity['ownerPassword'], $sUID): null; $ownerPass = ($pdfSecurity['ownerPassword'] != '') ? G::decrypt($pdfSecurity['ownerPassword'], $sUID) : null;
$permissions = explode("|", $pdfSecurity['permissions']); $permissions = explode("|", $pdfSecurity['permissions']);
$html2pdf->pdf->SetProtection($permissions, $userPass, $ownerPass); $html2pdf->pdf->SetProtection($permissions, $userPass, $ownerPass);
} }
@@ -749,7 +709,6 @@ class OutputDocument extends BaseOutputDocument
copy(PATH_OUTPUT_FILE_DIRECTORY . $sFilename . '.pdf', $sPath . $sFilename . '.pdf'); copy(PATH_OUTPUT_FILE_DIRECTORY . $sFilename . '.pdf', $sPath . $sFilename . '.pdf');
unlink(PATH_OUTPUT_FILE_DIRECTORY . $sFilename . '.pdf'); unlink(PATH_OUTPUT_FILE_DIRECTORY . $sFilename . '.pdf');
unlink(PATH_OUTPUT_FILE_DIRECTORY . $sFilename . '.html'); unlink(PATH_OUTPUT_FILE_DIRECTORY . $sFilename . '.html');
} }
public function generateTcpdf($sUID, $aFields, $sPath, $sFilename, $sContent, $sLandscape = false, $aProperties = array()) public function generateTcpdf($sUID, $aFields, $sPath, $sFilename, $sContent, $sLandscape = false, $aProperties = array())
@@ -757,7 +716,7 @@ class OutputDocument extends BaseOutputDocument
require_once (PATH_THIRDPARTY . "tcpdf" . PATH_SEP . "config" . PATH_SEP . "lang" . PATH_SEP . "eng.php"); require_once (PATH_THIRDPARTY . "tcpdf" . PATH_SEP . "config" . PATH_SEP . "lang" . PATH_SEP . "eng.php");
require_once (PATH_THIRDPARTY . "tcpdf" . PATH_SEP . "tcpdf.php"); require_once (PATH_THIRDPARTY . "tcpdf" . PATH_SEP . "tcpdf.php");
$nrt = array("\n", "\r", "\t"); $nrt = array("\n", "\r", "\t");
$nrthtml = array("(n /)", "(r /)", "(t /)"); $nrthtml = array("(n /)", "(r /)", "(t /)");
$strContentAux = str_replace($nrt, $nrthtml, $sContent); $strContentAux = str_replace($nrt, $nrthtml, $sContent);
@@ -827,9 +786,9 @@ class OutputDocument extends BaseOutputDocument
// define Save file // define Save file
$sOutput = 2; $sOutput = 2;
$sOrientation = ($sLandscape == false)? PDF_PAGE_ORIENTATION : 'L'; $sOrientation = ($sLandscape == false) ? PDF_PAGE_ORIENTATION : 'L';
$sMedia = (isset($aProperties['media'])) ? $aProperties['media'] : PDF_PAGE_FORMAT; $sMedia = (isset($aProperties['media'])) ? $aProperties['media'] : PDF_PAGE_FORMAT;
$sLang = (defined('SYS_LANG'))? SYS_LANG : 'en'; $sLang = (defined('SYS_LANG')) ? SYS_LANG : 'en';
// create new PDF document // create new PDF document
$pdf = new TCPDF($sOrientation, PDF_UNIT, $sMedia, true, 'UTF-8', false); $pdf = new TCPDF($sOrientation, PDF_UNIT, $sMedia, true, 'UTF-8', false);
@@ -841,10 +800,10 @@ class OutputDocument extends BaseOutputDocument
$pdf->SetSubject($sFilename); $pdf->SetSubject($sFilename);
$margins = $aProperties['margins']; $margins = $aProperties['margins'];
$margins["left"] = ($margins["left"] >= 0)? $margins["left"]: PDF_MARGIN_LEFT; $margins["left"] = ($margins["left"] >= 0) ? $margins["left"] : PDF_MARGIN_LEFT;
$margins["top"] = ($margins["top"] >= 0)? $margins["top"]: PDF_MARGIN_TOP; $margins["top"] = ($margins["top"] >= 0) ? $margins["top"] : PDF_MARGIN_TOP;
$margins["right"] = ($margins["right"] >= 0)? $margins["right"]: PDF_MARGIN_RIGHT; $margins["right"] = ($margins["right"] >= 0) ? $margins["right"] : PDF_MARGIN_RIGHT;
$margins["bottom"] = ($margins["bottom"] >= 0)? $margins["bottom"]: PDF_MARGIN_BOTTOM; $margins["bottom"] = ($margins["bottom"] >= 0) ? $margins["bottom"] : PDF_MARGIN_BOTTOM;
$pdf->setPrintHeader(false); $pdf->setPrintHeader(false);
$pdf->setPrintFooter(false); $pdf->setPrintFooter(false);
@@ -858,7 +817,7 @@ class OutputDocument extends BaseOutputDocument
// set some language dependent data: // set some language dependent data:
$lg = array(); $lg = array();
$lg['a_meta_charset'] = 'UTF-8'; $lg['a_meta_charset'] = 'UTF-8';
$lg['a_meta_dir'] = ($oServerConf->isRtl($sLang)) ? 'rtl' : 'ltr' ; $lg['a_meta_dir'] = ($oServerConf->isRtl($sLang)) ? 'rtl' : 'ltr';
$lg['a_meta_language'] = $sLang; $lg['a_meta_language'] = $sLang;
$lg['w_page'] = 'page'; $lg['w_page'] = 'page';
@@ -868,12 +827,11 @@ class OutputDocument extends BaseOutputDocument
if (isset($aProperties['pdfSecurity'])) { if (isset($aProperties['pdfSecurity'])) {
$pdfSecurity = $aProperties['pdfSecurity']; $pdfSecurity = $aProperties['pdfSecurity'];
$userPass = G::decrypt($pdfSecurity['openPassword'], $sUID); $userPass = G::decrypt($pdfSecurity['openPassword'], $sUID);
$ownerPass = ($pdfSecurity['ownerPassword'] != '') ? G::decrypt($pdfSecurity['ownerPassword'], $sUID): null; $ownerPass = ($pdfSecurity['ownerPassword'] != '') ? G::decrypt($pdfSecurity['ownerPassword'], $sUID) : null;
$permissions = explode("|", $pdfSecurity['permissions']); $permissions = explode("|", $pdfSecurity['permissions']);
$pdf->SetProtection($permissions, $userPass, $ownerPass); $pdf->SetProtection($permissions, $userPass, $ownerPass);
} }
// --------------------------------------------------------- // ---------------------------------------------------------
// set default font subsetting mode // set default font subsetting mode
$pdf->setFontSubsetting(true); $pdf->setFontSubsetting(true);
@@ -882,7 +840,8 @@ class OutputDocument extends BaseOutputDocument
// print standard ASCII chars, you can use core fonts like // print standard ASCII chars, you can use core fonts like
// helvetica or times to reduce file size. // helvetica or times to reduce file size.
//$pdf->SetFont('dejavusans', '', 14, '', true); //$pdf->SetFont('dejavusans', '', 14, '', true);
if (preg_match('/[\x{30FF}\x{3040}-\x{309F}\x{4E00}-\x{9FFF}\x{0E00}-\x{0E7F}]/u', $sContent, $matches)) {// Detect chinese, japanese, thai // Detect chinese, japanese, thai
if (preg_match('/[\x{30FF}\x{3040}-\x{309F}\x{4E00}-\x{9FFF}\x{0E00}-\x{0E7F}]/u', $sContent, $matches)) {
$pdf->SetFont('kozminproregular'); $pdf->SetFont('kozminproregular');
} }
@@ -892,18 +851,16 @@ class OutputDocument extends BaseOutputDocument
// set text shadow effect // set text shadow effect
//$pdf->setTextShadow(array('enabled'=>true, 'depth_w'=>0.2, 'depth_h'=>0.2, 'color'=>array(196,196,196), 'opacity'=>1, 'blend_mode'=>'Normal')); //$pdf->setTextShadow(array('enabled'=>true, 'depth_w'=>0.2, 'depth_h'=>0.2, 'color'=>array(196,196,196), 'opacity'=>1, 'blend_mode'=>'Normal'));
// Print text using writeHTMLCell() // Print text using writeHTMLCell()
// $pdf->writeHTMLCell($w=0, $h=0, $x='', $y='', $html, $border=0, $ln=1, $fill=0, $reseth=true, $align='', $autopadding=true); // $pdf->writeHTMLCell($w=0, $h=0, $x='', $y='', $html, $border=0, $ln=1, $fill=0, $reseth=true, $align='', $autopadding=true);
if (mb_detect_encoding($sContent) == 'UTF-8') { if (mb_detect_encoding($sContent) == 'UTF-8') {
$sContent = mb_convert_encoding($sContent, 'HTML-ENTITIES', 'UTF-8'); $sContent = mb_convert_encoding($sContent, 'HTML-ENTITIES', 'UTF-8');
} }
$doc = new DOMDocument('1.0', 'UTF-8'); $doc = new DOMDocument('1.0', 'UTF-8');
$doc->loadHtml($sContent); $doc->loadHtml($sContent);
$doc->encoding='UTF-8'; $doc->encoding = 'UTF-8';
$pdf->writeHTML($doc->saveXML(), false, false, false, false, ''); $pdf->writeHTML($doc->saveXML(), false, false, false, false, '');
// --------------------------------------------------------- // ---------------------------------------------------------
// Close and output PDF document // Close and output PDF document
// This method has several options, check the source code documentation for more information. // This method has several options, check the source code documentation for more information.
//$pdf->Output('example_00.pdf', 'I'); //$pdf->Output('example_00.pdf', 'I');
@@ -924,7 +881,7 @@ class OutputDocument extends BaseOutputDocument
} }
} }
public function generateHtml2ps_pdf($sUID, $aFields, $sPath, $sFilename, $sContent, $sLandscape = false, $aProperties = array() ) public function generateHtml2ps_pdf($sUID, $aFields, $sPath, $sFilename, $sContent, $sLandscape = false, $aProperties = array())
{ {
define("MAX_FREE_FRACTION", 1); define("MAX_FREE_FRACTION", 1);
@@ -936,33 +893,33 @@ class OutputDocument extends BaseOutputDocument
parse_config_file(PATH_THIRDPARTY . 'html2ps_pdf/html2ps.config'); parse_config_file(PATH_THIRDPARTY . 'html2ps_pdf/html2ps.config');
$GLOBALS['g_config'] = array( $GLOBALS['g_config'] = array(
'cssmedia' => 'screen', 'cssmedia' => 'screen',
'media' => 'Letter', 'media' => 'Letter',
'scalepoints' => false, 'scalepoints' => false,
'renderimages' => true, 'renderimages' => true,
'renderfields' => true, 'renderfields' => true,
'renderforms' => false, 'renderforms' => false,
'pslevel' => 3, 'pslevel' => 3,
'renderlinks' => true, 'renderlinks' => true,
'pagewidth' => 800, 'pagewidth' => 800,
'landscape' => $sLandscape, 'landscape' => $sLandscape,
'method' => 'fpdf', 'method' => 'fpdf',
'margins' => array('left' => 15, 'right' => 15, 'top' => 15, 'bottom' => 15,), 'margins' => array('left' => 15, 'right' => 15, 'top' => 15, 'bottom' => 15,),
'encoding' => '', 'encoding' => '',
'ps2pdf' => false, 'ps2pdf' => false,
'compress' => false, 'compress' => false,
'output' => 2, 'output' => 2,
'pdfversion' => '1.3', 'pdfversion' => '1.3',
'transparency_workaround' => false, 'transparency_workaround' => false,
'imagequality_workaround' => false, 'imagequality_workaround' => false,
'draw_page_border' => isset($_REQUEST['pageborder']), 'draw_page_border' => isset($_REQUEST['pageborder']),
'debugbox' => false, 'debugbox' => false,
'html2xhtml' => true, 'html2xhtml' => true,
'mode' => 'html', 'mode' => 'html',
'smartpagebreak' => true 'smartpagebreak' => true
); );
$GLOBALS['g_config']= array_merge($GLOBALS['g_config'],$aProperties); $GLOBALS['g_config'] = array_merge($GLOBALS['g_config'], $aProperties);
$g_media = Media::predefined($GLOBALS['g_config']['media']); $g_media = Media::predefined($GLOBALS['g_config']['media']);
$g_media->set_landscape($GLOBALS['g_config']['landscape']); $g_media->set_landscape($GLOBALS['g_config']['landscape']);
$g_media->set_margins($GLOBALS['g_config']['margins']); $g_media->set_margins($GLOBALS['g_config']['margins']);
@@ -971,20 +928,18 @@ class OutputDocument extends BaseOutputDocument
if (isset($GLOBALS['g_config']['pdfSecurity'])) { if (isset($GLOBALS['g_config']['pdfSecurity'])) {
if (isset($GLOBALS['g_config']['pdfSecurity']['openPassword']) && if (isset($GLOBALS['g_config']['pdfSecurity']['openPassword']) &&
$GLOBALS['g_config']['pdfSecurity']['openPassword'] != "" $GLOBALS['g_config']['pdfSecurity']['openPassword'] != ""
) { ) {
$GLOBALS['g_config']['pdfSecurity']['openPassword'] = G::decrypt( $GLOBALS['g_config']['pdfSecurity']['openPassword'] = G::decrypt(
$GLOBALS['g_config']['pdfSecurity']['openPassword'], $GLOBALS['g_config']['pdfSecurity']['openPassword'], $sUID
$sUID
); );
} }
if (isset($GLOBALS['g_config']['pdfSecurity']['ownerPassword']) && if (isset($GLOBALS['g_config']['pdfSecurity']['ownerPassword']) &&
$GLOBALS['g_config']['pdfSecurity']['ownerPassword'] != "" $GLOBALS['g_config']['pdfSecurity']['ownerPassword'] != ""
) { ) {
$GLOBALS['g_config']['pdfSecurity']['ownerPassword'] = G::decrypt( $GLOBALS['g_config']['pdfSecurity']['ownerPassword'] = G::decrypt(
$GLOBALS['g_config']['pdfSecurity']['ownerPassword'], $GLOBALS['g_config']['pdfSecurity']['ownerPassword'], $sUID
$sUID
); );
} }
@@ -1023,7 +978,7 @@ class OutputDocument extends BaseOutputDocument
$pipeline->pre_tree_filters = array(); $pipeline->pre_tree_filters = array();
$header_html = ''; $header_html = '';
$footer_html = ''; $footer_html = '';
$filter = new PreTreeFilterHeaderFooter($header_html, $footer_html); $filter = new PreTreeFilterHeaderFooter($header_html, $footer_html);
$pipeline->pre_tree_filters[] = $filter; $pipeline->pre_tree_filters[] = $filter;
if ($GLOBALS['g_config']['renderfields']) { if ($GLOBALS['g_config']['renderfields']) {
@@ -1056,16 +1011,16 @@ class OutputDocument extends BaseOutputDocument
$pipeline->output_driver = new OutputDriverPDFLIB16($GLOBALS['g_config']['pdfversion']); $pipeline->output_driver = new OutputDriverPDFLIB16($GLOBALS['g_config']['pdfversion']);
break; break;
case 'fpdf': case 'fpdf':
$pipeline->output_driver = new OutputDriverFPDF(); $pipeline->output_driver = new OutputDriverFPDF();
break; break;
case 'png': case 'png':
$pipeline->output_driver = new OutputDriverPNG(); $pipeline->output_driver = new OutputDriverPNG();
break; break;
case 'pcl': case 'pcl':
$pipeline->output_driver = new OutputDriverPCL(); $pipeline->output_driver = new OutputDriverPCL();
break; break;
default: default:
die('Unknown output method'); die('Unknown output method');
} }
if (isset($GLOBALS['g_config']['watermarkhtml'])) { if (isset($GLOBALS['g_config']['watermarkhtml'])) {
@@ -1077,7 +1032,7 @@ class OutputDocument extends BaseOutputDocument
$pipeline->output_driver->set_watermark($watermark_text); $pipeline->output_driver->set_watermark($watermark_text);
if ($watermark_text != '') { if ($watermark_text != '') {
$dispatcher =& $pipeline->getDispatcher(); $dispatcher = & $pipeline->getDispatcher();
} }
if ($GLOBALS['g_config']['debugbox']) { if ($GLOBALS['g_config']['debugbox']) {
@@ -1120,7 +1075,7 @@ class OutputDocument extends BaseOutputDocument
copy($sPath . $sFilename . '.html', PATH_OUTPUT_FILE_DIRECTORY . $sFilename . '.html'); copy($sPath . $sFilename . '.html', PATH_OUTPUT_FILE_DIRECTORY . $sFilename . '.html');
try { try {
$status = $pipeline->process(((isset($_SERVER['HTTPS']))&&($_SERVER['HTTPS']=='on') ? 'https://' : 'http://') . $_SERVER['HTTP_HOST'] . '/files/' . $_SESSION['APPLICATION'] . '/outdocs/' . $sFilename . '.html', $g_media); $status = $pipeline->process(((isset($_SERVER['HTTPS'])) && ($_SERVER['HTTPS'] == 'on') ? 'https://' : 'http://') . $_SERVER['HTTP_HOST'] . '/files/' . $_SESSION['APPLICATION'] . '/outdocs/' . $sFilename . '.html', $g_media);
copy(PATH_OUTPUT_FILE_DIRECTORY . $sFilename . '.pdf', $sPath . $sFilename . '.pdf'); copy(PATH_OUTPUT_FILE_DIRECTORY . $sFilename . '.pdf', $sPath . $sFilename . '.pdf');
unlink(PATH_OUTPUT_FILE_DIRECTORY . $sFilename . '.pdf'); unlink(PATH_OUTPUT_FILE_DIRECTORY . $sFilename . '.pdf');
unlink(PATH_OUTPUT_FILE_DIRECTORY . $sFilename . '.html'); unlink(PATH_OUTPUT_FILE_DIRECTORY . $sFilename . '.html');
@@ -1129,7 +1084,7 @@ class OutputDocument extends BaseOutputDocument
include_once 'classes/model/AppDocument.php'; include_once 'classes/model/AppDocument.php';
$dataDocument = explode('_', $sFilename); $dataDocument = explode('_', $sFilename);
if (!isset($dataDocument[1])) { if (!isset($dataDocument[1])) {
$dataDocument[1] = 1; $dataDocument[1] = 1;
} }
$oAppDocument = new AppDocument(); $oAppDocument = new AppDocument();
$oAppDocument->remove($dataDocument[0], $dataDocument[1]); $oAppDocument->remove($dataDocument[0], $dataDocument[1]);
@@ -1148,9 +1103,9 @@ class OutputDocument extends BaseOutputDocument
$con = Propel::getConnection(OutputDocumentPeer::DATABASE_NAME); $con = Propel::getConnection(OutputDocumentPeer::DATABASE_NAME);
try { try {
$oObj = OutputDocumentPeer::retrieveByPk( $sUid ); $oObj = OutputDocumentPeer::retrieveByPk($sUid);
if (is_object($oObj) && get_class ($oObj) == 'OutputDocument') { if (is_object($oObj) && get_class($oObj) == 'OutputDocument') {
return true; return true;
} else { } else {
return false; return false;

View File

@@ -14,8 +14,8 @@ include_once 'classes/model/Task.php';
*/ */
abstract class BaseTaskPeer abstract class BaseTaskPeer
{ {
/** the default database name for this class */ /** the default database name for this class */
const DATABASE_NAME = 'workflow'; const DATABASE_NAME = 'workflow';
/** the table name for this class */ /** the table name for this class */
@@ -172,18 +172,17 @@ abstract class BaseTaskPeer
/** The PHP to DB Name Mapping */ /** The PHP to DB Name Mapping */
private static $phpNameMap = null; private static $phpNameMap = null;
/** /**
* holds an array of fieldnames * holds an array of fieldnames
* *
* first dimension keys are the type constants * first dimension keys are the type constants
* e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id' * e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id'
*/ */
private static $fieldNames = array ( private static $fieldNames = array(
BasePeer::TYPE_PHPNAME => array ('ProUid', 'TasUid', 'TasType', 'TasDuration', 'TasDelayType', 'TasTemporizer', 'TasTypeDay', 'TasTimeunit', 'TasAlert', 'TasPriorityVariable', 'TasAssignType', 'TasAssignVariable', 'TasGroupVariable', 'TasMiInstanceVariable', 'TasMiCompleteVariable', 'TasAssignLocation', 'TasAssignLocationAdhoc', 'TasTransferFly', 'TasLastAssigned', 'TasUser', 'TasCanUpload', 'TasViewUpload', 'TasViewAdditionalDocumentation', 'TasCanCancel', 'TasOwnerApp', 'StgUid', 'TasCanPause', 'TasCanSendMessage', 'TasCanDeleteDocs', 'TasSelfService', 'TasStart', 'TasToLastUser', 'TasSendLastEmail', 'TasDerivation', 'TasPosx', 'TasPosy', 'TasWidth', 'TasHeight', 'TasColor', 'TasEvnUid', 'TasBoundary', 'TasDerivationScreenTpl', 'TasSelfserviceTimeout', 'TasSelfserviceTime', 'TasSelfserviceTimeUnit', 'TasSelfserviceTriggerUid', ), BasePeer::TYPE_PHPNAME => array('ProUid', 'TasUid', 'TasType', 'TasDuration', 'TasDelayType', 'TasTemporizer', 'TasTypeDay', 'TasTimeunit', 'TasAlert', 'TasPriorityVariable', 'TasAssignType', 'TasAssignVariable', 'TasGroupVariable', 'TasMiInstanceVariable', 'TasMiCompleteVariable', 'TasAssignLocation', 'TasAssignLocationAdhoc', 'TasTransferFly', 'TasLastAssigned', 'TasUser', 'TasCanUpload', 'TasViewUpload', 'TasViewAdditionalDocumentation', 'TasCanCancel', 'TasOwnerApp', 'StgUid', 'TasCanPause', 'TasCanSendMessage', 'TasCanDeleteDocs', 'TasSelfService', 'TasStart', 'TasToLastUser', 'TasSendLastEmail', 'TasDerivation', 'TasPosx', 'TasPosy', 'TasWidth', 'TasHeight', 'TasColor', 'TasEvnUid', 'TasBoundary', 'TasDerivationScreenTpl', 'TasSelfserviceTimeout', 'TasSelfserviceTime', 'TasSelfserviceTimeUnit', 'TasSelfserviceTriggerUid',),
BasePeer::TYPE_COLNAME => array (TaskPeer::PRO_UID, TaskPeer::TAS_UID, TaskPeer::TAS_TYPE, TaskPeer::TAS_DURATION, TaskPeer::TAS_DELAY_TYPE, TaskPeer::TAS_TEMPORIZER, TaskPeer::TAS_TYPE_DAY, TaskPeer::TAS_TIMEUNIT, TaskPeer::TAS_ALERT, TaskPeer::TAS_PRIORITY_VARIABLE, TaskPeer::TAS_ASSIGN_TYPE, TaskPeer::TAS_ASSIGN_VARIABLE, TaskPeer::TAS_GROUP_VARIABLE, TaskPeer::TAS_MI_INSTANCE_VARIABLE, TaskPeer::TAS_MI_COMPLETE_VARIABLE, TaskPeer::TAS_ASSIGN_LOCATION, TaskPeer::TAS_ASSIGN_LOCATION_ADHOC, TaskPeer::TAS_TRANSFER_FLY, TaskPeer::TAS_LAST_ASSIGNED, TaskPeer::TAS_USER, TaskPeer::TAS_CAN_UPLOAD, TaskPeer::TAS_VIEW_UPLOAD, TaskPeer::TAS_VIEW_ADDITIONAL_DOCUMENTATION, TaskPeer::TAS_CAN_CANCEL, TaskPeer::TAS_OWNER_APP, TaskPeer::STG_UID, TaskPeer::TAS_CAN_PAUSE, TaskPeer::TAS_CAN_SEND_MESSAGE, TaskPeer::TAS_CAN_DELETE_DOCS, TaskPeer::TAS_SELF_SERVICE, TaskPeer::TAS_START, TaskPeer::TAS_TO_LAST_USER, TaskPeer::TAS_SEND_LAST_EMAIL, TaskPeer::TAS_DERIVATION, TaskPeer::TAS_POSX, TaskPeer::TAS_POSY, TaskPeer::TAS_WIDTH, TaskPeer::TAS_HEIGHT, TaskPeer::TAS_COLOR, TaskPeer::TAS_EVN_UID, TaskPeer::TAS_BOUNDARY, TaskPeer::TAS_DERIVATION_SCREEN_TPL, TaskPeer::TAS_SELFSERVICE_TIMEOUT, TaskPeer::TAS_SELFSERVICE_TIME, TaskPeer::TAS_SELFSERVICE_TIME_UNIT, TaskPeer::TAS_SELFSERVICE_TRIGGER_UID, ), BasePeer::TYPE_COLNAME => array(TaskPeer::PRO_UID, TaskPeer::TAS_UID, TaskPeer::TAS_TYPE, TaskPeer::TAS_DURATION, TaskPeer::TAS_DELAY_TYPE, TaskPeer::TAS_TEMPORIZER, TaskPeer::TAS_TYPE_DAY, TaskPeer::TAS_TIMEUNIT, TaskPeer::TAS_ALERT, TaskPeer::TAS_PRIORITY_VARIABLE, TaskPeer::TAS_ASSIGN_TYPE, TaskPeer::TAS_ASSIGN_VARIABLE, TaskPeer::TAS_GROUP_VARIABLE, TaskPeer::TAS_MI_INSTANCE_VARIABLE, TaskPeer::TAS_MI_COMPLETE_VARIABLE, TaskPeer::TAS_ASSIGN_LOCATION, TaskPeer::TAS_ASSIGN_LOCATION_ADHOC, TaskPeer::TAS_TRANSFER_FLY, TaskPeer::TAS_LAST_ASSIGNED, TaskPeer::TAS_USER, TaskPeer::TAS_CAN_UPLOAD, TaskPeer::TAS_VIEW_UPLOAD, TaskPeer::TAS_VIEW_ADDITIONAL_DOCUMENTATION, TaskPeer::TAS_CAN_CANCEL, TaskPeer::TAS_OWNER_APP, TaskPeer::STG_UID, TaskPeer::TAS_CAN_PAUSE, TaskPeer::TAS_CAN_SEND_MESSAGE, TaskPeer::TAS_CAN_DELETE_DOCS, TaskPeer::TAS_SELF_SERVICE, TaskPeer::TAS_START, TaskPeer::TAS_TO_LAST_USER, TaskPeer::TAS_SEND_LAST_EMAIL, TaskPeer::TAS_DERIVATION, TaskPeer::TAS_POSX, TaskPeer::TAS_POSY, TaskPeer::TAS_WIDTH, TaskPeer::TAS_HEIGHT, TaskPeer::TAS_COLOR, TaskPeer::TAS_EVN_UID, TaskPeer::TAS_BOUNDARY, TaskPeer::TAS_DERIVATION_SCREEN_TPL, TaskPeer::TAS_SELFSERVICE_TIMEOUT, TaskPeer::TAS_SELFSERVICE_TIME, TaskPeer::TAS_SELFSERVICE_TIME_UNIT, TaskPeer::TAS_SELFSERVICE_TRIGGER_UID,),
BasePeer::TYPE_FIELDNAME => array ('PRO_UID', 'TAS_UID', 'TAS_TYPE', 'TAS_DURATION', 'TAS_DELAY_TYPE', 'TAS_TEMPORIZER', 'TAS_TYPE_DAY', 'TAS_TIMEUNIT', 'TAS_ALERT', 'TAS_PRIORITY_VARIABLE', 'TAS_ASSIGN_TYPE', 'TAS_ASSIGN_VARIABLE', 'TAS_GROUP_VARIABLE', 'TAS_MI_INSTANCE_VARIABLE', 'TAS_MI_COMPLETE_VARIABLE', 'TAS_ASSIGN_LOCATION', 'TAS_ASSIGN_LOCATION_ADHOC', 'TAS_TRANSFER_FLY', 'TAS_LAST_ASSIGNED', 'TAS_USER', 'TAS_CAN_UPLOAD', 'TAS_VIEW_UPLOAD', 'TAS_VIEW_ADDITIONAL_DOCUMENTATION', 'TAS_CAN_CANCEL', 'TAS_OWNER_APP', 'STG_UID', 'TAS_CAN_PAUSE', 'TAS_CAN_SEND_MESSAGE', 'TAS_CAN_DELETE_DOCS', 'TAS_SELF_SERVICE', 'TAS_START', 'TAS_TO_LAST_USER', 'TAS_SEND_LAST_EMAIL', 'TAS_DERIVATION', 'TAS_POSX', 'TAS_POSY', 'TAS_WIDTH', 'TAS_HEIGHT', 'TAS_COLOR', 'TAS_EVN_UID', 'TAS_BOUNDARY', 'TAS_DERIVATION_SCREEN_TPL', 'TAS_SELFSERVICE_TIMEOUT', 'TAS_SELFSERVICE_TIME', 'TAS_SELFSERVICE_TIME_UNIT', 'TAS_SELFSERVICE_TRIGGER_UID', ), BasePeer::TYPE_FIELDNAME => array('PRO_UID', 'TAS_UID', 'TAS_TYPE', 'TAS_DURATION', 'TAS_DELAY_TYPE', 'TAS_TEMPORIZER', 'TAS_TYPE_DAY', 'TAS_TIMEUNIT', 'TAS_ALERT', 'TAS_PRIORITY_VARIABLE', 'TAS_ASSIGN_TYPE', 'TAS_ASSIGN_VARIABLE', 'TAS_GROUP_VARIABLE', 'TAS_MI_INSTANCE_VARIABLE', 'TAS_MI_COMPLETE_VARIABLE', 'TAS_ASSIGN_LOCATION', 'TAS_ASSIGN_LOCATION_ADHOC', 'TAS_TRANSFER_FLY', 'TAS_LAST_ASSIGNED', 'TAS_USER', 'TAS_CAN_UPLOAD', 'TAS_VIEW_UPLOAD', 'TAS_VIEW_ADDITIONAL_DOCUMENTATION', 'TAS_CAN_CANCEL', 'TAS_OWNER_APP', 'STG_UID', 'TAS_CAN_PAUSE', 'TAS_CAN_SEND_MESSAGE', 'TAS_CAN_DELETE_DOCS', 'TAS_SELF_SERVICE', 'TAS_START', 'TAS_TO_LAST_USER', 'TAS_SEND_LAST_EMAIL', 'TAS_DERIVATION', 'TAS_POSX', 'TAS_POSY', 'TAS_WIDTH', 'TAS_HEIGHT', 'TAS_COLOR', 'TAS_EVN_UID', 'TAS_BOUNDARY', 'TAS_DERIVATION_SCREEN_TPL', 'TAS_SELFSERVICE_TIMEOUT', 'TAS_SELFSERVICE_TIME', 'TAS_SELFSERVICE_TIME_UNIT', 'TAS_SELFSERVICE_TRIGGER_UID',),
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, ) BasePeer::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,)
); );
/** /**
@@ -192,11 +191,11 @@ abstract class BaseTaskPeer
* first dimension keys are the type constants * first dimension keys are the type constants
* e.g. self::$fieldNames[BasePeer::TYPE_PHPNAME]['Id'] = 0 * e.g. self::$fieldNames[BasePeer::TYPE_PHPNAME]['Id'] = 0
*/ */
private static $fieldKeys = array ( private static $fieldKeys = array(
BasePeer::TYPE_PHPNAME => array ('ProUid' => 0, 'TasUid' => 1, 'TasType' => 2, 'TasDuration' => 3, 'TasDelayType' => 4, 'TasTemporizer' => 5, 'TasTypeDay' => 6, 'TasTimeunit' => 7, 'TasAlert' => 8, 'TasPriorityVariable' => 9, 'TasAssignType' => 10, 'TasAssignVariable' => 11, 'TasGroupVariable' => 12, 'TasMiInstanceVariable' => 13, 'TasMiCompleteVariable' => 14, 'TasAssignLocation' => 15, 'TasAssignLocationAdhoc' => 16, 'TasTransferFly' => 17, 'TasLastAssigned' => 18, 'TasUser' => 19, 'TasCanUpload' => 20, 'TasViewUpload' => 21, 'TasViewAdditionalDocumentation' => 22, 'TasCanCancel' => 23, 'TasOwnerApp' => 24, 'StgUid' => 25, 'TasCanPause' => 26, 'TasCanSendMessage' => 27, 'TasCanDeleteDocs' => 28, 'TasSelfService' => 29, 'TasStart' => 30, 'TasToLastUser' => 31, 'TasSendLastEmail' => 32, 'TasDerivation' => 33, 'TasPosx' => 34, 'TasPosy' => 35, 'TasWidth' => 36, 'TasHeight' => 37, 'TasColor' => 38, 'TasEvnUid' => 39, 'TasBoundary' => 40, 'TasDerivationScreenTpl' => 41, 'TasSelfserviceTimeout' => 42, 'TasSelfserviceTime' => 43, 'TasSelfserviceTimeUnit' => 44, 'TasSelfserviceTriggerUid' => 45, ), BasePeer::TYPE_PHPNAME => array('ProUid' => 0, 'TasUid' => 1, 'TasType' => 2, 'TasDuration' => 3, 'TasDelayType' => 4, 'TasTemporizer' => 5, 'TasTypeDay' => 6, 'TasTimeunit' => 7, 'TasAlert' => 8, 'TasPriorityVariable' => 9, 'TasAssignType' => 10, 'TasAssignVariable' => 11, 'TasGroupVariable' => 12, 'TasMiInstanceVariable' => 13, 'TasMiCompleteVariable' => 14, 'TasAssignLocation' => 15, 'TasAssignLocationAdhoc' => 16, 'TasTransferFly' => 17, 'TasLastAssigned' => 18, 'TasUser' => 19, 'TasCanUpload' => 20, 'TasViewUpload' => 21, 'TasViewAdditionalDocumentation' => 22, 'TasCanCancel' => 23, 'TasOwnerApp' => 24, 'StgUid' => 25, 'TasCanPause' => 26, 'TasCanSendMessage' => 27, 'TasCanDeleteDocs' => 28, 'TasSelfService' => 29, 'TasStart' => 30, 'TasToLastUser' => 31, 'TasSendLastEmail' => 32, 'TasDerivation' => 33, 'TasPosx' => 34, 'TasPosy' => 35, 'TasWidth' => 36, 'TasHeight' => 37, 'TasColor' => 38, 'TasEvnUid' => 39, 'TasBoundary' => 40, 'TasDerivationScreenTpl' => 41, 'TasSelfserviceTimeout' => 42, 'TasSelfserviceTime' => 43, 'TasSelfserviceTimeUnit' => 44, 'TasSelfserviceTriggerUid' => 45,),
BasePeer::TYPE_COLNAME => array (TaskPeer::PRO_UID => 0, TaskPeer::TAS_UID => 1, TaskPeer::TAS_TYPE => 2, TaskPeer::TAS_DURATION => 3, TaskPeer::TAS_DELAY_TYPE => 4, TaskPeer::TAS_TEMPORIZER => 5, TaskPeer::TAS_TYPE_DAY => 6, TaskPeer::TAS_TIMEUNIT => 7, TaskPeer::TAS_ALERT => 8, TaskPeer::TAS_PRIORITY_VARIABLE => 9, TaskPeer::TAS_ASSIGN_TYPE => 10, TaskPeer::TAS_ASSIGN_VARIABLE => 11, TaskPeer::TAS_GROUP_VARIABLE => 12, TaskPeer::TAS_MI_INSTANCE_VARIABLE => 13, TaskPeer::TAS_MI_COMPLETE_VARIABLE => 14, TaskPeer::TAS_ASSIGN_LOCATION => 15, TaskPeer::TAS_ASSIGN_LOCATION_ADHOC => 16, TaskPeer::TAS_TRANSFER_FLY => 17, TaskPeer::TAS_LAST_ASSIGNED => 18, TaskPeer::TAS_USER => 19, TaskPeer::TAS_CAN_UPLOAD => 20, TaskPeer::TAS_VIEW_UPLOAD => 21, TaskPeer::TAS_VIEW_ADDITIONAL_DOCUMENTATION => 22, TaskPeer::TAS_CAN_CANCEL => 23, TaskPeer::TAS_OWNER_APP => 24, TaskPeer::STG_UID => 25, TaskPeer::TAS_CAN_PAUSE => 26, TaskPeer::TAS_CAN_SEND_MESSAGE => 27, TaskPeer::TAS_CAN_DELETE_DOCS => 28, TaskPeer::TAS_SELF_SERVICE => 29, TaskPeer::TAS_START => 30, TaskPeer::TAS_TO_LAST_USER => 31, TaskPeer::TAS_SEND_LAST_EMAIL => 32, TaskPeer::TAS_DERIVATION => 33, TaskPeer::TAS_POSX => 34, TaskPeer::TAS_POSY => 35, TaskPeer::TAS_WIDTH => 36, TaskPeer::TAS_HEIGHT => 37, TaskPeer::TAS_COLOR => 38, TaskPeer::TAS_EVN_UID => 39, TaskPeer::TAS_BOUNDARY => 40, TaskPeer::TAS_DERIVATION_SCREEN_TPL => 41, TaskPeer::TAS_SELFSERVICE_TIMEOUT => 42, TaskPeer::TAS_SELFSERVICE_TIME => 43, TaskPeer::TAS_SELFSERVICE_TIME_UNIT => 44, TaskPeer::TAS_SELFSERVICE_TRIGGER_UID => 45, ), BasePeer::TYPE_COLNAME => array(TaskPeer::PRO_UID => 0, TaskPeer::TAS_UID => 1, TaskPeer::TAS_TYPE => 2, TaskPeer::TAS_DURATION => 3, TaskPeer::TAS_DELAY_TYPE => 4, TaskPeer::TAS_TEMPORIZER => 5, TaskPeer::TAS_TYPE_DAY => 6, TaskPeer::TAS_TIMEUNIT => 7, TaskPeer::TAS_ALERT => 8, TaskPeer::TAS_PRIORITY_VARIABLE => 9, TaskPeer::TAS_ASSIGN_TYPE => 10, TaskPeer::TAS_ASSIGN_VARIABLE => 11, TaskPeer::TAS_GROUP_VARIABLE => 12, TaskPeer::TAS_MI_INSTANCE_VARIABLE => 13, TaskPeer::TAS_MI_COMPLETE_VARIABLE => 14, TaskPeer::TAS_ASSIGN_LOCATION => 15, TaskPeer::TAS_ASSIGN_LOCATION_ADHOC => 16, TaskPeer::TAS_TRANSFER_FLY => 17, TaskPeer::TAS_LAST_ASSIGNED => 18, TaskPeer::TAS_USER => 19, TaskPeer::TAS_CAN_UPLOAD => 20, TaskPeer::TAS_VIEW_UPLOAD => 21, TaskPeer::TAS_VIEW_ADDITIONAL_DOCUMENTATION => 22, TaskPeer::TAS_CAN_CANCEL => 23, TaskPeer::TAS_OWNER_APP => 24, TaskPeer::STG_UID => 25, TaskPeer::TAS_CAN_PAUSE => 26, TaskPeer::TAS_CAN_SEND_MESSAGE => 27, TaskPeer::TAS_CAN_DELETE_DOCS => 28, TaskPeer::TAS_SELF_SERVICE => 29, TaskPeer::TAS_START => 30, TaskPeer::TAS_TO_LAST_USER => 31, TaskPeer::TAS_SEND_LAST_EMAIL => 32, TaskPeer::TAS_DERIVATION => 33, TaskPeer::TAS_POSX => 34, TaskPeer::TAS_POSY => 35, TaskPeer::TAS_WIDTH => 36, TaskPeer::TAS_HEIGHT => 37, TaskPeer::TAS_COLOR => 38, TaskPeer::TAS_EVN_UID => 39, TaskPeer::TAS_BOUNDARY => 40, TaskPeer::TAS_DERIVATION_SCREEN_TPL => 41, TaskPeer::TAS_SELFSERVICE_TIMEOUT => 42, TaskPeer::TAS_SELFSERVICE_TIME => 43, TaskPeer::TAS_SELFSERVICE_TIME_UNIT => 44, TaskPeer::TAS_SELFSERVICE_TRIGGER_UID => 45,),
BasePeer::TYPE_FIELDNAME => array ('PRO_UID' => 0, 'TAS_UID' => 1, 'TAS_TYPE' => 2, 'TAS_DURATION' => 3, 'TAS_DELAY_TYPE' => 4, 'TAS_TEMPORIZER' => 5, 'TAS_TYPE_DAY' => 6, 'TAS_TIMEUNIT' => 7, 'TAS_ALERT' => 8, 'TAS_PRIORITY_VARIABLE' => 9, 'TAS_ASSIGN_TYPE' => 10, 'TAS_ASSIGN_VARIABLE' => 11, 'TAS_GROUP_VARIABLE' => 12, 'TAS_MI_INSTANCE_VARIABLE' => 13, 'TAS_MI_COMPLETE_VARIABLE' => 14, 'TAS_ASSIGN_LOCATION' => 15, 'TAS_ASSIGN_LOCATION_ADHOC' => 16, 'TAS_TRANSFER_FLY' => 17, 'TAS_LAST_ASSIGNED' => 18, 'TAS_USER' => 19, 'TAS_CAN_UPLOAD' => 20, 'TAS_VIEW_UPLOAD' => 21, 'TAS_VIEW_ADDITIONAL_DOCUMENTATION' => 22, 'TAS_CAN_CANCEL' => 23, 'TAS_OWNER_APP' => 24, 'STG_UID' => 25, 'TAS_CAN_PAUSE' => 26, 'TAS_CAN_SEND_MESSAGE' => 27, 'TAS_CAN_DELETE_DOCS' => 28, 'TAS_SELF_SERVICE' => 29, 'TAS_START' => 30, 'TAS_TO_LAST_USER' => 31, 'TAS_SEND_LAST_EMAIL' => 32, 'TAS_DERIVATION' => 33, 'TAS_POSX' => 34, 'TAS_POSY' => 35, 'TAS_WIDTH' => 36, 'TAS_HEIGHT' => 37, 'TAS_COLOR' => 38, 'TAS_EVN_UID' => 39, 'TAS_BOUNDARY' => 40, 'TAS_DERIVATION_SCREEN_TPL' => 41, 'TAS_SELFSERVICE_TIMEOUT' => 42, 'TAS_SELFSERVICE_TIME' => 43, 'TAS_SELFSERVICE_TIME_UNIT' => 44, 'TAS_SELFSERVICE_TRIGGER_UID' => 45, ), BasePeer::TYPE_FIELDNAME => array('PRO_UID' => 0, 'TAS_UID' => 1, 'TAS_TYPE' => 2, 'TAS_DURATION' => 3, 'TAS_DELAY_TYPE' => 4, 'TAS_TEMPORIZER' => 5, 'TAS_TYPE_DAY' => 6, 'TAS_TIMEUNIT' => 7, 'TAS_ALERT' => 8, 'TAS_PRIORITY_VARIABLE' => 9, 'TAS_ASSIGN_TYPE' => 10, 'TAS_ASSIGN_VARIABLE' => 11, 'TAS_GROUP_VARIABLE' => 12, 'TAS_MI_INSTANCE_VARIABLE' => 13, 'TAS_MI_COMPLETE_VARIABLE' => 14, 'TAS_ASSIGN_LOCATION' => 15, 'TAS_ASSIGN_LOCATION_ADHOC' => 16, 'TAS_TRANSFER_FLY' => 17, 'TAS_LAST_ASSIGNED' => 18, 'TAS_USER' => 19, 'TAS_CAN_UPLOAD' => 20, 'TAS_VIEW_UPLOAD' => 21, 'TAS_VIEW_ADDITIONAL_DOCUMENTATION' => 22, 'TAS_CAN_CANCEL' => 23, 'TAS_OWNER_APP' => 24, 'STG_UID' => 25, 'TAS_CAN_PAUSE' => 26, 'TAS_CAN_SEND_MESSAGE' => 27, 'TAS_CAN_DELETE_DOCS' => 28, 'TAS_SELF_SERVICE' => 29, 'TAS_START' => 30, 'TAS_TO_LAST_USER' => 31, 'TAS_SEND_LAST_EMAIL' => 32, 'TAS_DERIVATION' => 33, 'TAS_POSX' => 34, 'TAS_POSY' => 35, 'TAS_WIDTH' => 36, 'TAS_HEIGHT' => 37, 'TAS_COLOR' => 38, 'TAS_EVN_UID' => 39, 'TAS_BOUNDARY' => 40, 'TAS_DERIVATION_SCREEN_TPL' => 41, 'TAS_SELFSERVICE_TIMEOUT' => 42, 'TAS_SELFSERVICE_TIME' => 43, 'TAS_SELFSERVICE_TIME_UNIT' => 44, 'TAS_SELFSERVICE_TRIGGER_UID' => 45,),
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, ) BasePeer::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,)
); );
/** /**
@@ -209,6 +208,7 @@ abstract class BaseTaskPeer
include_once 'classes/model/map/TaskMapBuilder.php'; include_once 'classes/model/map/TaskMapBuilder.php';
return BasePeer::getMapBuilder('classes.model.map.TaskMapBuilder'); return BasePeer::getMapBuilder('classes.model.map.TaskMapBuilder');
} }
/** /**
* Gets a map (hash) of PHP names to DB column names. * Gets a map (hash) of PHP names to DB column names.
* *
@@ -230,6 +230,7 @@ abstract class BaseTaskPeer
} }
return self::$phpNameMap; return self::$phpNameMap;
} }
/** /**
* Translates a fieldname to another type * Translates a fieldname to another type
* *
@@ -257,7 +258,6 @@ abstract class BaseTaskPeer
* TYPE_COLNAME, TYPE_FIELDNAME, TYPE_NUM * TYPE_COLNAME, TYPE_FIELDNAME, TYPE_NUM
* @return array A list of field names * @return array A list of field names
*/ */
static public function getFieldNames($type = BasePeer::TYPE_PHPNAME) static public function getFieldNames($type = BasePeer::TYPE_PHPNAME)
{ {
if (!array_key_exists($type, self::$fieldNames)) { if (!array_key_exists($type, self::$fieldNames)) {
@@ -280,7 +280,7 @@ abstract class BaseTaskPeer
*/ */
public static function alias($alias, $column) public static function alias($alias, $column)
{ {
return str_replace(TaskPeer::TABLE_NAME.'.', $alias.'.', $column); return str_replace(TaskPeer::TABLE_NAME . '.', $alias . '.', $column);
} }
/** /**
@@ -388,7 +388,6 @@ abstract class BaseTaskPeer
$criteria->addSelectColumn(TaskPeer::TAS_SELFSERVICE_TIME_UNIT); $criteria->addSelectColumn(TaskPeer::TAS_SELFSERVICE_TIME_UNIT);
$criteria->addSelectColumn(TaskPeer::TAS_SELFSERVICE_TRIGGER_UID); $criteria->addSelectColumn(TaskPeer::TAS_SELFSERVICE_TRIGGER_UID);
} }
const COUNT = 'COUNT(TASK.TAS_UID)'; const COUNT = 'COUNT(TASK.TAS_UID)';
@@ -428,6 +427,7 @@ abstract class BaseTaskPeer
return 0; return 0;
} }
} }
/** /**
* Method to select one object from the DB. * Method to select one object from the DB.
* *
@@ -447,6 +447,7 @@ abstract class BaseTaskPeer
} }
return null; return null;
} }
/** /**
* Method to do selects. * Method to do selects.
* *
@@ -460,6 +461,7 @@ abstract class BaseTaskPeer
{ {
return TaskPeer::populateObjects(TaskPeer::doSelectRS($criteria, $con)); return TaskPeer::populateObjects(TaskPeer::doSelectRS($criteria, $con));
} }
/** /**
* Prepares the Criteria object and uses the parent doSelect() * Prepares the Criteria object and uses the parent doSelect()
* method to get a ResultSet. * method to get a ResultSet.
@@ -492,6 +494,7 @@ abstract class BaseTaskPeer
// rows indexed numerically. // rows indexed numerically.
return BasePeer::doSelect($criteria, $con); return BasePeer::doSelect($criteria, $con);
} }
/** /**
* The returned array will contain objects of the default type or * The returned array will contain objects of the default type or
* objects that inherit from the default. * objects that inherit from the default.
@@ -512,10 +515,10 @@ abstract class BaseTaskPeer
$obj = new $cls(); $obj = new $cls();
$obj->hydrate($rs); $obj->hydrate($rs);
$results[] = $obj; $results[] = $obj;
} }
return $results; return $results;
} }
/** /**
* Returns the TableMap related to this peer. * Returns the TableMap related to this peer.
* This method is not needed for general use but a specific application could have a need. * This method is not needed for general use but a specific application could have a need.
@@ -603,7 +606,6 @@ abstract class BaseTaskPeer
$comparison = $criteria->getComparison(TaskPeer::TAS_UID); $comparison = $criteria->getComparison(TaskPeer::TAS_UID);
$selectCriteria->add(TaskPeer::TAS_UID, $criteria->remove(TaskPeer::TAS_UID), $comparison); $selectCriteria->add(TaskPeer::TAS_UID, $criteria->remove(TaskPeer::TAS_UID), $comparison);
} else { } else {
$criteria = $values->buildCriteria(); // gets full criteria $criteria = $values->buildCriteria(); // gets full criteria
$selectCriteria = $values->buildPkeyCriteria(); // gets criteria w/ primary key(s) $selectCriteria = $values->buildPkeyCriteria(); // gets criteria w/ primary key(s)
@@ -650,7 +652,7 @@ abstract class BaseTaskPeer
* if supported by native driver or if emulated using Propel. * if supported by native driver or if emulated using Propel.
* @throws PropelException Any exceptions caught during processing will be * @throws PropelException Any exceptions caught during processing will be
* rethrown wrapped into a PropelException. * rethrown wrapped into a PropelException.
*/ */
public static function doDelete($values, $con = null) public static function doDelete($values, $con = null)
{ {
if ($con === null) { if ($con === null) {
@@ -707,7 +709,7 @@ abstract class BaseTaskPeer
$dbMap = Propel::getDatabaseMap(TaskPeer::DATABASE_NAME); $dbMap = Propel::getDatabaseMap(TaskPeer::DATABASE_NAME);
$tableMap = $dbMap->getTable(TaskPeer::TABLE_NAME); $tableMap = $dbMap->getTable(TaskPeer::TABLE_NAME);
if (! is_array($cols)) { if (!is_array($cols)) {
$cols = array($cols); $cols = array($cols);
} }
@@ -719,63 +721,80 @@ abstract class BaseTaskPeer
} }
} else { } else {
if ($obj->isNew() || $obj->isColumnModified(TaskPeer::TAS_TYPE)) if ($obj->isNew() || $obj->isColumnModified(TaskPeer::TAS_TYPE)) {
$columns[TaskPeer::TAS_TYPE] = $obj->getTasType(); $columns[TaskPeer::TAS_TYPE] = $obj->getTasType();
}
if ($obj->isNew() || $obj->isColumnModified(TaskPeer::TAS_TIMEUNIT)) if ($obj->isNew() || $obj->isColumnModified(TaskPeer::TAS_TIMEUNIT)) {
$columns[TaskPeer::TAS_TIMEUNIT] = $obj->getTasTimeunit(); $columns[TaskPeer::TAS_TIMEUNIT] = $obj->getTasTimeunit();
}
if ($obj->isNew() || $obj->isColumnModified(TaskPeer::TAS_ALERT)) if ($obj->isNew() || $obj->isColumnModified(TaskPeer::TAS_ALERT)) {
$columns[TaskPeer::TAS_ALERT] = $obj->getTasAlert(); $columns[TaskPeer::TAS_ALERT] = $obj->getTasAlert();
}
if ($obj->isNew() || $obj->isColumnModified(TaskPeer::TAS_ASSIGN_TYPE)) if ($obj->isNew() || $obj->isColumnModified(TaskPeer::TAS_ASSIGN_TYPE)) {
$columns[TaskPeer::TAS_ASSIGN_TYPE] = $obj->getTasAssignType(); $columns[TaskPeer::TAS_ASSIGN_TYPE] = $obj->getTasAssignType();
}
if ($obj->isNew() || $obj->isColumnModified(TaskPeer::TAS_ASSIGN_LOCATION)) if ($obj->isNew() || $obj->isColumnModified(TaskPeer::TAS_ASSIGN_LOCATION)) {
$columns[TaskPeer::TAS_ASSIGN_LOCATION] = $obj->getTasAssignLocation(); $columns[TaskPeer::TAS_ASSIGN_LOCATION] = $obj->getTasAssignLocation();
}
if ($obj->isNew() || $obj->isColumnModified(TaskPeer::TAS_ASSIGN_LOCATION_ADHOC)) if ($obj->isNew() || $obj->isColumnModified(TaskPeer::TAS_ASSIGN_LOCATION_ADHOC)) {
$columns[TaskPeer::TAS_ASSIGN_LOCATION_ADHOC] = $obj->getTasAssignLocationAdhoc(); $columns[TaskPeer::TAS_ASSIGN_LOCATION_ADHOC] = $obj->getTasAssignLocationAdhoc();
}
if ($obj->isNew() || $obj->isColumnModified(TaskPeer::TAS_TRANSFER_FLY)) if ($obj->isNew() || $obj->isColumnModified(TaskPeer::TAS_TRANSFER_FLY)) {
$columns[TaskPeer::TAS_TRANSFER_FLY] = $obj->getTasTransferFly(); $columns[TaskPeer::TAS_TRANSFER_FLY] = $obj->getTasTransferFly();
}
if ($obj->isNew() || $obj->isColumnModified(TaskPeer::TAS_CAN_UPLOAD)) if ($obj->isNew() || $obj->isColumnModified(TaskPeer::TAS_CAN_UPLOAD)) {
$columns[TaskPeer::TAS_CAN_UPLOAD] = $obj->getTasCanUpload(); $columns[TaskPeer::TAS_CAN_UPLOAD] = $obj->getTasCanUpload();
}
if ($obj->isNew() || $obj->isColumnModified(TaskPeer::TAS_VIEW_UPLOAD)) if ($obj->isNew() || $obj->isColumnModified(TaskPeer::TAS_VIEW_UPLOAD)) {
$columns[TaskPeer::TAS_VIEW_UPLOAD] = $obj->getTasViewUpload(); $columns[TaskPeer::TAS_VIEW_UPLOAD] = $obj->getTasViewUpload();
}
if ($obj->isNew() || $obj->isColumnModified(TaskPeer::TAS_VIEW_ADDITIONAL_DOCUMENTATION)) if ($obj->isNew() || $obj->isColumnModified(TaskPeer::TAS_VIEW_ADDITIONAL_DOCUMENTATION)) {
$columns[TaskPeer::TAS_VIEW_ADDITIONAL_DOCUMENTATION] = $obj->getTasViewAdditionalDocumentation(); $columns[TaskPeer::TAS_VIEW_ADDITIONAL_DOCUMENTATION] = $obj->getTasViewAdditionalDocumentation();
}
if ($obj->isNew() || $obj->isColumnModified(TaskPeer::TAS_CAN_CANCEL)) if ($obj->isNew() || $obj->isColumnModified(TaskPeer::TAS_CAN_CANCEL)) {
$columns[TaskPeer::TAS_CAN_CANCEL] = $obj->getTasCanCancel(); $columns[TaskPeer::TAS_CAN_CANCEL] = $obj->getTasCanCancel();
}
if ($obj->isNew() || $obj->isColumnModified(TaskPeer::TAS_CAN_PAUSE)) if ($obj->isNew() || $obj->isColumnModified(TaskPeer::TAS_CAN_PAUSE)) {
$columns[TaskPeer::TAS_CAN_PAUSE] = $obj->getTasCanPause(); $columns[TaskPeer::TAS_CAN_PAUSE] = $obj->getTasCanPause();
}
if ($obj->isNew() || $obj->isColumnModified(TaskPeer::TAS_CAN_SEND_MESSAGE)) if ($obj->isNew() || $obj->isColumnModified(TaskPeer::TAS_CAN_SEND_MESSAGE)) {
$columns[TaskPeer::TAS_CAN_SEND_MESSAGE] = $obj->getTasCanSendMessage(); $columns[TaskPeer::TAS_CAN_SEND_MESSAGE] = $obj->getTasCanSendMessage();
}
if ($obj->isNew() || $obj->isColumnModified(TaskPeer::TAS_CAN_DELETE_DOCS)) if ($obj->isNew() || $obj->isColumnModified(TaskPeer::TAS_CAN_DELETE_DOCS)) {
$columns[TaskPeer::TAS_CAN_DELETE_DOCS] = $obj->getTasCanDeleteDocs(); $columns[TaskPeer::TAS_CAN_DELETE_DOCS] = $obj->getTasCanDeleteDocs();
}
if ($obj->isNew() || $obj->isColumnModified(TaskPeer::TAS_SELF_SERVICE)) {
$columns[TaskPeer::TAS_SELF_SERVICE] = $obj->getTasSelfService();
}
if ($obj->isNew() || $obj->isColumnModified(TaskPeer::TAS_SELF_SERVICE)) if ($obj->isNew() || $obj->isColumnModified(TaskPeer::TAS_START)) {
$columns[TaskPeer::TAS_SELF_SERVICE] = $obj->getTasSelfService(); $columns[TaskPeer::TAS_START] = $obj->getTasStart();
}
if ($obj->isNew() || $obj->isColumnModified(TaskPeer::TAS_START)) if ($obj->isNew() || $obj->isColumnModified(TaskPeer::TAS_TO_LAST_USER)) {
$columns[TaskPeer::TAS_START] = $obj->getTasStart(); $columns[TaskPeer::TAS_TO_LAST_USER] = $obj->getTasToLastUser();
}
if ($obj->isNew() || $obj->isColumnModified(TaskPeer::TAS_TO_LAST_USER)) if ($obj->isNew() || $obj->isColumnModified(TaskPeer::TAS_SEND_LAST_EMAIL)) {
$columns[TaskPeer::TAS_TO_LAST_USER] = $obj->getTasToLastUser(); $columns[TaskPeer::TAS_SEND_LAST_EMAIL] = $obj->getTasSendLastEmail();
}
if ($obj->isNew() || $obj->isColumnModified(TaskPeer::TAS_SEND_LAST_EMAIL))
$columns[TaskPeer::TAS_SEND_LAST_EMAIL] = $obj->getTasSendLastEmail();
if ($obj->isNew() || $obj->isColumnModified(TaskPeer::TAS_DERIVATION))
$columns[TaskPeer::TAS_DERIVATION] = $obj->getTasDerivation();
if ($obj->isNew() || $obj->isColumnModified(TaskPeer::TAS_DERIVATION)) {
$columns[TaskPeer::TAS_DERIVATION] = $obj->getTasDerivation();
}
} }
return BasePeer::doValidate(TaskPeer::DATABASE_NAME, TaskPeer::TABLE_NAME, $columns); return BasePeer::doValidate(TaskPeer::DATABASE_NAME, TaskPeer::TABLE_NAME, $columns);
@@ -830,7 +849,6 @@ abstract class BaseTaskPeer
} }
} }
// static code to register the map builder for this Peer with the main Propel class // static code to register the map builder for this Peer with the main Propel class
if (Propel::isInit()) { if (Propel::isInit()) {
// the MapBuilder classes register themselves with Propel during initialization // the MapBuilder classes register themselves with Propel during initialization

View File

@@ -1,53 +1,49 @@
<?php <?php
try {
$form = $_POST['form']; try {
$FolderUid = $form['FOLDER_UID']; $form = $_POST['form'];
$FolderParentUid = $form['FOLDER_PARENT_UID']; $FolderUid = $form['FOLDER_UID'];
$FolderName = $form['FOLDER_NAME']; $FolderParentUid = $form['FOLDER_PARENT_UID'];
$FolderCreateDate = 'now'; $FolderName = $form['FOLDER_NAME'];
$FolderUpdateDate = 'now'; $FolderCreateDate = 'now';
$FolderUpdateDate = 'now';
require_once ( "classes/model/AppFolder.php" ); require_once ( "classes/model/AppFolder.php" );
//if exists the row in the database propel will update it, otherwise will insert. //if exists the row in the database propel will update it, otherwise will insert.
$tr = AppFolderPeer::retrieveByPK( $FolderUid ); $tr = AppFolderPeer::retrieveByPK($FolderUid);
if ( ! ( is_object ( $tr ) && get_class ($tr) == 'AppFolder' ) ) { if (!( is_object($tr) && get_class($tr) == 'AppFolder' )) {
$tr = new AppFolder(); $tr = new AppFolder();
} }
$tr->setFolderUid( $FolderUid ); $tr->setFolderUid($FolderUid);
$tr->setFolderParentUid( $FolderParentUid ); $tr->setFolderParentUid($FolderParentUid);
$tr->setFolderName( $FolderName ); $tr->setFolderName($FolderName);
$tr->setFolderCreateDate( $FolderCreateDate ); $tr->setFolderCreateDate($FolderCreateDate);
$tr->setFolderUpdateDate( $FolderUpdateDate ); $tr->setFolderUpdateDate($FolderUpdateDate);
if ($tr->validate() ) { if ($tr->validate()) {
// we save it, since we get no validation errors, or do whatever else you like. // we save it, since we get no validation errors, or do whatever else you like.
$res = $tr->save(); $res = $tr->save();
} } else {
else { // Something went wrong. We can now get the validationFailures and handle them.
// Something went wrong. We can now get the validationFailures and handle them. $msg = '';
$msg = ''; $validationFailuresArray = $tr->getValidationFailures();
$validationFailuresArray = $tr->getValidationFailures(); foreach ($validationFailuresArray as $objValidationFailure) {
foreach($validationFailuresArray as $objValidationFailure) { $msg .= $objValidationFailure->getMessage() . "<br/>";
$msg .= $objValidationFailure->getMessage() . "<br/>"; }
} //return array ( 'codError' => -100, 'rowsAffected' => 0, 'message' => $msg );
//return array ( 'codError' => -100, 'rowsAffected' => 0, 'message' => $msg ); }
}
//return array ( 'codError' => 0, 'rowsAffected' => $res, 'message' => ''); //return array ( 'codError' => 0, 'rowsAffected' => $res, 'message' => '');
//to do: uniform coderror structures for all classes //to do: uniform coderror structures for all classes
//if ( $res['codError'] < 0 ) {
//if ( $res['codError'] < 0 ) { // G::SendMessageText ( $res['message'] , 'error' );
// G::SendMessageText ( $res['message'] , 'error' ); //}
//} G::Header('location: appFolderList');
G::Header('location: appFolderList'); } catch (Exception $e) {
}
catch ( Exception $e ) {
$G_PUBLISH = new Publisher; $G_PUBLISH = new Publisher;
$aMessage['MESSAGE'] = $e->getMessage(); $aMessage['MESSAGE'] = $e->getMessage();
$G_PUBLISH->AddContent('xmlform', 'xmlform', 'login/showMessage', '', $aMessage ); $G_PUBLISH->AddContent('xmlform', 'xmlform', 'login/showMessage', '', $aMessage);
G::RenderPage( 'publish', 'blank' ); G::RenderPage('publish', 'blank');
} }

View File

@@ -27,7 +27,6 @@
* @author Erik Amaru Ortiz <erik@colosa.com> * @author Erik Amaru Ortiz <erik@colosa.com>
* @date Jan 3th, 2010 * @date Jan 3th, 2010
*/ */
//require_once 'classes/model/Application.php'; //require_once 'classes/model/Application.php';
//require_once 'classes/model/Users.php'; //require_once 'classes/model/Users.php';
//require_once 'classes/model/AppThread.php'; //require_once 'classes/model/AppThread.php';
@@ -38,26 +37,26 @@
class Ajax class Ajax
{ {
public function getCaseMenu ($params) public function getCaseMenu($params)
{ {
G::LoadClass( "configuration" ); G::LoadClass("configuration");
G::LoadClass( "case" ); G::LoadClass("case");
global $G_TMP_MENU; global $G_TMP_MENU;
global $sStatus; global $sStatus;
$sStatus = $params['app_status']; $sStatus = $params['app_status'];
$oCase = new Cases(); $oCase = new Cases();
$conf = new Configurations(); $conf = new Configurations();
$oMenu = new Menu(); $oMenu = new Menu();
$oMenu->load( 'caseOptions' ); $oMenu->load('caseOptions');
$menuOptions = Array (); $menuOptions = Array();
foreach ($oMenu->Options as $i => $action) { foreach ($oMenu->Options as $i => $action) {
$option = Array ('id' => $oMenu->Id[$i],'label' => $oMenu->Labels[$i],'action' => $action); $option = Array('id' => $oMenu->Id[$i], 'label' => $oMenu->Labels[$i], 'action' => $action);
switch ($option['id']) { switch ($option['id']) {
case 'STEPS': case 'STEPS':
$option['options'] = Array (); $option['options'] = Array();
break; break;
case 'ACTIONS': case 'ACTIONS':
$option['options'] = $this->getActionOptions(); $option['options'] = $this->getActionOptions();
@@ -69,20 +68,20 @@ class Ajax
$menuOptions[] = $option; $menuOptions[] = $option;
} }
echo G::json_encode( $menuOptions ); echo G::json_encode($menuOptions);
} }
public function steps () public function steps()
{ {
G::LoadClass( 'applications' ); G::LoadClass('applications');
$applications = new Applications(); $applications = new Applications();
$proUid = isset( $_SESSION['PROCESS'] ) ? $_SESSION['PROCESS'] : ''; $proUid = isset($_SESSION['PROCESS']) ? $_SESSION['PROCESS'] : '';
$tasUid = isset( $_SESSION['TASK'] ) ? $_SESSION['TASK'] : ''; $tasUid = isset($_SESSION['TASK']) ? $_SESSION['TASK'] : '';
$appUid = isset( $_SESSION['APPLICATION'] ) ? $_SESSION['APPLICATION'] : ''; $appUid = isset($_SESSION['APPLICATION']) ? $_SESSION['APPLICATION'] : '';
$index = isset( $_SESSION['INDEX'] ) ? $_SESSION['INDEX'] : ''; $index = isset($_SESSION['INDEX']) ? $_SESSION['INDEX'] : '';
$steps = $applications->getSteps( $appUid, $index, $tasUid, $proUid ); $steps = $applications->getSteps($appUid, $index, $tasUid, $proUid);
$list = array (); $list = array();
foreach ($steps as $step) { foreach ($steps as $step) {
$item['id'] = $item['idtodraw'] = $step['id']; $item['id'] = $item['idtodraw'] = $step['id'];
@@ -112,89 +111,89 @@ class Ajax
$list[] = $item; $list[] = $item;
} }
echo G::json_encode( $list ); echo G::json_encode($list);
} }
public function getInformationOptions () public function getInformationOptions()
{ {
$options = Array (); $options = Array();
$options[] = Array ('text' => G::LoadTranslation( 'ID_PROCESS_MAP' ),'fn' => 'processMap' ); $options[] = Array('text' => G::LoadTranslation('ID_PROCESS_MAP'), 'fn' => 'processMap');
$options[] = Array ('text' => G::LoadTranslation( 'ID_PROCESS_INFORMATION' ),'fn' => 'processInformation'); $options[] = Array('text' => G::LoadTranslation('ID_PROCESS_INFORMATION'), 'fn' => 'processInformation');
$options[] = Array ('text' => G::LoadTranslation( 'ID_TASK_INFORMATION' ),'fn' => 'taskInformation'); $options[] = Array('text' => G::LoadTranslation('ID_TASK_INFORMATION'), 'fn' => 'taskInformation');
$options[] = Array ('text' => G::LoadTranslation( 'ID_CASE_HISTORY' ),'fn' => 'caseHistory'); $options[] = Array('text' => G::LoadTranslation('ID_CASE_HISTORY'), 'fn' => 'caseHistory');
$options[] = Array ('text' => G::LoadTranslation( 'ID_HISTORY_MESSAGE_CASE' ),'fn' => 'messageHistory'); $options[] = Array('text' => G::LoadTranslation('ID_HISTORY_MESSAGE_CASE'), 'fn' => 'messageHistory');
$options[] = Array ('text' => G::LoadTranslation( 'ID_DYNAFORMS' ),'fn' => 'dynaformHistory' ); $options[] = Array('text' => G::LoadTranslation('ID_DYNAFORMS'), 'fn' => 'dynaformHistory');
$options[] = Array ('text' => G::LoadTranslation( 'ID_UPLOADED_DOCUMENTS' ),'fn' => 'uploadedDocuments'); $options[] = Array('text' => G::LoadTranslation('ID_UPLOADED_DOCUMENTS'), 'fn' => 'uploadedDocuments');
$options[] = Array ('text' => G::LoadTranslation( 'ID_GENERATED_DOCUMENTS' ),'fn' => 'generatedDocuments'); $options[] = Array('text' => G::LoadTranslation('ID_GENERATED_DOCUMENTS'), 'fn' => 'generatedDocuments');
return $options; return $options;
} }
public function getActionOptions () public function getActionOptions()
{ {
$APP_UID = $_SESSION['APPLICATION']; $APP_UID = $_SESSION['APPLICATION'];
$c = new Criteria( 'workflow' ); $c = new Criteria('workflow');
$c->clearSelectColumns(); $c->clearSelectColumns();
$c->addSelectColumn( AppThreadPeer::APP_THREAD_PARENT ); $c->addSelectColumn(AppThreadPeer::APP_THREAD_PARENT);
$c->add( AppThreadPeer::APP_UID, $APP_UID ); $c->add(AppThreadPeer::APP_UID, $APP_UID);
$c->add( AppThreadPeer::APP_THREAD_STATUS, 'OPEN' ); $c->add(AppThreadPeer::APP_THREAD_STATUS, 'OPEN');
$cant = AppThreadPeer::doCount( $c ); $cant = AppThreadPeer::doCount($c);
$oCase = new Cases(); $oCase = new Cases();
$aFields = $oCase->loadCase( $_SESSION['APPLICATION'], $_SESSION['INDEX'] ); $aFields = $oCase->loadCase($_SESSION['APPLICATION'], $_SESSION['INDEX']);
GLOBAL $RBAC; GLOBAL $RBAC;
$options = Array (); $options = Array();
switch ($aFields['APP_STATUS']) { switch ($aFields['APP_STATUS']) {
case 'DRAFT': case 'DRAFT':
if (! AppDelay::isPaused( $_SESSION['APPLICATION'], $_SESSION['INDEX'] )) { if (!AppDelay::isPaused($_SESSION['APPLICATION'], $_SESSION['INDEX'])) {
$options[] = Array ('text' => G::LoadTranslation( 'ID_PAUSED_CASE' ),'fn' => 'setUnpauseCaseDate'); $options[] = Array('text' => G::LoadTranslation('ID_PAUSED_CASE'), 'fn' => 'setUnpauseCaseDate');
} else { } else {
$options[] = Array ('text' => G::LoadTranslation( 'ID_UNPAUSE' ),'fn' => 'unpauseCase'); $options[] = Array('text' => G::LoadTranslation('ID_UNPAUSE'), 'fn' => 'unpauseCase');
} }
$options[] = Array ('text' => G::LoadTranslation( 'ID_DELETE' ),'fn' => 'deleteCase'); $options[] = Array('text' => G::LoadTranslation('ID_DELETE'), 'fn' => 'deleteCase');
if ($RBAC->userCanAccess( 'PM_REASSIGNCASE' ) == 1) { if ($RBAC->userCanAccess('PM_REASSIGNCASE') == 1) {
$options[] = Array ('text' => G::LoadTranslation( 'ID_REASSIGN' ),'fn' => 'getUsersToReassign'); $options[] = Array('text' => G::LoadTranslation('ID_REASSIGN'), 'fn' => 'getUsersToReassign');
} }
break; break;
case 'TO_DO': case 'TO_DO':
if (! AppDelay::isPaused( $_SESSION['APPLICATION'], $_SESSION['INDEX'] )) { if (!AppDelay::isPaused($_SESSION['APPLICATION'], $_SESSION['INDEX'])) {
$options[] = Array ('text' => G::LoadTranslation( 'ID_PAUSED_CASE' ),'fn' => 'setUnpauseCaseDate'); $options[] = Array('text' => G::LoadTranslation('ID_PAUSED_CASE'), 'fn' => 'setUnpauseCaseDate');
if ($cant == 1) { if ($cant == 1) {
if ($RBAC->userCanAccess( 'PM_CANCELCASE' ) == 1) { if ($RBAC->userCanAccess('PM_CANCELCASE') == 1) {
$options[] = Array ('text' => G::LoadTranslation( 'ID_CANCEL' ),'fn' => 'cancelCase'); $options[] = Array('text' => G::LoadTranslation('ID_CANCEL'), 'fn' => 'cancelCase');
} else { } else {
$options[] = Array ('text' => G::LoadTranslation( 'ID_CANCEL' ),'fn' => 'cancelCase','hide' => 'hiden'); $options[] = Array('text' => G::LoadTranslation('ID_CANCEL'), 'fn' => 'cancelCase', 'hide' => 'hiden');
} }
} }
} else { } else {
$options[] = Array ('text' => G::LoadTranslation( 'ID_UNPAUSE' ),'fn' => 'unpauseCase'); $options[] = Array('text' => G::LoadTranslation('ID_UNPAUSE'), 'fn' => 'unpauseCase');
} }
if ($RBAC->userCanAccess( 'PM_REASSIGNCASE' ) == 1) { if ($RBAC->userCanAccess('PM_REASSIGNCASE') == 1) {
$options[] = Array ('text' => G::LoadTranslation( 'ID_REASSIGN' ),'fn' => 'getUsersToReassign'); $options[] = Array('text' => G::LoadTranslation('ID_REASSIGN'), 'fn' => 'getUsersToReassign');
} }
break; break;
case 'CANCELLED': case 'CANCELLED':
$options[] = Array ('text' => G::LoadTranslation( 'ID_REACTIVATE' ),'fn' => 'reactivateCase'); $options[] = Array('text' => G::LoadTranslation('ID_REACTIVATE'), 'fn' => 'reactivateCase');
break; break;
} }
if ($_SESSION['TASK'] != '-1') { if ($_SESSION['TASK'] != '-1') {
$oTask = new Task(); $oTask = new Task();
$aTask = $oTask->load( $_SESSION['TASK'] ); $aTask = $oTask->load($_SESSION['TASK']);
if ($aTask['TAS_TYPE'] == 'ADHOC') { if ($aTask['TAS_TYPE'] == 'ADHOC') {
$options[] = Array ('text' => G::LoadTranslation( 'ID_ADHOC_ASSIGNMENT' ),'fn' => 'adhocAssignmentUsers'); $options[] = Array('text' => G::LoadTranslation('ID_ADHOC_ASSIGNMENT'), 'fn' => 'adhocAssignmentUsers');
} }
} }
return $options; return $options;
} }
public function processMap () public function processMap()
{ {
global $G_PUBLISH; global $G_PUBLISH;
global $G_CONTENT; global $G_CONTENT;
@@ -202,17 +201,17 @@ class Ajax
global $G_TABLE; global $G_TABLE;
global $RBAC; global $RBAC;
G::LoadClass( 'processMap' ); G::LoadClass('processMap');
$oTemplatePower = new TemplatePower( PATH_TPL . 'processes/processes_Map.html' ); $oTemplatePower = new TemplatePower(PATH_TPL . 'processes/processes_Map.html');
$oTemplatePower->prepare(); $oTemplatePower->prepare();
$G_PUBLISH = new Publisher(); $G_PUBLISH = new Publisher();
$G_PUBLISH->AddContent( 'template', '', '', '', $oTemplatePower ); $G_PUBLISH->AddContent('template', '', '', '', $oTemplatePower);
$oHeadPublisher = & headPublisher::getSingleton(); $oHeadPublisher = & headPublisher::getSingleton();
//$oHeadPublisher->addScriptfile('/jscore/processmap/core/processmap.js'); //$oHeadPublisher->addScriptfile('/jscore/processmap/core/processmap.js');
$oHeadPublisher->addScriptCode( ' $oHeadPublisher->addScriptCode('
var maximunX = ' . processMap::getMaximunTaskX( $_SESSION['PROCESS'] ) . '; var maximunX = ' . processMap::getMaximunTaskX($_SESSION['PROCESS']) . ';
window.onload = function(){ window.onload = function(){
var pb=leimnud.dom.capture("tag.body 0"); var pb=leimnud.dom.capture("tag.body 0");
Pm=new processmap(); Pm=new processmap();
@@ -290,146 +289,146 @@ class Ajax
oLeyendsPanel.addContent(rpc.xmlhttp.responseText); oLeyendsPanel.addContent(rpc.xmlhttp.responseText);
}.extend(this); }.extend(this);
oRPC.make(); oRPC.make();
}' ); }');
G::RenderPage( 'publish', 'blank' ); G::RenderPage('publish', 'blank');
} }
public function getProcessInformation () public function getProcessInformation()
{ {
$process = new Process(); $process = new Process();
$processData = $process->load( $_SESSION['PROCESS'] ); $processData = $process->load($_SESSION['PROCESS']);
require_once 'classes/model/Users.php'; require_once 'classes/model/Users.php';
$user = new Users(); $user = new Users();
try { try {
$userData = $user->load( $processData['PRO_CREATE_USER'] ); $userData = $user->load($processData['PRO_CREATE_USER']);
$processData['PRO_AUTHOR'] = $userData['USR_FIRSTNAME'] . ' ' . $userData['USR_LASTNAME']; $processData['PRO_AUTHOR'] = $userData['USR_FIRSTNAME'] . ' ' . $userData['USR_LASTNAME'];
} catch (Exception $oError) { } catch (Exception $oError) {
$processData['PRO_AUTHOR'] = '(USER DELETED)'; $processData['PRO_AUTHOR'] = '(USER DELETED)';
} }
$processData['PRO_CREATE_DATE'] = date( 'F j, Y', strtotime( $processData['PRO_CREATE_DATE'] ) ); $processData['PRO_CREATE_DATE'] = date('F j, Y', strtotime($processData['PRO_CREATE_DATE']));
print (G::json_encode( $processData )) ; print (G::json_encode($processData));
} }
public function getTaskInformation () public function getTaskInformation()
{ {
$task = new Task(); $task = new Task();
if ($_SESSION['TASK'] == '-1') { if ($_SESSION['TASK'] == '-1') {
$_SESSION['TASK'] = $_SESSION['CURRENT_TASK']; $_SESSION['TASK'] = $_SESSION['CURRENT_TASK'];
} }
$taskData = $task->getDelegatedTaskData( $_SESSION['TASK'], $_SESSION['APPLICATION'], $_SESSION['INDEX'] ); $taskData = $task->getDelegatedTaskData($_SESSION['TASK'], $_SESSION['APPLICATION'], $_SESSION['INDEX']);
print (G::json_encode( $taskData )) ; print (G::json_encode($taskData));
} }
public function caseHistory () public function caseHistory()
{ {
global $G_PUBLISH; global $G_PUBLISH;
G::loadClass( 'configuration' ); G::loadClass('configuration');
$oHeadPublisher = & headPublisher::getSingleton(); $oHeadPublisher = & headPublisher::getSingleton();
$conf = new Configurations(); $conf = new Configurations();
$oHeadPublisher->addExtJsScript( 'cases/caseHistory', true ); //adding a javascript file .js $oHeadPublisher->addExtJsScript('cases/caseHistory', true); //adding a javascript file .js
$oHeadPublisher->addContent( 'cases/caseHistory' ); //adding a html file .html. $oHeadPublisher->addContent('cases/caseHistory'); //adding a html file .html.
$oHeadPublisher->assign( 'pageSize', $conf->getEnvSetting( 'casesListRowNumber' ) ); $oHeadPublisher->assign('pageSize', $conf->getEnvSetting('casesListRowNumber'));
G::RenderPage( 'publish', 'extJs' ); G::RenderPage('publish', 'extJs');
} }
public function messageHistory () public function messageHistory()
{ {
global $G_PUBLISH; global $G_PUBLISH;
G::loadClass( 'configuration' ); G::loadClass('configuration');
$oHeadPublisher = & headPublisher::getSingleton(); $oHeadPublisher = & headPublisher::getSingleton();
$conf = new Configurations(); $conf = new Configurations();
$oHeadPublisher->addExtJsScript( 'cases/caseMessageHistory', true ); //adding a javascript file .js $oHeadPublisher->addExtJsScript('cases/caseMessageHistory', true); //adding a javascript file .js
$oHeadPublisher->addContent( 'cases/caseMessageHistory' ); //adding a html file .html. $oHeadPublisher->addContent('cases/caseMessageHistory'); //adding a html file .html.
$oHeadPublisher->assign( 'pageSize', $conf->getEnvSetting( 'casesListRowNumber' ) ); $oHeadPublisher->assign('pageSize', $conf->getEnvSetting('casesListRowNumber'));
G::RenderPage( 'publish', 'extJs' ); G::RenderPage('publish', 'extJs');
} }
public function dynaformHistory () public function dynaformHistory()
{ {
global $G_PUBLISH; global $G_PUBLISH;
G::loadClass( 'configuration' ); G::loadClass('configuration');
$oHeadPublisher = & headPublisher::getSingleton(); $oHeadPublisher = & headPublisher::getSingleton();
$conf = new Configurations(); $conf = new Configurations();
$oHeadPublisher->addExtJsScript( 'cases/caseHistoryDynaformPage', true ); //adding a javascript file .js $oHeadPublisher->addExtJsScript('cases/caseHistoryDynaformPage', true); //adding a javascript file .js
$oHeadPublisher->addContent( 'cases/caseHistoryDynaformPage' ); //adding a html file .html. $oHeadPublisher->addContent('cases/caseHistoryDynaformPage'); //adding a html file .html.
$oHeadPublisher->assign( 'pageSize', $conf->getEnvSetting( 'casesListRowNumber' ) ); $oHeadPublisher->assign('pageSize', $conf->getEnvSetting('casesListRowNumber'));
G::RenderPage( 'publish', 'extJs' ); G::RenderPage('publish', 'extJs');
} }
public function uploadedDocuments () public function uploadedDocuments()
{ {
global $G_PUBLISH; global $G_PUBLISH;
G::loadClass( 'configuration' ); G::loadClass('configuration');
$oHeadPublisher = & headPublisher::getSingleton(); $oHeadPublisher = & headPublisher::getSingleton();
$conf = new Configurations(); $conf = new Configurations();
$oHeadPublisher->addExtJsScript( 'cases/casesUploadedDocumentsPage', true ); //adding a javascript file .js $oHeadPublisher->addExtJsScript('cases/casesUploadedDocumentsPage', true); //adding a javascript file .js
$oHeadPublisher->addContent( 'cases/casesUploadedDocumentsPage' ); //adding a html file .html. $oHeadPublisher->addContent('cases/casesUploadedDocumentsPage'); //adding a html file .html.
$oHeadPublisher->assign( 'pageSize', $conf->getEnvSetting( 'casesListRowNumber' ) ); $oHeadPublisher->assign('pageSize', $conf->getEnvSetting('casesListRowNumber'));
G::RenderPage( 'publish', 'extJs' ); G::RenderPage('publish', 'extJs');
} }
public function uploadedDocumentsSummary () public function uploadedDocumentsSummary()
{ {
global $G_PUBLISH; global $G_PUBLISH;
G::loadClass( 'configuration' ); G::loadClass('configuration');
$oHeadPublisher = & headPublisher::getSingleton(); $oHeadPublisher = & headPublisher::getSingleton();
$conf = new Configurations(); $conf = new Configurations();
$oHeadPublisher->addExtJsScript( 'cases/casesUploadedDocumentsPage', true ); //adding a javascript file .js $oHeadPublisher->addExtJsScript('cases/casesUploadedDocumentsPage', true); //adding a javascript file .js
$oHeadPublisher->addContent( 'cases/casesUploadedDocumentsPage' ); //adding a html file .html. $oHeadPublisher->addContent('cases/casesUploadedDocumentsPage'); //adding a html file .html.
$oHeadPublisher->assign( 'pageSize', $conf->getEnvSetting( 'casesListRowNumber' ) ); $oHeadPublisher->assign('pageSize', $conf->getEnvSetting('casesListRowNumber'));
G::RenderPage( 'publish', 'extJs' ); G::RenderPage('publish', 'extJs');
} }
public function generatedDocuments () public function generatedDocuments()
{ {
global $G_PUBLISH; global $G_PUBLISH;
G::loadClass( 'configuration' ); G::loadClass('configuration');
$oHeadPublisher = & headPublisher::getSingleton(); $oHeadPublisher = & headPublisher::getSingleton();
$conf = new Configurations(); $conf = new Configurations();
$oHeadPublisher->addExtJsScript( 'cases/casesGenerateDocumentPage', true ); //adding a javascript file .js $oHeadPublisher->addExtJsScript('cases/casesGenerateDocumentPage', true); //adding a javascript file .js
$oHeadPublisher->addContent( 'cases/casesGenerateDocumentPage' ); //adding a html file .html. $oHeadPublisher->addContent('cases/casesGenerateDocumentPage'); //adding a html file .html.
$oHeadPublisher->assign( 'pageSize', $conf->getEnvSetting( 'casesListRowNumber' ) ); $oHeadPublisher->assign('pageSize', $conf->getEnvSetting('casesListRowNumber'));
G::RenderPage( 'publish', 'extJs' ); G::RenderPage('publish', 'extJs');
} }
public function generatedDocumentsSummary () public function generatedDocumentsSummary()
{ {
global $G_PUBLISH; global $G_PUBLISH;
G::loadClass( 'configuration' ); G::loadClass('configuration');
$oHeadPublisher = & headPublisher::getSingleton(); $oHeadPublisher = & headPublisher::getSingleton();
$conf = new Configurations(); $conf = new Configurations();
$oHeadPublisher->addExtJsScript( 'cases/casesGenerateDocumentPage', true ); //adding a javascript file .js $oHeadPublisher->addExtJsScript('cases/casesGenerateDocumentPage', true); //adding a javascript file .js
$oHeadPublisher->addContent( 'cases/casesGenerateDocumentPage' ); //adding a html file .html. $oHeadPublisher->addContent('cases/casesGenerateDocumentPage'); //adding a html file .html.
$oHeadPublisher->assign( 'pageSize', $conf->getEnvSetting( 'casesListRowNumber' ) ); $oHeadPublisher->assign('pageSize', $conf->getEnvSetting('casesListRowNumber'));
G::RenderPage( 'publish', 'extJs' ); G::RenderPage('publish', 'extJs');
} }
public function cancelCase () public function cancelCase()
{ {
$oCase = new Cases(); $oCase = new Cases();
$multiple = false; $multiple = false;
if (isset( $_POST['APP_UID'] ) && isset( $_POST['DEL_INDEX'] )) { if (isset($_POST['APP_UID']) && isset($_POST['DEL_INDEX'])) {
$APP_UID = $_POST['APP_UID']; $APP_UID = $_POST['APP_UID'];
$DEL_INDEX = $_POST['DEL_INDEX']; $DEL_INDEX = $_POST['DEL_INDEX'];
$appUids = explode( ',', $APP_UID ); $appUids = explode(',', $APP_UID);
$delIndexes = explode( ',', $DEL_INDEX ); $delIndexes = explode(',', $DEL_INDEX);
if (count( $appUids ) > 1 && count( $delIndexes ) > 1) { if (count($appUids) > 1 && count($delIndexes) > 1) {
$multiple = true; $multiple = true;
} }
} elseif (isset( $_POST['sApplicationUID'] ) && isset( $_POST['iIndex'] )) { } elseif (isset($_POST['sApplicationUID']) && isset($_POST['iIndex'])) {
$APP_UID = $_POST['sApplicationUID']; $APP_UID = $_POST['sApplicationUID'];
$DEL_INDEX = $_POST['iIndex']; $DEL_INDEX = $_POST['iIndex'];
} else { } else {
@@ -441,31 +440,30 @@ class Ajax
if ($_POST['NOTE_REASON'] != '') { if ($_POST['NOTE_REASON'] != '') {
require_once ("classes/model/AppNotes.php"); require_once ("classes/model/AppNotes.php");
$appNotes = new AppNotes(); $appNotes = new AppNotes();
$noteContent = addslashes( $_POST['NOTE_REASON'] ); $noteContent = addslashes($_POST['NOTE_REASON']);
$appNotes->postNewNote( $APP_UID, $_SESSION['USER_LOGGED'], $noteContent, $_POST['NOTIFY_PAUSE'] ); $appNotes->postNewNote($APP_UID, $_SESSION['USER_LOGGED'], $noteContent, $_POST['NOTIFY_PAUSE']);
} }
// End save // End save
if ($multiple) { if ($multiple) {
foreach ($appUids as $i => $appUid) { foreach ($appUids as $i => $appUid) {
$oCase->cancelCase( $appUid, $delIndexes[$i], $_SESSION['USER_LOGGED'] ); $oCase->cancelCase($appUid, $delIndexes[$i], $_SESSION['USER_LOGGED']);
} }
} else { } else {
$oCase->cancelCase( $APP_UID, $DEL_INDEX, $_SESSION['USER_LOGGED'] ); $oCase->cancelCase($APP_UID, $DEL_INDEX, $_SESSION['USER_LOGGED']);
} }
} }
public function getUsersToReassign () public function getUsersToReassign()
{ {
$case = new Cases(); $case = new Cases();
$result->data = $case->getUsersToReassign( $_SESSION['TASK'], $_SESSION['USER_LOGGED'] ); $result->data = $case->getUsersToReassign($_SESSION['TASK'], $_SESSION['USER_LOGGED']);
print G::json_encode( $result );
print G::json_encode($result);
} }
public function reassignCase () public function reassignCase()
{ {
$cases = new Cases(); $cases = new Cases();
$user = new Users(); $user = new Users();
@@ -473,31 +471,31 @@ class Ajax
$TO_USR_UID = $_POST['USR_UID']; $TO_USR_UID = $_POST['USR_UID'];
try { try {
$cases->reassignCase( $_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['USER_LOGGED'], $TO_USR_UID ); $cases->reassignCase($_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['USER_LOGGED'], $TO_USR_UID);
$caseData = $app->load( $_SESSION['APPLICATION'] ); $caseData = $app->load($_SESSION['APPLICATION']);
$userData = $user->load( $TO_USR_UID ); $userData = $user->load($TO_USR_UID);
//print_r($caseData); //print_r($caseData);
$data['APP_NUMBER'] = $caseData['APP_NUMBER']; $data['APP_NUMBER'] = $caseData['APP_NUMBER'];
$data['USER'] = $userData['USR_LASTNAME'] . ' ' . $userData['USR_FIRSTNAME']; //TODO change with the farmated username from environment conf $data['USER'] = $userData['USR_LASTNAME'] . ' ' . $userData['USR_FIRSTNAME']; //TODO change with the farmated username from environment conf
$result->status = 0; $result->status = 0;
$result->msg = G::LoadTranslation( 'ID_REASSIGNMENT_SUCCESS', SYS_LANG, $data ); $result->msg = G::LoadTranslation('ID_REASSIGNMENT_SUCCESS', SYS_LANG, $data);
} catch (Exception $e) { } catch (Exception $e) {
$result->status = 1; $result->status = 1;
$result->msg = $e->getMessage(); $result->msg = $e->getMessage();
} }
print G::json_encode( $result ); print G::json_encode($result);
} }
public function pauseCase () public function pauseCase()
{ {
try { try {
$unpauseDate = $_REQUEST['unpauseDate']; $unpauseDate = $_REQUEST['unpauseDate'];
$oCase = new Cases(); $oCase = new Cases();
if (isset( $_POST['APP_UID'] ) && isset( $_POST['DEL_INDEX'] )) { if (isset($_POST['APP_UID']) && isset($_POST['DEL_INDEX'])) {
$APP_UID = $_POST['APP_UID']; $APP_UID = $_POST['APP_UID'];
$DEL_INDEX = $_POST['DEL_INDEX']; $DEL_INDEX = $_POST['DEL_INDEX'];
} elseif (isset( $_POST['sApplicationUID'] ) && isset( $_POST['iIndex'] )) { } elseif (isset($_POST['sApplicationUID']) && isset($_POST['iIndex'])) {
$APP_UID = $_POST['sApplicationUID']; $APP_UID = $_POST['sApplicationUID'];
$DEL_INDEX = $_POST['iIndex']; $DEL_INDEX = $_POST['iIndex'];
} else { } else {
@@ -509,92 +507,92 @@ class Ajax
if ($_REQUEST['NOTE_REASON'] != '') { if ($_REQUEST['NOTE_REASON'] != '') {
require_once ("classes/model/AppNotes.php"); require_once ("classes/model/AppNotes.php");
$appNotes = new AppNotes(); $appNotes = new AppNotes();
$noteContent = addslashes( $_REQUEST['NOTE_REASON'] ); $noteContent = addslashes($_REQUEST['NOTE_REASON']);
$appNotes->postNewNote( $APP_UID, $_SESSION['USER_LOGGED'], $noteContent, $_REQUEST['NOTIFY_PAUSE'] ); $appNotes->postNewNote($APP_UID, $_SESSION['USER_LOGGED'], $noteContent, $_REQUEST['NOTIFY_PAUSE']);
} }
// End save // End save
$oCase->pauseCase( $APP_UID, $DEL_INDEX, $_SESSION['USER_LOGGED'], $unpauseDate ); $oCase->pauseCase($APP_UID, $DEL_INDEX, $_SESSION['USER_LOGGED'], $unpauseDate);
$app = new Application(); $app = new Application();
$caseData = $app->load( $APP_UID ); $caseData = $app->load($APP_UID);
$data['APP_NUMBER'] = $caseData['APP_NUMBER']; $data['APP_NUMBER'] = $caseData['APP_NUMBER'];
$data['UNPAUSE_DATE'] = $unpauseDate; $data['UNPAUSE_DATE'] = $unpauseDate;
$result->success = true; $result->success = true;
$result->msg = G::LoadTranslation( 'ID_CASE_PAUSED_SUCCESSFULLY', SYS_LANG, $data ); $result->msg = G::LoadTranslation('ID_CASE_PAUSED_SUCCESSFULLY', SYS_LANG, $data);
} catch (Exception $e) { } catch (Exception $e) {
$result->success = false; $result->success = false;
$result->msg = $e->getMessage(); $result->msg = $e->getMessage();
} }
echo G::json_encode( $result ); echo G::json_encode($result);
} }
public function unpauseCase () public function unpauseCase()
{ {
try { try {
$applicationUID = (isset( $_POST['APP_UID'] )) ? $_POST['APP_UID'] : $_SESSION['APPLICATION']; $applicationUID = (isset($_POST['APP_UID'])) ? $_POST['APP_UID'] : $_SESSION['APPLICATION'];
$delIndex = (isset( $_POST['DEL_INDEX'] )) ? $_POST['DEL_INDEX'] : $_SESSION['INDEX']; $delIndex = (isset($_POST['DEL_INDEX'])) ? $_POST['DEL_INDEX'] : $_SESSION['INDEX'];
$oCase = new Cases(); $oCase = new Cases();
$oCase->unpauseCase( $applicationUID, $delIndex, $_SESSION['USER_LOGGED'] ); $oCase->unpauseCase($applicationUID, $delIndex, $_SESSION['USER_LOGGED']);
$app = new Application(); $app = new Application();
$caseData = $app->load( $applicationUID ); $caseData = $app->load($applicationUID);
$data['APP_NUMBER'] = $caseData['APP_NUMBER']; $data['APP_NUMBER'] = $caseData['APP_NUMBER'];
$result->success = true; $result->success = true;
$result->msg = G::LoadTranslation( 'ID_CASE_UNPAUSED_SUCCESSFULLY', SYS_LANG, $data ); $result->msg = G::LoadTranslation('ID_CASE_UNPAUSED_SUCCESSFULLY', SYS_LANG, $data);
} catch (Exception $e) { } catch (Exception $e) {
$result->success = false; $result->success = false;
$result->msg = $e->getMessage(); $result->msg = $e->getMessage();
} }
print G::json_encode( $result ); print G::json_encode($result);
} }
public function deleteCase () public function deleteCase()
{ {
try { try {
$applicationUID = (isset( $_POST['APP_UID'] )) ? $_POST['APP_UID'] : $_SESSION['APPLICATION']; $applicationUID = (isset($_POST['APP_UID'])) ? $_POST['APP_UID'] : $_SESSION['APPLICATION'];
$app = new Application(); $app = new Application();
$caseData = $app->load( $applicationUID ); $caseData = $app->load($applicationUID);
$data['APP_NUMBER'] = $caseData['APP_NUMBER']; $data['APP_NUMBER'] = $caseData['APP_NUMBER'];
$oCase = new Cases(); $oCase = new Cases();
$oCase->removeCase( $applicationUID ); $oCase->removeCase($applicationUID);
$result->success = true; $result->success = true;
$result->msg = G::LoadTranslation( 'ID_CASE_DELETED_SUCCESSFULLY', SYS_LANG, $data ); $result->msg = G::LoadTranslation('ID_CASE_DELETED_SUCCESSFULLY', SYS_LANG, $data);
} catch (Exception $e) { } catch (Exception $e) {
$result->success = false; $result->success = false;
$result->msg = $e->getMessage(); $result->msg = $e->getMessage();
} }
print G::json_encode( $result ); print G::json_encode($result);
} }
public function reactivateCase () public function reactivateCase()
{ {
try { try {
$applicationUID = (isset( $_POST['APP_UID'] )) ? $_POST['APP_UID'] : $_SESSION['APPLICATION']; $applicationUID = (isset($_POST['APP_UID'])) ? $_POST['APP_UID'] : $_SESSION['APPLICATION'];
$delIndex = (isset( $_POST['DEL_INDEX'] )) ? $_POST['DEL_INDEX'] : $_SESSION['INDEX']; $delIndex = (isset($_POST['DEL_INDEX'])) ? $_POST['DEL_INDEX'] : $_SESSION['INDEX'];
$app = new Application(); $app = new Application();
$caseData = $app->load( $applicationUID ); $caseData = $app->load($applicationUID);
$data['APP_NUMBER'] = $caseData['APP_NUMBER']; $data['APP_NUMBER'] = $caseData['APP_NUMBER'];
$oCase = new Cases(); $oCase = new Cases();
$oCase->reactivateCase( $applicationUID, $delIndex, $_SESSION['USER_LOGGED'] ); $oCase->reactivateCase($applicationUID, $delIndex, $_SESSION['USER_LOGGED']);
$result->success = true; $result->success = true;
$result->msg = G::LoadTranslation( 'ID_CASE_REACTIVATED_SUCCESSFULLY', SYS_LANG, $data ); $result->msg = G::LoadTranslation('ID_CASE_REACTIVATED_SUCCESSFULLY', SYS_LANG, $data);
} catch (Exception $e) { } catch (Exception $e) {
$result->success = false; $result->success = false;
$result->msg = $e->getMessage(); $result->msg = $e->getMessage();
} }
print G::json_encode( $result ); print G::json_encode($result);
} }
public function changeLogTab () public function changeLogTab()
{ {
try { try {
global $G_PUBLISH; global $G_PUBLISH;
@@ -603,169 +601,168 @@ class Ajax
//!dataInput //!dataInput
$idHistory = $_REQUEST["idHistory"]; $idHistory = $_REQUEST["idHistory"];
//!dataInput //!dataInput
//!dataSytem //!dataSytem
$idHistoryArray = explode( "_", $idHistory ); $idHistoryArray = explode("_", $idHistory);
$_REQUEST["PRO_UID"] = $idHistoryArray[0]; $_REQUEST["PRO_UID"] = $idHistoryArray[0];
$_REQUEST["APP_UID"] = $idHistoryArray[1]; $_REQUEST["APP_UID"] = $idHistoryArray[1];
$_REQUEST["TAS_UID"] = $idHistoryArray[2]; $_REQUEST["TAS_UID"] = $idHistoryArray[2];
$_REQUEST["DYN_UID"] = ""; $_REQUEST["DYN_UID"] = "";
$G_PUBLISH = new Publisher(); $G_PUBLISH = new Publisher();
$G_PUBLISH->AddContent( 'view', 'cases/cases_DynaformHistory' ); $G_PUBLISH->AddContent('view', 'cases/cases_DynaformHistory');
?> ?>
<link rel="stylesheet" type="text/css" href="/css/classic.css" /> <link rel="stylesheet" type="text/css" href="/css/classic.css" />
<style type="text/css"> <style type="text/css">
html { html {
color: black !important; color: black !important;
} }
body { body {
color: black !important; color: black !important;
} }
</style> </style>
<script language="javascript"> <script language="javascript">
function ajaxPostRequest(url, callback_function, id){ function ajaxPostRequest(url, callback_function, id) {
var d = new Date(); var d = new Date();
var time = d.getTime(); var time = d.getTime();
url = url + '&nocachetime='+time; url = url + '&nocachetime=' + time;
var return_xml=false; var return_xml = false;
var http_request = false; var http_request = false;
if (window.XMLHttpRequest) { if (window.XMLHttpRequest) {
// Mozilla, Safari,... // Mozilla, Safari,...
http_request = new XMLHttpRequest(); http_request = new XMLHttpRequest();
if (http_request.overrideMimeType){ if (http_request.overrideMimeType) {
http_request.overrideMimeType('text/xml'); http_request.overrideMimeType('text/xml');
} }
} }
elseif (window.ActiveXObject) { elseif (window.ActiveXObject) {
// IE // IE
try { try {
http_request = new ActiveXObject("Msxml2.XMLHTTP"); http_request = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {
}
}
}
if (!http_request) {
alert('This browser is not supported.');
return false;
}
http_request.onreadystatechange = function() {
if (http_request.readyState == 4) {
if (http_request.status == 200) {
if (return_xml) {
eval(callback_function + '(http_request.responseXML)');
}
else {
eval(callback_function + '(http_request.responseText, \'' + id + '\')');
}
}
else {
alert('Error found on request:(Code: ' + http_request.status + ')');
}
}
}
http_request.open('GET', url, true);
http_request.send(null);
} }
catch (e) {
try { function toggleTable(tablename) {
http_request = new ActiveXObject("Microsoft.XMLHTTP"); table = document.getElementById(tablename);
}
catch (e) { if (table.style.display == '') {
} table.style.display = 'none';
} else {
table.style.display = '';
}
} }
}
if (!http_request){ function noesFuncion(idIframe) {
alert('This browser is not supported.'); window.parent.tabIframeWidthFix2(idIframe);
return false;
}
http_request.onreadystatechange = function(){
if (http_request.readyState == 4){
if (http_request.status == 200){
if (return_xml){
eval(callback_function + '(http_request.responseXML)');
}
else{
eval(callback_function + '(http_request.responseText, \''+id+'\')');
}
} }
else {
alert('Error found on request:(Code: ' + http_request.status + ')'); function onResizeIframe(idIframe) {
window.onresize = noesFuncion(idIframe);
} }
}
}
http_request.open('GET', url, true);
http_request.send(null);
}
function toggleTable(tablename) { function showDynaformHistoryGetNomDynaform_RSP(response, id) {
table= document.getElementById(tablename); //!showDynaformHistoryGlobal
showDynaformHistoryGlobal.idDin = showDynaformHistoryGlobal.idDin;
showDynaformHistoryGlobal.idHistory = showDynaformHistoryGlobal.idHistory;
showDynaformHistoryGlobal.dynDate = showDynaformHistoryGlobal.dynDate;
if(table.style.display == ''){ //!dataSystem
table.style.display = 'none'; var idDin = showDynaformHistoryGlobal.idDin;
}else{ var idHistory = showDynaformHistoryGlobal.idHistory;
table.style.display = ''; var dynDate = showDynaformHistoryGlobal.dynDate;
}
}
function noesFuncion(idIframe) { //!windowParent
window.parent.tabIframeWidthFix2(idIframe); window.parent.historyGridListChangeLogGlobal.viewIdDin = idDin;
} window.parent.historyGridListChangeLogGlobal.viewIdHistory = idHistory;
window.parent.historyGridListChangeLogGlobal.viewDynaformName = response;
window.parent.historyGridListChangeLogGlobal.dynDate = dynDate;
function onResizeIframe(idIframe){ window.parent.Actions.tabFrame('dynaformViewFromHistory');
window.onresize = noesFuncion(idIframe); }
}
function showDynaformHistoryGetNomDynaform_RSP(response,id) { showDynaformHistoryGlobal = {};
//!showDynaformHistoryGlobal showDynaformHistoryGlobal.idDin = "";
showDynaformHistoryGlobal.idDin = showDynaformHistoryGlobal.idDin; showDynaformHistoryGlobal.idHistory = "";
showDynaformHistoryGlobal.idHistory = showDynaformHistoryGlobal.idHistory; showDynaformHistoryGlobal.dynDate = "";
showDynaformHistoryGlobal.dynDate = showDynaformHistoryGlobal.dynDate;
//!dataSystem function showDynaformHistory(idDin, idHistory, dynDate) {
var idDin = showDynaformHistoryGlobal.idDin; //!showDynaformHistoryGlobal
var idHistory = showDynaformHistoryGlobal.idHistory; showDynaformHistoryGlobal.idDin = showDynaformHistoryGlobal.idDin;
var dynDate = showDynaformHistoryGlobal.dynDate; showDynaformHistoryGlobal.idHistory = showDynaformHistoryGlobal.idHistory;
showDynaformHistoryGlobal.dynDate = showDynaformHistoryGlobal.dynDate;
//!windowParent //!dataSystem
window.parent.historyGridListChangeLogGlobal.viewIdDin = idDin; showDynaformHistoryGlobal.idDin = idDin;
window.parent.historyGridListChangeLogGlobal.viewIdHistory = idHistory; showDynaformHistoryGlobal.idHistory = idHistory;
window.parent.historyGridListChangeLogGlobal.viewDynaformName = response; showDynaformHistoryGlobal.dynDate = dynDate;
window.parent.historyGridListChangeLogGlobal.dynDate = dynDate;
window.parent.Actions.tabFrame('dynaformViewFromHistory'); var url = "caseHistory_Ajax.php?actionAjax=showDynaformHistoryGetNomDynaform_JXP&idDin=" + idDin + "&dynDate=" + dynDate;
} ajaxPostRequest(url, 'showDynaformHistoryGetNomDynaform_RSP');
}
showDynaformHistoryGlobal = {};
showDynaformHistoryGlobal.idDin = "";
showDynaformHistoryGlobal.idHistory = "";
showDynaformHistoryGlobal.dynDate = "";
function showDynaformHistory(idDin, idHistory, dynDate) {
//!showDynaformHistoryGlobal
showDynaformHistoryGlobal.idDin = showDynaformHistoryGlobal.idDin;
showDynaformHistoryGlobal.idHistory = showDynaformHistoryGlobal.idHistory;
showDynaformHistoryGlobal.dynDate = showDynaformHistoryGlobal.dynDate;
//!dataSystem
showDynaformHistoryGlobal.idDin = idDin;
showDynaformHistoryGlobal.idHistory = idHistory;
showDynaformHistoryGlobal.dynDate = dynDate;
var url = "caseHistory_Ajax.php?actionAjax=showDynaformHistoryGetNomDynaform_JXP&idDin="+idDin+"&dynDate="+dynDate;ajaxPostRequest(url, 'showDynaformHistoryGetNomDynaform_RSP');
}
</script> </script>
<?php <?php
G::RenderPage('publish', 'raw');
G::RenderPage( 'publish', 'raw' );
$result->success = true; $result->success = true;
$result->msg = G::LoadTranslation( 'ID_CASE_REACTIVATED_SUCCESSFULLY', SYS_LANG, "success" ); $result->msg = G::LoadTranslation('ID_CASE_REACTIVATED_SUCCESSFULLY', SYS_LANG, "success");
} catch (Exception $e) { } catch (Exception $e) {
$result->success = false; $result->success = false;
$result->msg = $e->getMessage(); $result->msg = $e->getMessage();
} }
} }
public function dynaformViewFromHistory () public function dynaformViewFromHistory()
{ {
?> ?>
<link rel="stylesheet" type="text/css" href="/css/classic.css" /> <link rel="stylesheet" type="text/css" href="/css/classic.css" />
<script type="text/javascript"> <script type="text/javascript">
//!Code that simulated reload library javascript maborak //!Code that simulated reload library javascript maborak
var leimnud = {}; var leimnud = {};
leimnud.exec = ""; leimnud.exec = "";
leimnud.fix = {}; leimnud.fix = {};
leimnud.fix.memoryLeak = ""; leimnud.fix.memoryLeak = "";
leimnud.browser = {}; leimnud.browser = {};
leimnud.browser.isIphone = ""; leimnud.browser.isIphone = "";
leimnud.iphone = {}; leimnud.iphone = {};
leimnud.iphone.make = function () {}; leimnud.iphone.make = function() {
function ajax_function(ajax_server, funcion, parameters, method) };
{ function ajax_function(ajax_server, funcion, parameters, method)
} {
//! }
//!
</script> </script>
<?php <?php
@@ -775,37 +772,37 @@ class Ajax
$_POST["DYN_UID"] = $_REQUEST["DYN_UID"]; $_POST["DYN_UID"] = $_REQUEST["DYN_UID"];
$G_PUBLISH = new Publisher(); $G_PUBLISH = new Publisher();
$FieldsHistory = unserialize( $_SESSION["HISTORY_DATA"] ); $FieldsHistory = unserialize($_SESSION["HISTORY_DATA"]);
$Fields["APP_DATA"] = $FieldsHistory[$_POST["HISTORY_ID"]]; //isset($FieldsHistory[$_POST["HISTORY_ID"]])? $FieldsHistory[$_POST["HISTORY_ID"]] : ""; $Fields["APP_DATA"] = $FieldsHistory[$_POST["HISTORY_ID"]]; //isset($FieldsHistory[$_POST["HISTORY_ID"]])? $FieldsHistory[$_POST["HISTORY_ID"]] : "";
$Fields["APP_DATA"]["__DYNAFORM_OPTIONS"]["PREVIOUS_STEP_LABEL"] = ""; $Fields["APP_DATA"]["__DYNAFORM_OPTIONS"]["PREVIOUS_STEP_LABEL"] = "";
$Fields["APP_DATA"]["__DYNAFORM_OPTIONS"]["NEXT_STEP_LABEL"] = ""; $Fields["APP_DATA"]["__DYNAFORM_OPTIONS"]["NEXT_STEP_LABEL"] = "";
$Fields["APP_DATA"]["__DYNAFORM_OPTIONS"]["NEXT_STEP"] = "#"; $Fields["APP_DATA"]["__DYNAFORM_OPTIONS"]["NEXT_STEP"] = "#";
$Fields["APP_DATA"]["__DYNAFORM_OPTIONS"]["NEXT_ACTION"] = "return false;"; $Fields["APP_DATA"]["__DYNAFORM_OPTIONS"]["NEXT_ACTION"] = "return false;";
$G_PUBLISH->AddContent( "dynaform", "xmlform", $_SESSION["PROCESS"] . "/" . $_POST["DYN_UID"], "", $Fields["APP_DATA"], "", "", "view" ); $G_PUBLISH->AddContent("dynaform", "xmlform", $_SESSION["PROCESS"] . "/" . $_POST["DYN_UID"], "", $Fields["APP_DATA"], "", "", "view");
?> ?>
<script type="text/javascript"> <script type="text/javascript">
<?php <?php
global $G_FORM; global $G_FORM;
?> ?>
function loadForm_<?php echo $G_FORM->id; ?>(parametro1) { function loadForm_<?php echo $G_FORM->id; ?>(parametro1) {
} }
</script> </script>
<?php <?php
G::RenderPage( "publish", "raw" ); G::RenderPage("publish", "raw");
?> ?>
<style type="text/css"> <style type="text/css">
html { html {
color: black !important; color: black !important;
} }
body { body {
color: black !important; color: black !important;
} }
</style> </style>
<script type="text/javascript"> <script type="text/javascript">
@@ -814,15 +811,15 @@ class Ajax
global $G_FORM; global $G_FORM;
?> ?>
function loadForm_<?php echo $G_FORM->id; ?>(parametro1) { function loadForm_<?php echo $G_FORM->id; ?>(parametro1) {
} }
</script> </script>
<?php <?php
} }
} }
$pluginRegistry =& PMPluginRegistry::getSingleton(); $pluginRegistry = & PMPluginRegistry::getSingleton();
if ($pluginRegistry->existsTrigger(PM_GET_CASES_AJAX_LISTENER)) { if ($pluginRegistry->existsTrigger(PM_GET_CASES_AJAX_LISTENER)) {
$ajax = $pluginRegistry->executeTriggers(PM_GET_CASES_AJAX_LISTENER, null); $ajax = $pluginRegistry->executeTriggers(PM_GET_CASES_AJAX_LISTENER, null);
} else { } else {
@@ -833,10 +830,11 @@ if (!($ajax instanceof Ajax)) {
$ajax = new Ajax(); $ajax = new Ajax();
} }
G::LoadClass( 'case' ); G::LoadClass('case');
$action = $_REQUEST['action']; $action = $_REQUEST['action'];
unset( $_REQUEST['action'] ); unset($_REQUEST['action']);
$ajax->$action($_REQUEST);
$ajax->$action( $_REQUEST );

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* processes/ajaxListener.php Ajax Listener for Cases rpc requests * processes/ajaxListener.php Ajax Listener for Cases rpc requests
* *
@@ -21,67 +22,64 @@
* For more information, contact Colosa Inc, 2566 Le Jeune Rd., * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com. * Coral Gables, FL, 33134, USA, or email info@colosa.com.
*/ */
/** /**
* *
* @author Erik Amaru Ortiz <erik@colosa.com> * @author Erik Amaru Ortiz <erik@colosa.com>
* @date Jan 10th, 2010 * @date Jan 10th, 2010
*/ */
$action = $_REQUEST['action']; $action = $_REQUEST['action'];
unset( $_REQUEST['action'] ); unset($_REQUEST['action']);
$ajax = new Ajax(); $ajax = new Ajax();
$ajax->$action( $_REQUEST ); $ajax->$action($_REQUEST);
class Ajax class Ajax
{ {
function categoriesList () public function categoriesList()
{ {
require_once "classes/model/ProcessCategory.php"; require_once "classes/model/ProcessCategory.php";
$processCategory = new ProcessCategory(); $processCategory = new ProcessCategory();
$defaultOption = Array (); $defaultOption = Array();
$defaultOption[] = Array ('CATEGORY_UID' => '<reset>','CATEGORY_NAME' => G::LoadTranslation( 'ID_ALL' ) $defaultOption[] = Array('CATEGORY_UID' => '<reset>', 'CATEGORY_NAME' => G::LoadTranslation('ID_ALL'));
); $defaultOption[] = Array('CATEGORY_UID' => '', 'CATEGORY_NAME' => G::LoadTranslation('ID_PROCESS_NO_CATEGORY'));
$defaultOption[] = Array ('CATEGORY_UID' => '','CATEGORY_NAME' => G::LoadTranslation( 'ID_PROCESS_NO_CATEGORY' )
);
$response->rows = array_merge( $defaultOption, $processCategory->getAll( 'array' ) ); $response->rows = array_merge($defaultOption, $processCategory->getAll('array'));
echo G::json_encode( $response ); echo G::json_encode($response);
} }
function processCategories () public function processCategories()
{ {
require_once "classes/model/ProcessCategory.php"; require_once "classes/model/ProcessCategory.php";
$processCategory = new ProcessCategory(); $processCategory = new ProcessCategory();
$defaultOption = Array (); $defaultOption = Array();
$defaultOption[] = Array ('CATEGORY_UID' => '','CATEGORY_NAME' => G::LoadTranslation( 'ID_PROCESS_NO_CATEGORY' ) $defaultOption[] = Array('CATEGORY_UID' => '', 'CATEGORY_NAME' => G::LoadTranslation('ID_PROCESS_NO_CATEGORY'));
);
$response->rows = array_merge( $defaultOption, $processCategory->getAll( 'array' ) ); $response->rows = array_merge($defaultOption, $processCategory->getAll('array'));
echo G::json_encode( $response ); echo G::json_encode($response);
} }
function saveProcess () public function saveProcess()
{ {
try { try {
require_once 'classes/model/Task.php'; require_once 'classes/model/Task.php';
G::LoadClass( 'processMap' ); G::LoadClass('processMap');
$oProcessMap = new ProcessMap(); $oProcessMap = new ProcessMap();
if (! isset( $_POST['PRO_UID'] )) { if (!isset($_POST['PRO_UID'])) {
if (Process::existsByProTitle( $_POST['PRO_TITLE'] )) { if (Process::existsByProTitle($_POST['PRO_TITLE'])) {
$result = array ('success' => false,'msg' => 'Process Save Error','errors' => array ('PRO_TITLE' => G::LoadTranslation( 'ID_PROCESSTITLE_ALREADY_EXISTS', SYS_LANG, $_POST ) $result = array(
) 'success' => false,
'msg' => 'Process Save Error',
'errors' => array('PRO_TITLE' => G::LoadTranslation('ID_PROCESSTITLE_ALREADY_EXISTS', SYS_LANG, $_POST))
); );
print G::json_encode( $result ); print G::json_encode($result);
exit( 0 ); exit(0);
} }
$processData['USR_UID'] = $_SESSION['USER_LOGGED']; $processData['USR_UID'] = $_SESSION['USER_LOGGED'];
@@ -89,138 +87,135 @@ class Ajax
$processData['PRO_DESCRIPTION'] = $_POST['PRO_DESCRIPTION']; $processData['PRO_DESCRIPTION'] = $_POST['PRO_DESCRIPTION'];
$processData['PRO_CATEGORY'] = $_POST['PRO_CATEGORY']; $processData['PRO_CATEGORY'] = $_POST['PRO_CATEGORY'];
$sProUid = $oProcessMap->createProcess( $processData ); $sProUid = $oProcessMap->createProcess($processData);
//call plugins //call plugins
$oData['PRO_UID'] = $sProUid; $oData['PRO_UID'] = $sProUid;
$oData['PRO_TEMPLATE'] = (isset( $_POST['PRO_TEMPLATE'] ) && $_POST['PRO_TEMPLATE'] != '') ? $_POST['form']['PRO_TEMPLATE'] : ''; $oData['PRO_TEMPLATE'] = (isset($_POST['PRO_TEMPLATE']) && $_POST['PRO_TEMPLATE'] != '') ? $_POST['form']['PRO_TEMPLATE'] : '';
$oData['PROCESSMAP'] = $oProcessMap; $oData['PROCESSMAP'] = $oProcessMap;
$oPluginRegistry = & PMPluginRegistry::getSingleton(); $oPluginRegistry = & PMPluginRegistry::getSingleton();
$oPluginRegistry->executeTriggers( PM_NEW_PROCESS_SAVE, $oData ); $oPluginRegistry->executeTriggers(PM_NEW_PROCESS_SAVE, $oData);
} else { } else {
//$oProcessMap->updateProcess($_POST['form']); //$oProcessMap->updateProcess($_POST['form']);
$sProUid = $_POST['PRO_UID']; $sProUid = $_POST['PRO_UID'];
} }
//Save Calendar ID for this process //Save Calendar ID for this process
if (isset( $_POST['PRO_CALENDAR'] )) { if (isset($_POST['PRO_CALENDAR'])) {
G::LoadClass( "calendar" ); G::LoadClass("calendar");
$calendarObj = new Calendar(); $calendarObj = new Calendar();
$calendarObj->assignCalendarTo( $sProUid, $_POST['PRO_CALENDAR'], 'PROCESS' ); $calendarObj->assignCalendarTo($sProUid, $_POST['PRO_CALENDAR'], 'PROCESS');
} }
$result->success = true; $result->success = true;
$result->PRO_UID = $sProUid; $result->PRO_UID = $sProUid;
$result->msg = G::LoadTranslation( 'ID_CREATE_PROCESS_SUCCESS' ); $result->msg = G::LoadTranslation('ID_CREATE_PROCESS_SUCCESS');
} catch (Exception $e) { } catch (Exception $e) {
$result->success = false; $result->success = false;
$result->msg = $e->getMessage(); $result->msg = $e->getMessage();
} }
print G::json_encode( $result ); print G::json_encode($result);
} }
function changeStatus () public function changeStatus()
{ {
$ids = explode( ',', $_REQUEST['UIDS'] ); $ids = explode(',', $_REQUEST['UIDS']);
G::LoadClass( 'processes' ); G::LoadClass('processes');
$oProcess = new Processes(); $oProcess = new Processes();
if (count( $ids ) > 0) { if (count($ids) > 0) {
foreach ($ids as $id) foreach ($ids as $id) {
$oProcess->changeStatus( $id ); $oProcess->changeStatus($id);
}
} }
} }
function changeDebugMode () public function changeDebugMode()
{ {
$ids = explode( ',', $_REQUEST['UIDS'] ); $ids = explode(',', $_REQUEST['UIDS']);
G::LoadClass( 'processes' ); G::LoadClass('processes');
$oProcess = new Processes(); $oProcess = new Processes();
if (count( $ids ) > 0) { if (count($ids) > 0) {
foreach ($ids as $id) foreach ($ids as $id) {
$oProcess->changeDebugMode( $id ); $oProcess->changeDebugMode($id);
}
} }
} }
function getUsers ($params) public function getUsers($params)
{ {
require_once 'classes/model/Users.php'; require_once 'classes/model/Users.php';
G::LoadClass( 'configuration' ); G::LoadClass('configuration');
$conf = new Configurations(); $conf = new Configurations();
$search = isset( $params['search'] ) ? $params['search'] : null; $search = isset($params['search']) ? $params['search'] : null;
$users = Users::getAll( $params['start'], $params['limit'], $search ); $users = Users::getAll($params['start'], $params['limit'], $search);
foreach ($users->data as $i => $user) { foreach ($users->data as $i => $user) {
$users->data[$i]['USER'] = $conf->getEnvSetting( 'format', Array ('userName' => $user['USR_USERNAME'],'firstName' => $user['USR_FIRSTNAME'],'lastName' => $user['USR_LASTNAME'] $users->data[$i]['USER'] = $conf->getEnvSetting('format', Array('userName' => $user['USR_USERNAME'], 'firstName' => $user['USR_FIRSTNAME'], 'lastName' => $user['USR_LASTNAME']));
) );
} }
print G::json_encode( $users ); print G::json_encode($users);
} }
function getGroups ($params) public function getGroups($params)
{ {
require_once 'classes/model/Groupwf.php'; require_once 'classes/model/Groupwf.php';
$search = isset( $params['search'] ) ? $params['search'] : null; $search = isset($params['search']) ? $params['search'] : null;
$groups = Groupwf::getAll( $params['start'], $params['limit'], $search ); $groups = Groupwf::getAll($params['start'], $params['limit'], $search);
print G::json_encode( $groups ); print G::json_encode($groups);
} }
function assignUsersTask ($param) public function assignUsersTask($param)
{ {
try { try {
require_once 'classes/model/TaskUser.php'; require_once 'classes/model/TaskUser.php';
require_once 'classes/model/Task.php'; require_once 'classes/model/Task.php';
$oTaskUser = new TaskUser(); $oTaskUser = new TaskUser();
$UIDS = explode( ',', $param['UIDS'] ); $UIDS = explode(',', $param['UIDS']);
$TU_TYPE = 1; $TU_TYPE = 1;
foreach ($UIDS as $UID) { foreach ($UIDS as $UID) {
if ($_POST['TU_RELATION'] == 1) if ($_POST['TU_RELATION'] == 1) {
$oTaskUser->create( array ('TAS_UID' => $param['TAS_UID'],'USR_UID' => $UID,'TU_TYPE' => $TU_TYPE,'TU_RELATION' => 1 $oTaskUser->create(array('TAS_UID' => $param['TAS_UID'], 'USR_UID' => $UID, 'TU_TYPE' => $TU_TYPE, 'TU_RELATION' => 1));
) ); } else {
else $oTaskUser->create(array('TAS_UID' => $param['TAS_UID'], 'USR_UID' => $UID, 'TU_TYPE' => $TU_TYPE, 'TU_RELATION' => 2));
$oTaskUser->create( array ('TAS_UID' => $param['TAS_UID'],'USR_UID' => $UID,'TU_TYPE' => $TU_TYPE,'TU_RELATION' => 2 }
) );
} }
$task = TaskPeer::retrieveByPk( $param['TAS_UID'] ); $task = TaskPeer::retrieveByPk($param['TAS_UID']);
$result->success = true; $result->success = true;
if (count( $UIDS ) > 1) if (count($UIDS) > 1) {
$result->msg = __( 'ID_ACTORS_ASSIGNED_SUCESSFULLY', SYS_LANG, Array (count( $UIDS ),$task->getTasTitle() $result->msg = __('ID_ACTORS_ASSIGNED_SUCESSFULLY', SYS_LANG, Array(count($UIDS), $task->getTasTitle()));
) ); } else {
else $result->msg = __('ID_ACTOR_ASSIGNED_SUCESSFULLY', SYS_LANG, Array('tas_title' => $task->getTasTitle()));
$result->msg = __( 'ID_ACTOR_ASSIGNED_SUCESSFULLY', SYS_LANG, Array ('tas_title' => $task->getTasTitle() }
) );
} catch (Exception $e) { } catch (Exception $e) {
$result->success = false; $result->success = false;
$result->msg = $e->getMessage(); $result->msg = $e->getMessage();
} }
print G::json_encode( $result ); print G::json_encode($result);
} }
function removeUsersTask ($param) public function removeUsersTask($param)
{ {
try { try {
require_once 'classes/model/TaskUser.php'; require_once 'classes/model/TaskUser.php';
$oTaskUser = new TaskUser(); $oTaskUser = new TaskUser();
$USR_UIDS = explode( ',', $param['USR_UID'] ); $USR_UIDS = explode(',', $param['USR_UID']);
$TU_RELATIONS = explode( ',', $param['TU_RELATION'] ); $TU_RELATIONS = explode(',', $param['TU_RELATION']);
$TU_TYPE = 1; $TU_TYPE = 1;
foreach ($USR_UIDS as $i => $USR_UID) { foreach ($USR_UIDS as $i => $USR_UID) {
if ($TU_RELATIONS[$i] == 1) { if ($TU_RELATIONS[$i] == 1) {
$oTaskUser->remove( $param['TAS_UID'], $USR_UID, $TU_TYPE, 1 ); $oTaskUser->remove($param['TAS_UID'], $USR_UID, $TU_TYPE, 1);
} else { } else {
$oTaskUser->remove( $param['TAS_UID'], $USR_UID, $TU_TYPE, 2 ); $oTaskUser->remove($param['TAS_UID'], $USR_UID, $TU_TYPE, 2);
} }
} }
@@ -231,19 +226,19 @@ class Ajax
$result->msg = $e->getMessage(); $result->msg = $e->getMessage();
} }
print G::json_encode( $result ); print G::json_encode($result);
} }
function getUsersTask ($param) public function getUsersTask($param)
{ {
require_once 'classes/model/TaskUser.php'; require_once 'classes/model/TaskUser.php';
G::LoadClass( 'configuration' ); G::LoadClass('configuration');
$usersTaskList = Array (); $usersTaskList = Array();
$task = new TaskUser(); $task = new TaskUser();
$conf = new Configurations(); $conf = new Configurations();
$TU_TYPE = 1; $TU_TYPE = 1;
$usersTask = $task->getUsersTask( $param['TAS_UID'], $TU_TYPE ); $usersTask = $task->getUsersTask($param['TAS_UID'], $TU_TYPE);
foreach ($usersTask->data as $userTask) { foreach ($usersTask->data as $userTask) {
$usersTaskListItem['TAS_UID'] = $userTask['TAS_UID']; $usersTaskListItem['TAS_UID'] = $userTask['TAS_UID'];
@@ -251,8 +246,9 @@ class Ajax
$usersTaskListItem['USR_USERNAME'] = $userTask['USR_USERNAME']; $usersTaskListItem['USR_USERNAME'] = $userTask['USR_USERNAME'];
$usersTaskListItem['USR_FIRSTNAME'] = $userTask['USR_FIRSTNAME']; $usersTaskListItem['USR_FIRSTNAME'] = $userTask['USR_FIRSTNAME'];
$usersTaskListItem['USR_LASTNAME'] = $userTask['USR_LASTNAME']; $usersTaskListItem['USR_LASTNAME'] = $userTask['USR_LASTNAME'];
} else } else {
$usersTaskListItem['NAME'] = $userTask['GRP_TITLE']; $usersTaskListItem['NAME'] = $userTask['GRP_TITLE'];
}
$usersTaskListItem['TU_RELATION'] = $userTask['TU_RELATION']; $usersTaskListItem['TU_RELATION'] = $userTask['TU_RELATION'];
$usersTaskListItem['USR_UID'] = $userTask['USR_UID']; $usersTaskListItem['USR_UID'] = $userTask['USR_UID'];
@@ -263,33 +259,33 @@ class Ajax
$result->data = $usersTaskList; $result->data = $usersTaskList;
$result->totalCount = $usersTask->totalCount; $result->totalCount = $usersTask->totalCount;
print G::json_encode( $result ); print G::json_encode($result);
} }
function getProcessDetail ($param) public function getProcessDetail($param)
{ {
require_once 'classes/model/Process.php'; require_once 'classes/model/Process.php';
$PRO_UID = $param['PRO_UID']; $PRO_UID = $param['PRO_UID'];
G::loadClass( 'tasks' ); G::loadClass('tasks');
$tasks = new Tasks(); $tasks = new Tasks();
$process = ProcessPeer::retrieveByPk( $PRO_UID ); $process = ProcessPeer::retrieveByPk($PRO_UID);
$tasksList = $tasks->getAllTasks( $PRO_UID ); $tasksList = $tasks->getAllTasks($PRO_UID);
$rootNode->id = $process->getProUid(); $rootNode->id = $process->getProUid();
$rootNode->type = 'process'; $rootNode->type = 'process';
$rootNode->typeLabel = G::LoadTranslation( 'ID_PROCESS' ); $rootNode->typeLabel = G::LoadTranslation('ID_PROCESS');
$rootNode->text = $process->getProTitle(); $rootNode->text = $process->getProTitle();
$rootNode->leaf = count( $tasksList ) > 0 ? false : true; $rootNode->leaf = count($tasksList) > 0 ? false : true;
$rootNode->iconCls = 'ss_sprite ss_application'; $rootNode->iconCls = 'ss_sprite ss_application';
$rootNode->expanded = true; $rootNode->expanded = true;
foreach ($tasksList as $task) { foreach ($tasksList as $task) {
$node = new stdClass(); $node = new stdClass();
$node->id = $task['TAS_UID']; $node->id = $task['TAS_UID'];
$node->type = 'task'; $node->type = 'task';
$node->typeLabel = G::LoadTranslation( 'ID_TASK' ); $node->typeLabel = G::LoadTranslation('ID_TASK');
$node->text = $task['TAS_TITLE']; $node->text = $task['TAS_TITLE'];
$node->iconCls = 'ss_sprite ss_layout'; $node->iconCls = 'ss_sprite ss_layout';
$node->leaf = true; $node->leaf = true;
@@ -297,23 +293,23 @@ class Ajax
} }
$treeDetail[] = $rootNode; $treeDetail[] = $rootNode;
print G::json_encode( $treeDetail ); print G::json_encode($treeDetail);
} }
function getProperties ($param) public function getProperties($param)
{ {
switch ($param['type']) { switch ($param['type']) {
case 'process': case 'process':
require_once 'classes/model/ProcessCategory.php'; require_once 'classes/model/ProcessCategory.php';
require_once 'classes/model/CalendarDefinition.php'; require_once 'classes/model/CalendarDefinition.php';
G::LoadClass( 'processMap' ); G::LoadClass('processMap');
$oProcessMap = new processMap( new DBConnection() ); $oProcessMap = new processMap(new DBConnection());
$process = $oProcessMap->editProcessNew( $param['UID'] ); $process = $oProcessMap->editProcessNew($param['UID']);
$category = ProcessCategoryPeer::retrieveByPk( $process['PRO_CATEGORY'] ); $category = ProcessCategoryPeer::retrieveByPk($process['PRO_CATEGORY']);
$categoryName = is_object( $category ) ? $category->getCategoryName() : ''; $categoryName = is_object($category) ? $category->getCategoryName() : '';
$calendar = CalendarDefinitionPeer::retrieveByPk( $process['PRO_CALENDAR'] ); $calendar = CalendarDefinitionPeer::retrieveByPk($process['PRO_CALENDAR']);
$calendarName = is_object( $calendar ) ? $calendar->getCalendarName() : ''; $calendarName = is_object($calendar) ? $calendar->getCalendarName() : '';
$properties['Title'] = $process['PRO_TITLE']; $properties['Title'] = $process['PRO_TITLE'];
$properties['Description'] = $process['PRO_DESCRIPTION']; $properties['Description'] = $process['PRO_DESCRIPTION'];
@@ -324,11 +320,10 @@ class Ajax
$result->sucess = true; $result->sucess = true;
$result->prop = $properties; $result->prop = $properties;
break; break;
case 'task': case 'task':
require_once 'classes/model/Task.php'; require_once 'classes/model/Task.php';
$task = new Task(); $task = new Task();
$taskData = $task->load( $param['UID'] ); $taskData = $task->load($param['UID']);
$properties['Title'] = $taskData['TAS_TITLE']; $properties['Title'] = $taskData['TAS_TITLE'];
$properties['Description'] = $taskData['TAS_DESCRIPTION']; $properties['Description'] = $taskData['TAS_DESCRIPTION'];
@@ -341,10 +336,10 @@ class Ajax
break; break;
} }
print G::json_encode( $result ); print G::json_encode($result);
} }
function saveProperties ($param) public function saveProperties($param)
{ {
try { try {
$result->sucess = true; $result->sucess = true;
@@ -354,7 +349,7 @@ class Ajax
case 'process': case 'process':
require_once 'classes/model/ProcessCategory.php'; require_once 'classes/model/ProcessCategory.php';
require_once 'classes/model/CalendarDefinition.php'; require_once 'classes/model/CalendarDefinition.php';
G::LoadClass( 'processMap' ); G::LoadClass('processMap');
$oProcessMap = new ProcessMap(); $oProcessMap = new ProcessMap();
$process['PRO_UID'] = $param['UID']; $process['PRO_UID'] = $param['UID'];
@@ -371,25 +366,24 @@ class Ajax
break; break;
case 'Category': case 'Category':
$fieldName = 'PRO_CATEGORY'; $fieldName = 'PRO_CATEGORY';
$category = ProcessCategory::loadByCategoryName( $param['value'] ); $category = ProcessCategory::loadByCategoryName($param['value']);
$param['value'] = $category[0]['CATEGORY_UID']; $param['value'] = $category[0]['CATEGORY_UID'];
break; break;
case 'Calendar': case 'Calendar':
$fieldName = 'PRO_CALENDAR'; $fieldName = 'PRO_CALENDAR';
$calendar = CalendarDefinition::loadByCalendarName( $param['value'] ); $calendar = CalendarDefinition::loadByCalendarName($param['value']);
G::LoadClass( "calendar" ); G::LoadClass("calendar");
$calendarObj = new Calendar(); $calendarObj = new Calendar();
$calendarObj->assignCalendarTo( $process['PRO_UID'], $calendar['CALENDAR_UID'], 'PROCESS' ); $calendarObj->assignCalendarTo($process['PRO_UID'], $calendar['CALENDAR_UID'], 'PROCESS');
break; break;
} }
if ($fieldName != 'PRO_CALENDAR') { if ($fieldName != 'PRO_CALENDAR') {
$process[$fieldName] = $param['value']; $process[$fieldName] = $param['value'];
$oProcessMap->updateProcess( $process ); $oProcessMap->updateProcess($process);
} }
break; break;
case 'task': case 'task':
require_once 'classes/model/Task.php'; require_once 'classes/model/Task.php';
$oTask = new Task(); $oTask = new Task();
@@ -407,12 +401,12 @@ class Ajax
break; break;
case 'Starting Task': case 'Starting Task':
$fieldName = 'TAS_START'; $fieldName = 'TAS_START';
$param['value'] = strtoupper( $param['value'] ); $param['value'] = strtoupper($param['value']);
break; break;
} }
$task[$fieldName] = $param['value']; $task[$fieldName] = $param['value'];
print_r( $task ); print_r($task);
$oTask->update( $task ); $oTask->update($task);
break; break;
} }
@@ -421,47 +415,43 @@ class Ajax
$result->msg = $e->getMessage(); $result->msg = $e->getMessage();
} }
print G::json_encode( $result ); print G::json_encode($result);
} }
function getCategoriesList () public function getCategoriesList()
{ {
require_once "classes/model/ProcessCategory.php"; require_once "classes/model/ProcessCategory.php";
$processCategory = new ProcessCategory(); $processCategory = new ProcessCategory();
$defaultOption = Array (); $defaultOption = Array();
$defaultOption[] = Array ('CATEGORY_UID' => '','CATEGORY_NAME' => '' $defaultOption[] = Array('CATEGORY_UID' => '', 'CATEGORY_NAME' => '');
);
$response->rows = array_merge( $defaultOption, $processCategory->getAll( 'array' ) ); $response->rows = array_merge($defaultOption, $processCategory->getAll('array'));
print G::json_encode( $response ); print G::json_encode($response);
} }
function getCaledarList () public function getCaledarList()
{ {
G::LoadClass( 'calendar' ); G::LoadClass('calendar');
$calendar = new CalendarDefinition(); $calendar = new CalendarDefinition();
$calendarObj = $calendar->getCalendarList( true, true ); $calendarObj = $calendar->getCalendarList(true, true);
$calendarObj['array'][0] = Array ('CALENDAR_UID' => '','CALENDAR_NAME' => '' $calendarObj['array'][0] = Array('CALENDAR_UID' => '', 'CALENDAR_NAME' => '');
);
$response->rows = $calendarObj['array']; $response->rows = $calendarObj['array'];
print G::json_encode( $response ); print G::json_encode($response);
} }
function getPMVariables ($param) public function getPMVariables($param)
{ {
G::LoadClass( 'processMap' ); G::LoadClass('processMap');
$oProcessMap = new processMap( new DBConnection() ); $oProcessMap = new processMap(new DBConnection());
$response->rows = getDynaformsVars( $param['PRO_UID'] ); $response->rows = getDynaformsVars($param['PRO_UID']);
foreach ($response->rows as $i => $var) { foreach ($response->rows as $i => $var) {
$response->rows[$i]['sName'] = "@@{$var['sName']}"; $response->rows[$i]['sName'] = "@@{$var['sName']}";
} }
print G::json_encode( $response ); print G::json_encode($response);
} }
} }

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* processes_availableProcessesUser.php * processes_availableProcessesUser.php
* *
@@ -22,34 +23,31 @@
* Coral Gables, FL, 33134, USA, or email info@colosa.com. * Coral Gables, FL, 33134, USA, or email info@colosa.com.
* *
*/ */
/**
/** * @Description This is a callback for the View of all groups from a determinated user
* @Description This is a callback for the View of all groups from a determinated user * @author Everth S. Berrios Morales <everth@colosa.com>
* @author Everth S. Berrios Morales <everth@colosa.com> * @Date 19/05/2008
* @Date 19/05/2008 * @LastModification none
* @LastModification none */
*/
try { try {
$sProUid=$oData->PRO_UID; $sProUid = $oData->PRO_UID;
require_once 'classes/model/Users.php'; require_once 'classes/model/Users.php';
require_once 'classes/model/ProcessUser.php'; require_once 'classes/model/ProcessUser.php';
G::LoadClass('processMap'); G::LoadClass('processMap');
$oProcessMap = new ProcessMap(); $oProcessMap = new ProcessMap();
$c = $oProcessMap->listNoProcessesUser($sProUid); $c = $oProcessMap->listNoProcessesUser($sProUid);
global $RBAC; global $RBAC;
$RBAC->loadUserRolePermission($RBAC->sSystem, $_SESSION['USER_LOGGED']); $RBAC->loadUserRolePermission($RBAC->sSystem, $_SESSION['USER_LOGGED']);
$G_PUBLISH = new Publisher;
$G_PUBLISH->AddContent('propeltable', 'paged-table', 'processes/processes_availableProcessesUser', $c, array('PRO_UID' => $sProUid));
G::RenderPage( 'publish', 'raw' );
$G_PUBLISH = new Publisher;
$G_PUBLISH->AddContent('propeltable', 'paged-table', 'processes/processes_availableProcessesUser', $c, array('PRO_UID' => $sProUid));
G::RenderPage('publish', 'raw');
} catch (Exception $e) {
$G_PUBLISH = new Publisher;
$aMessage['MESSAGE'] = $e->getMessage();
$G_PUBLISH->AddContent('xmlform', 'xmlform', 'login/showMessage', '', $aMessage);
G::RenderPage('publish', 'raw');
} }
catch ( Exception $e ){
$G_PUBLISH = new Publisher;
$aMessage['MESSAGE'] = $e->getMessage();
$G_PUBLISH->AddContent('xmlform', 'xmlform', 'login/showMessage', '', $aMessage );
G::RenderPage('publish', 'raw' );
}
?>

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* tools/ajaxListener.php Ajax Listener for Cases rpc requests * tools/ajaxListener.php Ajax Listener for Cases rpc requests
* *
@@ -21,47 +22,45 @@
* For more information, contact Colosa Inc, 2566 Le Jeune Rd., * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com. * Coral Gables, FL, 33134, USA, or email info@colosa.com.
*/ */
/** /**
* *
* @author Erik Amaru Ortiz <erik@colosa.com> * @author Erik Amaru Ortiz <erik@colosa.com>
* @date Jan 10th, 2010 * @date Jan 10th, 2010
*/ */
require "classes/model/Translation.php"; require "classes/model/Translation.php";
$action = $_REQUEST['action']; $action = $_REQUEST['action'];
unset( $_REQUEST['action'] ); unset($_REQUEST['action']);
$ajax = new Ajax(); $ajax = new Ajax();
$ajax->$action( $_REQUEST ); $ajax->$action($_REQUEST);
class Ajax class Ajax
{ {
function getList ($params) public function getList($params)
{ {
$search = isset( $params['search'] ) ? $params['search'] : null; $search = isset($params['search']) ? $params['search'] : null;
$params['dateFrom'] = str_replace( 'T00:00:00', '', $params['dateFrom'] ); $params['dateFrom'] = str_replace('T00:00:00', '', $params['dateFrom']);
$params['dateTo'] = str_replace( 'T00:00:00', '', $params['dateTo'] ); $params['dateTo'] = str_replace('T00:00:00', '', $params['dateTo']);
$result = Translation::getAll( 'en', $params['start'], $params['limit'], $search, $params['dateFrom'], $params['dateTo'] ); $result = Translation::getAll('en', $params['start'], $params['limit'], $search, $params['dateFrom'], $params['dateTo']);
//$result = Translation::getAll('en', $params['start'], $params['limit'], $search); //$result = Translation::getAll('en', $params['start'], $params['limit'], $search);
/*foreach($result->data as $i=>$row){ /* foreach($result->data as $i=>$row){
$result->data[$i]['TRN_VALUE'] = substr($row['TRN_VALUE'], 0, 15) . '...'; $result->data[$i]['TRN_VALUE'] = substr($row['TRN_VALUE'], 0, 15) . '...';
}*/ } */
echo G::json_encode( $result ); echo G::json_encode($result);
} }
function save () public function save()
{ {
try { try {
require_once ("classes/model/Translation.php"); require_once ("classes/model/Translation.php");
$id = $_POST['id']; $id = $_POST['id'];
$label = preg_replace( "[\n|\r|\n\r]", ' ', $_POST['label'] ); $label = preg_replace("[\n|\r|\n\r]", ' ', $_POST['label']);
$res = Translation::addTranslation( 'LABEL', $id, 'en', $label ); $res = Translation::addTranslation('LABEL', $id, 'en', $label);
if ($res['codError'] < 0) { if ($res['codError'] < 0) {
$result->success = false; $result->success = false;
$result->msg = $res['message']; $result->msg = $res['message'];
@@ -69,51 +68,48 @@ class Ajax
$result->success = true; $result->success = true;
$result->msg = 'Label ' . $id . ' saved Successfully!'; $result->msg = 'Label ' . $id . ' saved Successfully!';
} }
} catch (Exception $e) { } catch (Exception $e) {
$result->success = false; $result->success = false;
$result->msg = $e->getMessage(); $result->msg = $e->getMessage();
} }
print G::json_encode( $result ); print G::json_encode($result);
} }
function delete () public function delete()
{ {
require_once ("classes/model/Translation.php"); require_once ("classes/model/Translation.php");
$ids = explode( ',', $_POST['IDS'] ); $ids = explode(',', $_POST['IDS']);
$category = 'LABEL'; $category = 'LABEL';
try { try {
foreach ($ids as $id) { foreach ($ids as $id) {
$tr = TranslationPeer::retrieveByPK( $category, $id, 'en' ); $tr = TranslationPeer::retrieveByPK($category, $id, 'en');
if ((is_object( $tr ) && get_class( $tr ) == 'Translation')) { if ((is_object($tr) && get_class($tr) == 'Translation')) {
$tr->delete(); $tr->delete();
} }
} }
$result->success = true; $result->success = true;
$result->msg = 'Deleted Successfully!'; $result->msg = 'Deleted Successfully!';
} catch (Exception $e) { } catch (Exception $e) {
$result->success = false; $result->success = false;
$result->msg = $e->getMessage(); $result->msg = $e->getMessage();
} }
print G::json_encode( $result ); print G::json_encode($result);
} }
function rebuild () public function rebuild()
{ {
try { try {
require_once ("classes/model/Translation.php"); require_once ("classes/model/Translation.php");
$t = new Translation(); $t = new Translation();
$result = Translation::generateFileTranslation( 'en' ); $result = Translation::generateFileTranslation('en');
$result['success'] = true; $result['success'] = true;
} catch (Exception $e) { } catch (Exception $e) {
$result->success = false; $result->success = false;
$result->msg = $e->getMessage(); $result->msg = $e->getMessage();
} }
print G::json_encode( $result ); print G::json_encode($result);
} }
} }

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* triggers_WizardSave.php * triggers_WizardSave.php
* *
@@ -21,20 +22,19 @@
* For more information, contact Colosa Inc, 2566 Le Jeune Rd., * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com. * Coral Gables, FL, 33134, USA, or email info@colosa.com.
*/ */
if (($RBAC_Response = $RBAC->userCanAccess("PM_FACTORY")) != 1) {
if (($RBAC_Response = $RBAC->userCanAccess( "PM_FACTORY" )) != 1) {
return $RBAC_Response; return $RBAC_Response;
} }
require_once ('classes/model/Triggers.php'); require_once ('classes/model/Triggers.php');
$oTrigger = new Triggers(); $oTrigger = new Triggers();
G::LoadClass( 'processMap' ); G::LoadClass('processMap');
$oProcessMap = new processMap( new DBConnection() ); $oProcessMap = new processMap(new DBConnection());
$aDataTriggers = $_POST; $aDataTriggers = $_POST;
$aInfoFunction = explode( ",", $aDataTriggers['ALLFUNCTION'] ); $aInfoFunction = explode(",", $aDataTriggers['ALLFUNCTION']);
$aInfoFunctionType = explode( ",", $aDataTriggers['ALLFUNCTION_TYPE'] ); $aInfoFunctionType = explode(",", $aDataTriggers['ALLFUNCTION_TYPE']);
$sPMfunction = " $sPMfunction = "
/*************************************************** /***************************************************
@@ -42,75 +42,73 @@ $sPMfunction = "
* Generated by ProcessMaker Trigger Wizard * Generated by ProcessMaker Trigger Wizard
* Library: " . $aDataTriggers['LIBRARY_NAME'] . " * Library: " . $aDataTriggers['LIBRARY_NAME'] . "
* Method: " . $aDataTriggers['PMFUNTION_LABEL'] . " * Method: " . $aDataTriggers['PMFUNTION_LABEL'] . "
* Date: " . date( "Y-m-d H:i:s" ) . " * Date: " . date("Y-m-d H:i:s") . "
* *
* ProcessMaker " . date( "Y" ) . " * ProcessMaker " . date("Y") . "
* *
****************************************************/ ****************************************************/
"; ";
$methodParamsFinal = array (); $methodParamsFinal = array();
//Generate params to send //Generate params to send
$i = 0; $i = 0;
foreach ($aInfoFunction as $k => $v) { foreach ($aInfoFunction as $k => $v) {
if ($v != '') { if ($v != '') {
$sOptionTrigger = trim( str_replace( "$", "", $v ) ); $sOptionTrigger = trim(str_replace("$", "", $v));
if (strstr( $sOptionTrigger, "=" )) { if (strstr($sOptionTrigger, "=")) {
$aOptionParameters = explode( "=", $sOptionTrigger ); $aOptionParameters = explode("=", $sOptionTrigger);
$sOptionTrigger = trim( $aOptionParameters[0] ); $sOptionTrigger = trim($aOptionParameters[0]);
} }
if ($aDataTriggers[$sOptionTrigger] != '') { if ($aDataTriggers[$sOptionTrigger] != '') {
if ((strstr( $aDataTriggers[$sOptionTrigger], "@@" ))) { if ((strstr($aDataTriggers[$sOptionTrigger], "@@"))) {
$option = trim( $aDataTriggers[$sOptionTrigger] ); $option = trim($aDataTriggers[$sOptionTrigger]);
} else { } else {
$aDataTriggers[$sOptionTrigger] = (strstr( $aDataTriggers[$sOptionTrigger], 'array' )) ? str_replace( "'", '"', $aDataTriggers[$sOptionTrigger] ) : str_replace( "'", "\'", $aDataTriggers[$sOptionTrigger] ); $aDataTriggers[$sOptionTrigger] = (strstr($aDataTriggers[$sOptionTrigger], 'array')) ? str_replace("'", '"', $aDataTriggers[$sOptionTrigger]) : str_replace("'", "\'", $aDataTriggers[$sOptionTrigger]);
switch(trim($aInfoFunctionType[$i])) { switch (trim($aInfoFunctionType[$i])) {
case 'boolean' : case 'boolean':
$option = $aDataTriggers[$sOptionTrigger]; $option = $aDataTriggers[$sOptionTrigger];
break; break;
case 'int' : case 'int':
$option = intval($aDataTriggers[$sOptionTrigger]); $option = intval($aDataTriggers[$sOptionTrigger]);
break; break;
case 'float' : case 'float':
case 'real' : case 'real':
case 'double' : case 'double':
$option = floatval($aDataTriggers[$sOptionTrigger]); $option = floatval($aDataTriggers[$sOptionTrigger]);
break; break;
default: default:
$option = (is_numeric( $aDataTriggers[$sOptionTrigger] ) || is_bool($aDataTriggers[$sOptionTrigger]) ) ? trim( $aDataTriggers[$sOptionTrigger] ) : (strstr( $aDataTriggers[$sOptionTrigger], "array" )) ? trim( $aDataTriggers[$sOptionTrigger] ) : "'" . trim( $aDataTriggers[$sOptionTrigger] ) . "'"; $option = (is_numeric($aDataTriggers[$sOptionTrigger]) || is_bool($aDataTriggers[$sOptionTrigger]) ) ? trim($aDataTriggers[$sOptionTrigger]) : (strstr($aDataTriggers[$sOptionTrigger], "array")) ? trim($aDataTriggers[$sOptionTrigger]) : "'" . trim($aDataTriggers[$sOptionTrigger]) . "'";
break; break;
} }
} }
} else { } else {
$option = "''"; $option = "''";
} }
$methodParamsFinal[] = $option; $methodParamsFinal[] = $option;
} }
$i++; $i++;
} }
//G::pr($methodParamsFinal);die; //G::pr($methodParamsFinal);die;
$sPMfunction .= (isset( $aDataTriggers['TRI_ANSWER'] ) && $aDataTriggers['TRI_ANSWER'] != '') ? $aDataTriggers['TRI_ANSWER'] . " = " : ""; $sPMfunction .= (isset($aDataTriggers['TRI_ANSWER']) && $aDataTriggers['TRI_ANSWER'] != '') ? $aDataTriggers['TRI_ANSWER'] . " = " : "";
$sPMfunction .= $aDataTriggers['PMFUNTION_NAME'] . " (" . implode( ",", $methodParamsFinal ) . ");"; $sPMfunction .= $aDataTriggers['PMFUNTION_NAME'] . " (" . implode(",", $methodParamsFinal) . ");";
//Create Trigger //Create Trigger
$aDataTriggers['TRI_WEBBOT'] = $sPMfunction; $aDataTriggers['TRI_WEBBOT'] = $sPMfunction;
$aDataTriggersParams = array (); $aDataTriggersParams = array();
$aDataTriggersParams['hash'] = md5( $sPMfunction ); $aDataTriggersParams['hash'] = md5($sPMfunction);
$aDataTriggersParams['params'] = $aDataTriggers; $aDataTriggersParams['params'] = $aDataTriggers;
$aDataTriggers['TRI_PARAM'] = serialize( $aDataTriggersParams ); $aDataTriggers['TRI_PARAM'] = serialize($aDataTriggersParams);
$oTrigger->create( $aDataTriggers ); $oTrigger->create($aDataTriggers);
//Update Info //Update Info
$aDataTriggers['TRI_UID'] = $oTrigger->getTriUid(); $aDataTriggers['TRI_UID'] = $oTrigger->getTriUid();
$oTrigger->update( $aDataTriggers ); $oTrigger->update($aDataTriggers);
//Update Trigger Array //Update Trigger Array
$oProcessMap->triggersList( $aDataTriggers['PRO_UID'] ); $oProcessMap->triggersList($aDataTriggers['PRO_UID']);

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* triggers_WizardUpdate.php * triggers_WizardUpdate.php
* *
@@ -21,101 +22,98 @@
* For more information, contact Colosa Inc, 2566 Le Jeune Rd., * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com. * Coral Gables, FL, 33134, USA, or email info@colosa.com.
*/ */
if (($RBAC_Response = $RBAC->userCanAccess("PM_FACTORY")) != 1) {
if (($RBAC_Response = $RBAC->userCanAccess( "PM_FACTORY" )) != 1) {
return $RBAC_Response; return $RBAC_Response;
} }
if (! class_exists( 'Triggers' )) { if (!class_exists('Triggers')) {
require_once ('classes/model/Triggers.php'); require_once ('classes/model/Triggers.php');
} }
$oTrigger = new Triggers(); $oTrigger = new Triggers();
G::LoadClass( 'processMap' ); G::LoadClass('processMap');
$oProcessMap = new processMap( new DBConnection() ); $oProcessMap = new processMap(new DBConnection());
$aDataTriggers = $_POST; $aDataTriggers = $_POST;
$triUid = $_POST['TRI_UID']; $triUid = $_POST['TRI_UID'];
$aInfoFunction = explode( ",", $aDataTriggers['ALLFUNCTION'] ); $aInfoFunction = explode(",", $aDataTriggers['ALLFUNCTION']);
$aInfoFunctionType = explode( ",", $aDataTriggers['ALLFUNCTION_TYPE'] ); $aInfoFunctionType = explode(",", $aDataTriggers['ALLFUNCTION_TYPE']);
$sPMfunction = " $sPMfunction = "
/*************************************************** /***************************************************
* *
* Generated by ProcessMaker Trigger Wizard * Generated by ProcessMaker Trigger Wizard
* Library: " . $aDataTriggers['LIBRARY_NAME'] . " * Library: " . $aDataTriggers['LIBRARY_NAME'] . "
* Method: " . $aDataTriggers['PMFUNTION_LABEL'] . " * Method: " . $aDataTriggers['PMFUNTION_LABEL'] . "
* Date: " . date( "Y-m-d H:i:s" ) . " * Date: " . date("Y-m-d H:i:s") . "
* *
* ProcessMaker " . date( "Y" ) . " * ProcessMaker " . date("Y") . "
* *
****************************************************/ ****************************************************/
"; ";
$methodParamsFinal = array (); $methodParamsFinal = array();
//Generate params to send //Generate params to send
$i = 0; $i = 0;
foreach ($aInfoFunction as $k => $v) { foreach ($aInfoFunction as $k => $v) {
if ($v != '') { if ($v != '') {
$sOptionTrigger = trim( str_replace( "$", "", $v ) ); $sOptionTrigger = trim(str_replace("$", "", $v));
if (strstr( $sOptionTrigger, "=" )) { if (strstr($sOptionTrigger, "=")) {
$aOptionParameters = explode( "=", $sOptionTrigger ); $aOptionParameters = explode("=", $sOptionTrigger);
$sOptionTrigger = trim( $aOptionParameters[0] ); $sOptionTrigger = trim($aOptionParameters[0]);
} }
if ($aDataTriggers[$sOptionTrigger] != '') { if ($aDataTriggers[$sOptionTrigger] != '') {
if ((strstr( $aDataTriggers[$sOptionTrigger], "@@" ))) { if ((strstr($aDataTriggers[$sOptionTrigger], "@@"))) {
$option = $aDataTriggers[$sOptionTrigger]; $option = $aDataTriggers[$sOptionTrigger];
} else { } else {
$aDataTriggers[$sOptionTrigger] = (strstr( $aDataTriggers[$sOptionTrigger], 'array' )) ? str_replace( "'", '"', $aDataTriggers[$sOptionTrigger] ) : str_replace( "'", "\'", $aDataTriggers[$sOptionTrigger] ); $aDataTriggers[$sOptionTrigger] = (strstr($aDataTriggers[$sOptionTrigger], 'array')) ? str_replace("'", '"', $aDataTriggers[$sOptionTrigger]) : str_replace("'", "\'", $aDataTriggers[$sOptionTrigger]);
switch(trim($aInfoFunctionType[$i])) { switch (trim($aInfoFunctionType[$i])) {
case 'boolean' : case 'boolean':
$option = $aDataTriggers[$sOptionTrigger]; $option = $aDataTriggers[$sOptionTrigger];
break; break;
case 'int' : case 'int':
$option = intval($aDataTriggers[$sOptionTrigger]); $option = intval($aDataTriggers[$sOptionTrigger]);
break; break;
case 'float' : case 'float':
case 'real' : case 'real':
case 'double' : case 'double':
$option = floatval($aDataTriggers[$sOptionTrigger]); $option = floatval($aDataTriggers[$sOptionTrigger]);
break; break;
default: default:
$option = (is_numeric( $aDataTriggers[$sOptionTrigger] ) || is_bool($aDataTriggers[$sOptionTrigger]) ) ? trim( $aDataTriggers[$sOptionTrigger] ) : (strstr( $aDataTriggers[$sOptionTrigger], "array" )) ? trim( $aDataTriggers[$sOptionTrigger] ) : "'" . trim( $aDataTriggers[$sOptionTrigger] ) . "'"; $option = (is_numeric($aDataTriggers[$sOptionTrigger]) || is_bool($aDataTriggers[$sOptionTrigger]) ) ? trim($aDataTriggers[$sOptionTrigger]) : (strstr($aDataTriggers[$sOptionTrigger], "array")) ? trim($aDataTriggers[$sOptionTrigger]) : "'" . trim($aDataTriggers[$sOptionTrigger]) . "'";
break; break;
} }
} }
} else { } else {
$option = "' '"; $option = "' '";
} }
$methodParamsFinal[] = $option; $methodParamsFinal[] = $option;
} }
$i++; $i++;
} }
$sPMfunction .= (isset( $aDataTriggers['TRI_ANSWER'] ) && $aDataTriggers['TRI_ANSWER'] != '') ? $aDataTriggers['TRI_ANSWER'] . " = " : ""; $sPMfunction .= (isset($aDataTriggers['TRI_ANSWER']) && $aDataTriggers['TRI_ANSWER'] != '') ? $aDataTriggers['TRI_ANSWER'] . " = " : "";
$sPMfunction .= $aDataTriggers['PMFUNTION_NAME'] . " (" . implode( ",", $methodParamsFinal ) . ");"; $sPMfunction .= $aDataTriggers['PMFUNTION_NAME'] . " (" . implode(",", $methodParamsFinal) . ");";
//Create Trigger //Create Trigger
$aDataTriggers['TRI_WEBBOT'] = $sPMfunction; $aDataTriggers['TRI_WEBBOT'] = $sPMfunction;
$aDataTriggersParams = array (); $aDataTriggersParams = array();
$aDataTriggersParams['hash'] = md5( $sPMfunction ); $aDataTriggersParams['hash'] = md5($sPMfunction);
$aDataTriggersParams['params'] = $aDataTriggers; $aDataTriggersParams['params'] = $aDataTriggers;
$aDataTriggers['TRI_PARAM'] = serialize( $aDataTriggersParams ); $aDataTriggers['TRI_PARAM'] = serialize($aDataTriggersParams);
//$oTrigger->create ( $aDataTriggers ); //$oTrigger->create ( $aDataTriggers );
$aDataTriggerLoaded = $oTrigger->load( $triUid ); $aDataTriggerLoaded = $oTrigger->load($triUid);
//var_dump($aDataTriggerLoaded); //var_dump($aDataTriggerLoaded);
//die; //die;
//Update Info //Update Info
$aDataTriggers['TRI_UID'] = $oTrigger->getTriUid(); $aDataTriggers['TRI_UID'] = $oTrigger->getTriUid();
$oTrigger->update( $aDataTriggers ); $oTrigger->update($aDataTriggers);
//Update Trigger Array //Update Trigger Array
$oProcessMap->triggersList( $aDataTriggers['PRO_UID'] ); $oProcessMap->triggersList($aDataTriggers['PRO_UID']);

View File

@@ -2,6 +2,7 @@
class Services_Rest_OutputDocument class Services_Rest_OutputDocument
{ {
/** /**
* Implementation for 'GET' method for Rest API * Implementation for 'GET' method for Rest API
* *
@@ -10,7 +11,7 @@ class Services_Rest_OutputDocument
* @return array $result Returns array within multiple records or a single record depending if * @return array $result Returns array within multiple records or a single record depending if
* a single selection was requested passing id(s) as param * a single selection was requested passing id(s) as param
*/ */
protected function get($outDocUid=null) protected function get($outDocUid = null)
{ {
$result = array(); $result = array();
try { try {
@@ -44,7 +45,7 @@ class Services_Rest_OutputDocument
$criteria->addSelectColumn(OutputDocumentPeer::OUT_DOC_PDF_SECURITY_OPEN_PASSWORD); $criteria->addSelectColumn(OutputDocumentPeer::OUT_DOC_PDF_SECURITY_OPEN_PASSWORD);
$criteria->addSelectColumn(OutputDocumentPeer::OUT_DOC_PDF_SECURITY_OWNER_PASSWORD); $criteria->addSelectColumn(OutputDocumentPeer::OUT_DOC_PDF_SECURITY_OWNER_PASSWORD);
$criteria->addSelectColumn(OutputDocumentPeer::OUT_DOC_PDF_SECURITY_PERMISSIONS); $criteria->addSelectColumn(OutputDocumentPeer::OUT_DOC_PDF_SECURITY_PERMISSIONS);
$dataset = AppEventPeer::doSelectRS($criteria); $dataset = AppEventPeer::doSelectRS($criteria);
$dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
@@ -65,7 +66,7 @@ class Services_Rest_OutputDocument
$paramValues .= "NULL"; $paramValues .= "NULL";
} }
} }
throw new RestException(417, "table OutputDocument ($paramValues)" ); throw new RestException(417, "table OutputDocument ($paramValues)");
} }
} }
} catch (RestException $e) { } catch (RestException $e) {
@@ -76,6 +77,5 @@ class Services_Rest_OutputDocument
return $result; return $result;
} }
} }