/** * To implement pmos translation function on smarty templates * * example use: * * <h1>{translate label="ID_HOME_TITLE"}</h1> * * @params $params mixed array containg all parameters passed from smarty plugin call * @author Erik Amaru Ortiz <aortiz.erik@gmail.com, erik@colosa.com> */ function translate($params) { if (array_key_exists('lang', $params)) { $lang = $params['lang']; } elseif (defined('SYS_LANG')) { $lang = SYS_LANG; } else { $lang = 'en'; } if (!array_key_exists('label', $params)) { throw new Exception('Error: Param "label" is missing on "tranlate" smarty function, it should be called like: {translate label="SOME_LABEL_ID"}'); } echo G::loadTranslation($params['label'], $lang); }
function lookforchildren($parent, $level) { global $xVar; global $template; global $lastDept; $oDept = new Department(); $allDepartments = $oDept->getDepartments($parent); $level = $level + 1; if (!isset($lastDept[$level])) { $lastDept[$level] = true; } $lastDept[$level] = true; foreach ($allDepartments as $department) { $xVar++; $depUID = htmlentities($department['DEP_UID']); $depTitle = strip_tags($department['DEP_TITLE']); $template->newBlock('department'); $template->assign('xVar', $xVar); $template->assign('UID', $depUID); $template->assign('DEPO_TITLE', $depTitle); $template->assign('ID_EDIT', G::LoadTranslation('ID_EDIT')); $template->assign('ID_MEMBERS', G::LoadTranslation('ID_MEMBERS')); $template->assign('ID_NEW', G::loadTranslation("ID_NEW")); for ($iLevel = 2; $iLevel <= $level; $iLevel++) { $template->newBlock('level'); $template->assign('UID', $iLevel); if ($iLevel == $level) { if ($department['DEP_LAST']) { $lastDept[$level] = false; } $template->assign('image', $department['DEP_LAST'] == 0 ? 'ftv2node' : 'ftv2lastnode'); $template->assign('background', $department['DEP_LAST'] == 0 ? 'ftv2vertline' : 'ftv2blank'); } else { $template->assign('image', 'ftv2blank'); $template->assign('background', $lastDept[$iLevel] ? 'ftv2vertline' : 'ftv2blank'); } } if ($department['HAS_CHILDREN'] == 0) { $template->newBlock('delete'); $template->assign('UID', $depUID); $template->assign('ID_DELETE', G::LoadTranslation('ID_DELETE')); } lookforchildren($depUID, $level); } return; }
} else { $Fields['APP_DATA']['__DYNAFORM_OPTIONS']['PREVIOUS_STEP'] = $aPreviousStep['PAGE']; $Fields['APP_DATA']['__DYNAFORM_OPTIONS']['PREVIOUS_STEP_LABEL'] = G::loadTranslation("ID_PREVIOUS_STEP"); } $Fields['APP_DATA']['__DYNAFORM_OPTIONS']['NEXT_STEP'] = $aNextStep['PAGE']; $Fields['APP_DATA']['__DYNAFORM_OPTIONS']['NEXT_STEP_LABEL'] = G::loadTranslation("ID_NEXT_STEP"); /** Added By erik date: 16-05-08 * Description: this was added for the additional database connections */ G::LoadClass('dbConnections'); $oDbConnections = new dbConnections($_SESSION['PROCESS']); $oDbConnections->loadAdditionalConnections(); $stepFilename = "{$sNamespace}/{$sStepName}"; G::evalJScript("\n if (parent.setCurrent) {\n parent.setCurrent('" . $_GET['UID'] . "');\n }"); $G_PUBLISH->AddContent('content', $stepFilename); } else { $aMessage['MESSAGE'] = G::loadTranslation('ID_EXTERNAL_STEP_MISSING', SYS_LANG, array("plugin" => $sNamespace)); $G_PUBLISH->AddContent('xmlform', 'xmlform', 'login/showMessage', '', $aMessage); } break; } //Add content content step - End } catch (Exception $e) { G::SendTemporalMessage(G::LoadTranslation('ID_PROCESS_DEF_PROBLEM'), 'error', 'string', 3, 100); $aMessage = array(); $aMessage['MESSAGE'] = $e->getMessage(); $G_PUBLISH = new Publisher(); $G_PUBLISH->AddContent('xmlform', 'xmlform', 'login/showMessage', '', $aMessage); G::RenderPage('publish', 'blank'); die; } $oHeadPublisher =& headPublisher::getSingleton();
/** * Update data from a addTable record * * @param $row */ public function _dataUpdate($row, $primaryKeys) { $keys = G::decrypt($row['__index__'], 'pmtable'); $keys = explode(',', $keys); unset($row['__index__']); $params = array(); foreach ($keys as $key) { $params[] = is_numeric($key) ? $key : "'{$key}'"; } $obj = null; eval('$obj = ' . $this->classPeerName . '::retrieveByPk(' . implode(',', $params) . ');'); if (is_object($obj)) { foreach ($row as $key => $value) { // validation, don't modify primary keys if (in_array($key, $primaryKeys)) { throw new Exception(G::loadTranslation('ID_DONT_MODIFY_PK_VALUE', array($key))); } $action = 'set' . AdditionalTables::getPHPName($key); $obj->{$action}($value); } if ($r = $obj->validate()) { $obj->save(); $result = true; } else { $msg = ''; foreach ($obj->getValidationFailures() as $objValidationFailure) { $msg .= $objValidationFailure->getMessage() . "\n"; } throw new Exception($msg); } } else { $result = false; } return $result; }
global $_DBArray; $_DBArray ['langOptions'] = $availableLangArray; $_DBArray ['availableWorkspace'] = $availableWorkspaceArray; $_SESSION ['_DBArray'] = $_DBArray; $aField ['LOGIN_VERIFY_MSG'] = G::loadTranslation ('LOGIN_VERIFY_MSG'); $aField['USER_LANG'] = SYS_LANG; $G_PUBLISH = new Publisher (); if (!defined('WS_IN_LOGIN')) { define('WS_IN_LOGIN', 'serverconf'); } $fileLogin = '******';
echo G::json_encode($result); } catch (Exception $e) { $confParams = array('lang' => $lang, 'status' => 'failed'); $appCacheViewEngine = $oServerConf->setProperty('APP_CACHE_VIEW_ENGINE', $confParams); echo '{success: false, msg:"' . $e->getMessage() . '"}'; } break; case 'recreate-root': $sh = md5(filemtime(PATH_GULLIVER . "/class.g.php")); $h = G::encrypt($_POST['host'] . $sh . $_POST['user'] . $sh . $_POST['password'] . $sh . 1, $sh); $insertStatements = "define ( 'HASH_INSTALLATION','{$h}' ); \ndefine ( 'SYSTEM_HASH', '{$sh}' ); \n"; $lines = array(); $content = ''; $filename = PATH_HOME . 'engine' . PATH_SEP . 'config' . PATH_SEP . 'paths_installed.php'; $lines = file($filename); $count = 1; foreach ($lines as $line_num => $line) { $pos = strpos($line, "define"); if ($pos !== false && $count < 3) { $content = $content . $line; $count++; } } $content = "<?php \n" . $content . "\n" . $insertStatements . "\n"; if (file_put_contents($filename, $content) != false) { echo G::loadTranslation('ID_MESSAGE_ROOT_CHANGE_SUCESS'); } else { echo G::loadTranslation('ID_MESSAGE_ROOT_CHANGE_FAILURE'); } break; }
/** * import process fromLibrary: downloads and imports a process from the ProcessMaker library * * @param string sessionId : The session ID (which was obtained at login). * @param string processId : * @param string version : * @param string importOption : * @param string usernameLibrary : The username to obtain access to the ProcessMaker library. * @param string passwordLibrary : The password to obtain access to the ProcessMaker library. * @return $eturns will return an object */ public function getCaseNotes ($applicationID, $userUid = '') { try { G::LoadClass( 'case' ); $result = new wsGetCaseNotesResponse( 0, G::loadTranslation( 'ID_SUCCESS' ), Cases::getCaseNotes( $applicationID, 'array', $userUid ) ); $var = array (); foreach ($result->notes as $key => $value) { $var2 = array (); foreach ($value as $keys => $values) { $field = strtolower( $keys ); $var2[$field] = $values; } $var[] = $var2; } $result->notes = $var; return $result; } catch (Exception $e) { $result = new wsResponse( 100, $e->getMessage() ); return $result; } }
public function getUsersFromDepartment($sDepUid, $sManagerUid) { try { $oCriteria = new Criteria('workflow'); $oCriteria->addSelectColumn(UsersPeer::USR_UID); $oCriteria->addSelectColumn(UsersPeer::USR_REPORTS_TO); $oCriteria->add(UsersPeer::USR_STATUS, 'CLOSED', Criteria::NOT_EQUAL); $oCriteria->add(UsersPeer::DEP_UID, $sDepUid); $rs = UsersPeer::doSelectRS($oCriteria); $rs->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oUser = new Users(); $aUsers[] = array('USR_UID' => 'char', 'USR_USERNAME' => 'char', 'USR_FULLNAME' => 'char', 'USR_REPORTS_TO' => 'char', 'USR_MANAGER' => 'char'); $rs->next(); $row = $rs->getRow(); while (is_array($row)) { $usrFields = $oUser->LoadDetails($row['USR_UID']); $row['USR_USERNAME'] = $usrFields['USR_USERNAME']; $row['USR_FULLNAME'] = $usrFields['USR_FULLNAME']; $row['USR_MANAGER'] = $row['USR_UID'] == $sManagerUid ? G::loadTranslation("ID_YES") : G::loadTranslation("ID_NO"); $row['DEP_UID'] = $sDepUid; if ($row['USR_REPORTS_TO'] != '') { try { $managerFields = $oUser->LoadDetails($row['USR_REPORTS_TO']); $row['USR_REPORTS_NAME'] = $managerFields['USR_FULLNAME']; } catch (exception $e) { $row['USR_REPORTS_NAME'] = '.'; } } else { $row['USR_REPORTS_NAME'] = '.'; } $aUsers[] = $row; $rs->next(); $row = $rs->getRow(); } G::LoadClass('ArrayPeer'); global $_DBArray; $_DBArray['DepartmentUserList'] = $aUsers; $_SESSION['_DBArray'] = $_DBArray; $oCriteriaT = new Criteria('dbarray'); $oCriteriaT->setDBArrayTable('DepartmentUserList'); return $oCriteriaT; } catch (exception $e) { throw $e; } }
if (isset($_GET['type'])) { $sType = $_GET['type']; } else { $sType = ''; } try { $aNextStep = $oCase->getNextSupervisorStep($_SESSION['PROCESS'], $_SESSION['STEP_POSITION'], $sType); $aPreviousStep = $oCase->getPreviousSupervisorStep($_SESSION['PROCESS'], $_SESSION['STEP_POSITION'], $sType); } catch (exception $e) { G::SendTemporalMessage($e->getMessage(), 'error', 'string'); } if (!$aPreviousStep) { $Fields['APP_DATA']['__DYNAFORM_OPTIONS']['PREVIOUS_STEP_LABEL'] = ''; } else { $Fields['APP_DATA']['__DYNAFORM_OPTIONS']['PREVIOUS_STEP'] = 'cases_StepToRevise?type=DYNAFORM&DYN_UID=' . $aPreviousStep['UID'] . '&position=' . $aPreviousStep['POSITION'] . '&APP_UID=' . $_GET['APP_UID'] . '&DEL_INDEX=' . $_GET['DEL_INDEX']; $Fields['APP_DATA']['__DYNAFORM_OPTIONS']['PREVIOUS_STEP_LABEL'] = G::loadTranslation("ID_PREVIOUS_STEP"); } $Fields['APP_DATA']['__DYNAFORM_OPTIONS']['NEXT_STEP'] = 'cases_StepToRevise?type=DYNAFORM&DYN_UID=' . $aNextStep['UID'] . '&position=' . $aNextStep['POSITION'] . '&APP_UID=' . $_GET['APP_UID'] . '&DEL_INDEX=' . $_GET['DEL_INDEX']; /** Added By erik * date: 16-05-08 * Description: this was added for the additional database connections */ G::LoadClass('dbConnections'); $oDbConnections = new dbConnections($_SESSION['PROCESS']); $oDbConnections->loadAdditionalConnections(); $G_PUBLISH = new Publisher(); if ($_GET['DYN_UID'] != '') { $_SESSION['CURRENT_DYN_UID'] = $_GET['DYN_UID']; $G_PUBLISH->AddContent('dynaform', 'xmlform', $_SESSION['PROCESS'] . '/' . $_GET['DYN_UID'], '', $Fields['APP_DATA'], 'cases_SaveDataSupervisor?UID=' . $_GET['DYN_UID']); } G::RenderPage('publish', 'blank'); if (!isset($_GET['ex'])) {
public function getUxTypesList($type = 'assoc') { $list = array(); if ($type == 'assoc') { $list = array('NORMAL' => G::loadTranslation('ID_UXS_NORMAL'), 'SIMPLIFIED' => G::loadTranslation('ID_UXS_SIMPLIFIED'), 'SWITCHABLE' => G::loadTranslation('ID_UXS_SWITCHABLE'), 'SINGLE' => G::loadTranslation('ID_UXS_SINGLE')); } else { $list = array(array('NORMAL', G::loadTranslation('ID_UXS_NORMAL')), array('SIMPLIFIED', G::loadTranslation('ID_UXS_SIMPLIFIED')), array('SWITCHABLE', G::loadTranslation('ID_UXS_SWITCHABLE')), array('SINGLE', G::loadTranslation('ID_UXS_SINGLE'))); } return $list; }
$_SESSION['TRIGGER_DEBUG']['info'][1]['TIME'] = 'AFTER'; $_SESSION['TRIGGER_DEBUG']['info'][1]['TRIGGERS_NAMES'] = $oCase->getTriggerNames($triggers); $_SESSION['TRIGGER_DEBUG']['info'][1]['TRIGGERS_VALUES'] = $triggers; } $oCase->updateCase($_SESSION['APPLICATION'], $appFields); // Send notifications - Start $oUser = new Users(); $aUser = $oUser->load($_SESSION['USER_LOGGED']); if (trim($aUser['USR_EMAIL']) == '') { $aUser['USR_EMAIL'] = 'info@' . $_SERVER['HTTP_HOST']; } $sFromName = '"' . $aUser['USR_FIRSTNAME'] . ' ' . $aUser['USR_LASTNAME'] . '" <' . $aUser['USR_EMAIL'] . '>'; try { $oCase->sendNotifications($_SESSION['TASK'], $_POST['form']['TASKS'], $appFields['APP_DATA'], $_SESSION['APPLICATION'], $_SESSION['INDEX'], $sFromName); } catch (Exception $e) { G::SendTemporalMessage(G::loadTranslation('ID_NOTIFICATION_ERROR') . ' - ' . $e->getMessage(), 'warning', 'string', null, '100%'); } // Send notifications - End // Events - Start $oEvent = new Event(); $oEvent->closeAppEvents($_SESSION['PROCESS'], $_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['TASK']); $oCurrentAppDel = AppDelegationPeer::retrieveByPk($_SESSION['APPLICATION'], $_SESSION['INDEX'] + 1); $multipleDelegation = false; // check if there are multiple derivations if (count($_POST['form']['TASKS']) > 1) { $multipleDelegation = true; } // If the case has been delegated if (isset($oCurrentAppDel)) { // if there is just a single derivation the TASK_UID can be set by the delegation data if (!$multipleDelegation) {
?> " href="#" onclick="__ActionDelete('<?php echo $node_name; ?> ', '<?php echo $node['__ATTRIBUTES__']['type']; ?> ');return false;"><img src="/images/e_Delete.png" width="15" height="15" border="0" onmouseout="backImage(this,'')" onmouseover="backImage(this,'url(/images/dynamicForm/hover.gif) no-repeat')"/></a> </div> <?php } else { ?> <div class="tool"><img src="/images/options.png" width="12" height="12" border="0"/> </div> <div class="jq-checkpointSubhead" style="display:none"> <a title="<?php echo G::loadTranslation('ID_REMOVE_FIELD'); ?> " href="#" onclick="__ActionDelete('<?php echo $node_name; ?> ', '<?php echo $node['__ATTRIBUTES__']['type']; ?> ');return false;"><img src="/images/e_Delete.png" width="15" height="15" border="0" onmouseout="backImage(this,'')" onmouseover="backImage(this,'url(/images/dynamicForm/hover.gif) no-repeat')"/></a> </div> <?php } ?> </td> </tr> </table>
case -2: G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels'); G::header('location: ../login/login'); die; break; case -1: G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels'); G::header('location: ../login/login'); die; break; } if (empty($_POST) || !isset($_POST['form'])) { if (empty($_FILES)) { throw new Exception(G::loadTranslation('ID_ERROR_UPLOADING_FILENAME')); } else { throw new Exception(G::loadTranslation('ID_POSTED_DATA_EMPTY')); } } $form = $_POST['form']; if (isset($_GET['USR_UID'])) { $form['USR_UID'] = $_GET['USR_UID']; } else { $form['USR_UID'] = ''; } if (isset($_FILES['form']['name']['USR_RESUME'])) { if ($_FILES['form']['tmp_name']['USR_RESUME'] != '') { $form['USR_RESUME'] = $_FILES['form']['name']['USR_RESUME']; } else { $form['USR_RESUME'] = ''; } }
private function _getSystemInfo() { G::LoadClass("system"); if (getenv('HTTP_CLIENT_IP')) { $ip = getenv('HTTP_CLIENT_IP'); } else { if (getenv('HTTP_X_FORWARDED_FOR')) { $ip = getenv('HTTP_X_FORWARDED_FOR'); } else { $ip = getenv('REMOTE_ADDR'); } } $redhat = ''; if (file_exists('/etc/redhat-release')) { $fnewsize = filesize('/etc/redhat-release'); $fp = fopen('/etc/redhat-release', 'r'); $redhat = trim(fread($fp, $fnewsize)); fclose($fp); } $redhat .= " (" . PHP_OS . ")"; if (defined("DB_HOST")) { G::LoadClass('net'); G::LoadClass('dbConnections'); $dbNetView = new NET(DB_HOST); $dbNetView->loginDbServer(DB_USER, DB_PASS); $dbConns = new dbConnections(''); $availdb = ''; foreach ($dbConns->getDbServicesAvailables() as $key => $val) { if ($availdb != '') { $availdb .= ', '; } $availdb .= $val['name']; } try { $sMySQLVersion = $dbNetView->getDbServerVersion(DB_ADAPTER); } catch (Exception $oException) { $sMySQLVersion = '?????'; } } if (file_exists(PATH_HTML . "lib/versions")) { $versions = json_decode(file_get_contents(PATH_HTML . "lib/versions"), true); $pmuiVer = $versions["pmui_ver"]; $mafeVer = $versions["mafe_ver"]; $pmdynaformVer = $versions["pmdynaform_ver"]; } else { $pmuiVer = $mafeVer = $pmdynaformVer = "(unknown)"; } $sysSection = G::loadTranslation('ID_SYSTEM_INFO'); $pmSection = G::LoadTranslation('ID_PROCESS_INFORMATION'); $properties = array(); $ee = class_exists('pmLicenseManager') ? " - Enterprise Edition" : ''; $systemName = 'ProcessMaker'; if (defined('SYSTEM_NAME')) { $systemName = SYSTEM_NAME; } $properties[] = array($systemName . ' Ver.', System::getVersion() . $ee, $pmSection); $properties[] = array("PMUI JS Lib. Ver.", $pmuiVer, $pmSection); $properties[] = array("MAFE JS Lib. Ver.", $mafeVer, $pmSection); $properties[] = array("PM Dynaform JS Lib. Ver.", $pmdynaformVer, $pmSection); if (file_exists(PATH_DATA . 'log/upgrades.log')) { $properties[] = array(G::LoadTranslation('ID_UPGRADES_PATCHES'), '<a href="#" onclick="showUpgradedLogs(); return false;">' . G::LoadTranslation('ID_UPGRADE_VIEW_LOG') . '</a>', $pmSection); } else { $properties[] = array(G::LoadTranslation('ID_UPGRADES_PATCHES'), G::LoadTranslation('ID_UPGRADE_NEVER_UPGRADE'), $pmSection); } $properties[] = array(G::LoadTranslation('ID_OPERATING_SYSTEM'), $redhat, $sysSection); $properties[] = array(G::LoadTranslation('ID_TIME_ZONE'), defined('TIME_ZONE') ? TIME_ZONE : "Unknown", $sysSection); $properties[] = array(G::LoadTranslation('ID_WEB_SERVER'), getenv('SERVER_SOFTWARE'), $sysSection); $properties[] = array(G::LoadTranslation('ID_SERVER_NAME'), getenv('SERVER_NAME'), $pmSection); $properties[] = array(G::LoadTranslation('ID_SERVER_IP'), $this->lookup($ip), $sysSection); $properties[] = array(G::LoadTranslation('ID_PHP_VERSION'), phpversion(), $sysSection); if (defined("DB_HOST")) { $properties[] = array(G::LoadTranslation('ID_DATABASE'), $dbNetView->dbName(DB_ADAPTER) . ' (Version ' . $sMySQLVersion . ')', $pmSection); $properties[] = array(G::LoadTranslation('ID_DATABASE_SERVER'), DB_HOST, $pmSection); $properties[] = array(G::LoadTranslation('ID_DATABASE_NAME'), DB_NAME, $pmSection); $properties[] = array(G::LoadTranslation('ID_AVAILABLE_DB'), $availdb, $sysSection); } else { $properties[] = array(G::LoadTranslation('ID_DATABASE'), "Not defined", $pmSection); $properties[] = array(G::LoadTranslation('ID_DATABASE_SERVER'), "Not defined", $pmSection); $properties[] = array(G::LoadTranslation('ID_DATABASE_NAME'), "Not defined", $pmSection); $properties[] = array(G::LoadTranslation('ID_AVAILABLE_DB'), "Not defined", $sysSection); } $properties[] = array(G::LoadTranslation('ID_WORKSPACE'), defined("SYS_SYS") ? SYS_SYS : "Not defined", $pmSection); $properties[] = array(G::LoadTranslation('ID_SERVER_PROTOCOL'), getenv('SERVER_PROTOCOL'), $sysSection); $properties[] = array(G::LoadTranslation('ID_SERVER_PORT'), getenv('SERVER_PORT'), $sysSection); //$sysSection[] = array('Remote Host', getenv ('REMOTE_HOST'), $sysSection); $properties[] = array(G::LoadTranslation('ID_SERVER_NAME'), getenv('SERVER_ADDR'), $sysSection); $properties[] = array(G::LoadTranslation('ID_USER_BROWSER'), getenv('HTTP_USER_AGENT'), $sysSection); return $properties; }
private function _getSystemInfo() { G::LoadClass("system"); if (getenv('HTTP_CLIENT_IP')) { $ip = getenv('HTTP_CLIENT_IP'); } else { if (getenv('HTTP_X_FORWARDED_FOR')) { $ip = getenv('HTTP_X_FORWARDED_FOR'); } else { $ip = getenv('REMOTE_ADDR'); } } $redhat = ''; if (file_exists('/etc/redhat-release')) { $fnewsize = filesize('/etc/redhat-release'); $fp = fopen('/etc/redhat-release', 'r'); $redhat = trim(fread($fp, $fnewsize)); fclose($fp); } $redhat .= " (" . PHP_OS . ")"; if (defined("DB_HOST")) { G::LoadClass('net'); G::LoadClass('dbConnections'); $dbNetView = new NET(DB_HOST); $dbNetView->loginDbServer(DB_USER, DB_PASS); $dbConns = new dbConnections(''); $availdb = ''; foreach ($dbConns->getDbServicesAvailables() as $key => $val) { if ($availdb != '') { $availdb .= ', '; } $availdb .= $val['name']; } try { $sMySQLVersion = $dbNetView->getDbServerVersion(DB_ADAPTER); } catch (Exception $oException) { $sMySQLVersion = '?????'; } } $sysSection = G::loadTranslation('ID_SYSTEM_INFO'); $pmSection = 'ProcessMaker Information'; $properties = array(); $ee = class_exists('pmLicenseManager') ? " - Enterprise Edition" : ''; $properties[] = array('ProcessMaker Ver.', System::getVersion() . $ee, $pmSection); $properties[] = array('Operating System', $redhat, $sysSection); $properties[] = array('Time Zone', defined('TIME_ZONE') ? TIME_ZONE : "Unknown", $sysSection); $properties[] = array('Web Server', getenv('SERVER_SOFTWARE'), $sysSection); $properties[] = array('Server Name', getenv('SERVER_NAME'), $pmSection); $properties[] = array('Server IP Address', $this->lookup($ip), $sysSection); $properties[] = array('PHP Version', phpversion(), $sysSection); if (defined("DB_HOST")) { $properties[] = array('Data Base', $dbNetView->dbName(DB_ADAPTER) . ' (Version ' . $sMySQLVersion . ')', $pmSection); $properties[] = array('Data Base Server', DB_HOST, $pmSection); $properties[] = array('Data Base Name', DB_NAME, $pmSection); $properties[] = array('Available DB Engines', $availdb, $sysSection); } else { $properties[] = array('Data Base', "Not defined", $pmSection); $properties[] = array('Data Base Server', "Not defined", $pmSection); $properties[] = array('Data Base Name', "Not defined", $pmSection); $properties[] = array('Available DB Engines', "Not defined", $sysSection); } $properties[] = array('Workspace', defined("SYS_SYS") ? SYS_SYS : "Not defined", $pmSection); $properties[] = array('Server Protocol', getenv('SERVER_PROTOCOL'), $sysSection); $properties[] = array('Server Port', getenv('SERVER_PORT'), $sysSection); //$properties[] = array('Remote Host', getenv ('REMOTE_HOST'), $sysSection); $properties[] = array('Server Addr.', getenv('SERVER_ADDR'), $sysSection); $properties[] = array('User\'s Browser', getenv('HTTP_USER_AGENT'), $sysSection); return $properties; }
/** * processFilesManager * * @param string $sProcessUID * @return void */ public function processFilesManager($sProcessUID) { G::LoadClass('ArrayPeer'); global $_DBArray; global $G_PUBLISH; $oCriteria = new Criteria('dbarray'); $G_PUBLISH = new Publisher(); $aDirectories = array(); $aDirectories[] = array('DIRECTORY' => 'char'); $aDirectories[] = array('DIRECTORY' => '<a href="#" onclick="goToDirectory(\'' . $sProcessUID . '\', \'mailTemplates\', \'\');" class="pagedTableHeader">' . G::loadTranslation('ID_TEMPLATES') . '</a>'); $aDirectories[] = array('DIRECTORY' => '<a href="#" onclick="goToDirectory(\'' . $sProcessUID . '\', \'public\', \'\');" class="pagedTableHeader">' . G::loadTranslation('ID_PUBLIC') . '</a>'); $_DBArray = isset($_SESSION['_DBArray']) ? $_SESSION['_DBArray'] : ''; $_DBArray['directories'] = $aDirectories; $_SESSION['_DBArray'] = $_DBArray; $oCriteria->setDBArrayTable('directories'); $G_PUBLISH->AddContent('propeltable', 'paged-table', 'processes/processes_DirectoriesList', $oCriteria); G::RenderPage('publish', 'raw'); }
/** * Function printTemplate * * @author David S. Callizaya S. <*****@*****.**> * @access public * @param string form * @param string target * @return string */ public function printTemplate(&$form, $target = 'smarty') { if (strcasecmp($target, 'smarty') === 0) { $varPrefix = '$'; } if (strcasecmp($target, 'templatePower') === 0) { $varPrefix = ''; } $ft = new StdClass(); foreach ($form as $name => $value) { if ($name !== 'fields' && $value !== '') { $ft->{$name} = '{$form_' . $name . '}'; } if ($name === 'cols') { $ft->{$name} = $value; } if ($name === 'owner') { $ft->owner =& $form->owner; } if ($name === 'deleteRow') { $ft->deleteRow = $form->deleteRow; } if ($name === 'addRow') { $ft->addRow = $form->addRow; } if ($name === 'editRow') { $ft->editRow = $form->editRow; } } if (!isset($ft->action)) { $ft->action = '{$form_action}'; } $hasRequiredFields = false; foreach ($form->fields as $k => $v) { $ft->fields[$k] = $v->cloneObject(); $ft->fields[$k]->label = '{' . $varPrefix . $k . '}'; if ($form->type === 'grid') { if (strcasecmp($target, 'smarty') === 0) { $ft->fields[$k]->field = '{' . $varPrefix . 'form.' . $k . '[row]}'; } if (strcasecmp($target, 'templatePower') === 0) { $ft->fields[$k]->field = '{' . $varPrefix . 'form[' . $k . '][row]}'; } } else { if (strcasecmp($target, 'smarty') === 0) { $ft->fields[$k]->field = '{' . $varPrefix . 'form.' . $k . '}'; } if (strcasecmp($target, 'templatePower') === 0) { $ft->fields[$k]->field = '{' . $varPrefix . 'form[' . $k . ']}'; } } $hasRequiredFields = $hasRequiredFields | (isset($v->required) && $v->required == '1' && $v->mode == 'edit'); if ($v->type == 'xmlmenu') { $menu = $v; } } if (isset($menu)) { if (isset($menu->owner->values['__DYNAFORM_OPTIONS']['PREVIOUS_STEP'])) { $prevStep_url = $menu->owner->values['__DYNAFORM_OPTIONS']['PREVIOUS_STEP']; $this->assign('prevStep_url', $prevStep_url); $this->assign('prevStep_label', G::loadTranslation('ID_BACK')); } } $this->assign('hasRequiredFields', $hasRequiredFields); $this->assign('form', $ft); $this->assign('printTemplate', true); $this->assign('printJSFile', false); $this->assign('printJavaScript', false); //$this->assign ( 'dynaformSetFocus', "try {literal}{{/literal} dynaformSetFocus();}catch(e){literal}{{/literal}}" ); return $this->fetch($this->templateFile); }
/** * Test DataBase Connection * @var string $dataCon. Data for DataBase Connection * @var string $returnArray. Flag for url * * @author Brayan Pereyra (Cochalo) <*****@*****.**> * @copyright Colosa - Bolivia * * @return void */ public function testConnection($dataCon, $returnArray = false) { $resp = array(); $respTest = array(); $resp['resp'] = false; $dataCon = array_change_key_case($dataCon, CASE_UPPER); $flagTns = $dataCon["DBS_TYPE"] == "oracle" && $dataCon["DBS_CONNECTION_TYPE"] == "TNS" ? 1 : 0; G::LoadClass('net'); if ($flagTns == 0) { $Server = new \NET($dataCon['DBS_SERVER']); // STEP 1 : Resolving Host Name $respTest['0'] = array(); $respTest['0']['test'] = G::loadTranslation('RESOLVING_NAME') . ' ' . $dataCon['DBS_SERVER']; if ($Server->getErrno() != 0) { if ($returnArray) { $respTest['0']['error'] = G::loadTranslation('ID_ERROR_HOST_NAME_FAILED') . ' : ' . $Server->error; } else { $resp['message'] = G::loadTranslation('ID_ERROR_HOST_NAME_FAILED') . ' : ' . $Server->error; return $resp; } } // STEP 2 : Checking port $respTest['1'] = array(); $respTest['1']['test'] = G::loadTranslation('ID_CHECK_PORT') . ' ' . $dataCon['DBS_PORT']; $Server->scannPort($dataCon['DBS_PORT']); if ($Server->getErrno() != 0) { if ($returnArray) { $respTest['1']['error'] = G::loadTranslation('ID_CHECK_PORT_FAILED') . ' : ' . $Server->error; } else { $resp['message'] = G::loadTranslation('ID_CHECK_PORT_FAILED') . ' : ' . $Server->error; return $resp; } } // STEP 3 : Trying to connect to host $respTest['2'] = array(); $respTest['2']['test'] = G::loadTranslation('ID_CONNECTING_TO_HOST') . ' ' . $dataCon['DBS_SERVER'] . ($dataCon['DBS_PORT'] != '' ? ':' . $dataCon['DBS_PORT'] : ''); $Server->loginDbServer($dataCon['DBS_USERNAME'], $dataCon['DBS_PASSWORD']); $Server->setDataBase($dataCon['DBS_DATABASE_NAME'], $dataCon['DBS_PORT']); if ($Server->errno == 0) { $response = $Server->tryConnectServer($dataCon['DBS_TYPE']); if ($response->status != 'SUCCESS') { if ($returnArray) { $respTest['2']['error'] = G::loadTranslation('ID_CONNECTING_TO_HOST_FAILED') . ' : ' . $Server->error; } else { $resp['message'] = G::loadTranslation('ID_CONNECTING_TO_HOST_FAILED') . ' : ' . $Server->error; return $resp; } } } else { if ($returnArray) { $respTest['2']['error'] = G::loadTranslation('ID_CONNECTING_TO_HOST_FAILED') . ' : ' . $Server->error; } else { $resp['message'] = G::loadTranslation('ID_CONNECTING_TO_HOST_FAILED') . ' : ' . $Server->error; return $resp; } } // STEP 4 : Trying to open database $respTest['3'] = array(); $respTest['3']['test'] = G::loadTranslation('ID_OPEN_DATABASE') . ' [' . $dataCon['DBS_DATABASE_NAME'] . ']'; $Server->loginDbServer($dataCon['DBS_USERNAME'], $dataCon['DBS_PASSWORD']); $Server->setDataBase($dataCon['DBS_DATABASE_NAME'], $dataCon['DBS_PORT']); if ($Server->errno == 0) { $response = $Server->tryConnectServer($dataCon['DBS_TYPE']); if ($response->status == 'SUCCESS') { $response = $Server->tryOpenDataBase($dataCon['DBS_TYPE']); if ($response->status != 'SUCCESS') { if ($returnArray) { $respTest['3']['error'] = G::loadTranslation('ID_CONNECTING_TO_DATABASE_FAILED') . ' : ' . $Server->error; } else { $resp['message'] = G::loadTranslation('ID_CONNECTING_TO_DATABASE_FAILED') . ' : ' . $Server->error; return $resp; } } } else { if ($returnArray) { $respTest['3']['error'] = G::loadTranslation('ID_CONNECTING_TO_DATABASE_FAILED') . ' : ' . $Server->error; } else { $resp['message'] = G::loadTranslation('ID_CONNECTING_TO_DATABASE_FAILED') . ' : ' . $Server->error; return $resp; } } } else { if ($returnArray) { $respTest['3']['error'] = G::loadTranslation('ID_CONNECTING_TO_DATABASE_FAILED') . ' : ' . $Server->error; } else { $resp['message'] = G::loadTranslation('ID_CONNECTING_TO_DATABASE_FAILED') . ' : ' . $Server->error; return $resp; } } } else { $net = new \NET(); //STEP 0: Trying to open database type TNS $respTest["0"] = array(); $respTest["0"]["test"] = G::loadTranslation('ID_TEST_DATABASE_ORACLE_TNS') . ' ' . $dataCon["DBS_TNS"]; $net->loginDbServer($dataCon["DBS_USERNAME"], $dataCon["DBS_PASSWORD"]); if ($net->errno == 0) { $arrayServerData = array("connectionType" => $dataCon["DBS_CONNECTION_TYPE"], "tns" => $dataCon["DBS_TNS"]); $response = $net->tryConnectServer($dataCon["DBS_TYPE"], $arrayServerData); if ($response->status == "SUCCESS") { $response = $net->tryOpenDataBase($dataCon["DBS_TYPE"], $arrayServerData); if ($response->status != "SUCCESS") { if ($returnArray) { $respTest["0"]["error"] = G::loadTranslation('ID_TEST_ERROR_ORACLE_TNS') . ', ' . $net->error; } else { $resp["message"] = G::loadTranslation('ID_TEST_ERROR_ORACLE_TNS') . ', ' . $net->error; //Return return $resp; } } } else { if ($returnArray) { $respTest["0"]["error"] = G::loadTranslation('ID_TEST_ERROR_ORACLE_TNS') . ', ' . $net->error; } else { $resp["message"] = G::loadTranslation('ID_TEST_ERROR_ORACLE_TNS') . ', ' . $net->error; //Return return $resp; } } } else { if ($returnArray) { $respTest["0"]["error"] = G::loadTranslation('ID_TEST_ERROR_ORACLE_TNS') . ', ' . $net->error; } else { $resp["message"] = G::loadTranslation('ID_TEST_ERROR_ORACLE_TNS') . ', ' . $net->error; //Return return $resp; } } } if ($returnArray) { return $respTest; } else { // CORRECT CONNECTION $resp['resp'] = true; return $resp; } }
//$GROUP_TITLE = htmlentities($group->getGrpTitle()); $GROUP_TITLE = strip_tags($group->getGrpTitle()); $htmlGroup .= "\r\n <tr id=\"{$xVar}\" onclick=\"focusRow(this, 'Selected')\" onmouseout=\"setRowClass(this, '{$RowClass}')\" onmouseover=\"setRowClass(this, 'RowPointer' )\" class=\"{$RowClass}\">\r\n <td><img src=\"/images/users.png\" border=\"0\" width=\"20\" height=\"20\"/></td>\r\n <td>{$GROUP_TITLE}</td>\r\n <td>[<a class=\"normal\" href=\"#\" onclick=\"editGroup('{$UID}');return false;\">{$ID_EDIT}</a>]</td>\r\n <td>[<a class=\"normal\" href=\"#\" onclick=\"selectGroup('{$UID}');return false;\">{$ID_MEMBERS}</a>]</td>\r\n <td>[<a href=\"#\" onclick=\"deleteGroup('{$UID}');return false;\">{$ID_DELETE}</a>]</td>\r\n </tr>"; } $htmlGroup .= "</table>"; echo '<div class="treeBase" style="width:' . $WIDTH_PANEL . 'px"> <div class="boxTop"><div class="a"></div><div class="b"></div><div class="c"></div></div> <div class="content"> <table class="treeNode"> <tr> <td valign="top"> <div class="boxTopBlue"><div class="a"></div><div class="b"></div><div class="c"></div></div> <div class="boxContentBlue"> <table width="95%" style="margin:0px;" cellspacing="0" cellpadding="0"> <tr> <td class="userGroupTitle">' . G::loadTranslation("ID_GROUPS") . '</td> </tr> </table> </div> <div class="boxBottomBlue"><div class="a"></div><div class="b"></div><div class="c"></div></div> <div class="userGroupLink"><a href="#" onclick="addGroup();return false;">' . G::LoadTranslation('ID_NEW') . '</a></div> <div id="groupsListDiv" style="height:350px; width:' . ($WIDTH_PANEL - 20) . 'px; overflow:auto"> <table class="pagedTableDefault"><tr><td>' . $htmlGroup . '</td></tr></table> </div> </td> </tr> </table> </div> <div class="boxBottom"><div class="a"></div><div class="b"></div><div class="c"></div></div>
public function calendarValidate($httpData) { $httpData = array_unique((array) $httpData); $message = ''; $oldName = isset($_POST['oldName']) ? $_POST['oldName'] : ''; switch ($_POST['action']) { case 'calendarName': require_once 'classes/model/CalendarDefinition.php'; $oCalendar = new CalendarDefinition(); $aCalendars = $oCalendar->getCalendarList(false, true); $aCalendarDefinitions = end($aCalendars); foreach ($aCalendarDefinitions as $aDefinitions) { if (trim($_POST['name']) == '') { $validated = false; $message = G::loadTranslation('ID_CALENDAR_INVALID_NAME'); break; } if ($aDefinitions['CALENDAR_NAME'] != $_POST['name']) { $validated = true; } else { if ($aDefinitions['CALENDAR_NAME'] != $oldName) { $validated = false; $message = G::loadTranslation('ID_CALENDAR_INVALID_NAME'); break; } } } break; case 'calendarDates': $validated = false; $message = G::loadTranslation('ID_CALENDAR_INVALID_WORK_DATES'); break; } return $message; }
public function getUserNameFormats() { $formats[] = Array('id' => '@firstName @lastName', //the id , don't translate 'name' => G::loadTranslation('ID_USERNAME_FORMAT_1') //label displayed, can be translated ); $formats[] = Array('id' => '@firstName @lastName (@userName)', 'name' => G::loadTranslation('ID_USERNAME_FORMAT_2')); $formats[] = Array('id' => '@userName', 'name' => G::loadTranslation('ID_USERNAME_FORMAT_3')); $formats[] = Array('id' => '@userName (@firstName @lastName)', 'name' => G::loadTranslation('ID_USERNAME_FORMAT_4')); $formats[] = Array('id' => '@lastName @firstName', 'name' => G::loadTranslation('ID_USERNAME_FORMAT_5')); $formats[] = Array('id' => '@lastName, @firstName', 'name' => G::loadTranslation('ID_USERNAME_FORMAT_6')); $formats[] = Array('id' => '@lastName, @firstName (@userName)', 'name' => G::loadTranslation('ID_USERNAME_FORMAT_7')); return $formats; }
function handleFatalErrors ($buffer) { G::LoadClass( 'case' ); $oCase = new Cases(); if (preg_match( '/(error<\/b>:)(.+)(<br)/', $buffer, $regs )) { $err = preg_replace( '/<.*?>/', '', $regs[2] ); $aAux = explode( ' in ', $err ); $sCode = isset($_SESSION['_CODE_']) ? $_SESSION['_CODE_'] : null; unset( $_SESSION['_CODE_'] ); registerError( 2, $aAux[0], 0, $sCode ); if (strpos( $_SERVER['REQUEST_URI'], '/cases/cases_Step' ) !== false) { if (strpos( $_SERVER['REQUEST_URI'], '&ACTION=GENERATE' ) !== false) { $aNextStep = $oCase->getNextStep( $_SESSION['PROCESS'], $_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['STEP_POSITION'] ); if ($_SESSION['TRIGGER_DEBUG']['ISSET']) { $_SESSION['TRIGGER_DEBUG']['TIME'] = G::toUpper(G::loadTranslation('ID_AFTER')); $_SESSION['TRIGGER_DEBUG']['BREAKPAGE'] = $aNextStep['PAGE']; $aNextStep['PAGE'] = $aNextStep['PAGE'] . '&breakpoint=triggerdebug'; } global $oPMScript; if (isset($oPMScript) && isset($_SESSION['APPLICATION'])) { $oPMScript->aFields['__ERROR__'] = $aAux[0]; $oCase->updateCase($_SESSION['APPLICATION'], array('APP_DATA' => $oPMScript->aFields)); } G::header( 'Location: ' . $aNextStep['PAGE'] ); die(); } $_SESSION['_NO_EXECUTE_TRIGGERS_'] = 1; global $oPMScript; if (isset($oPMScript) && isset($_SESSION['APPLICATION'])) { $oPMScript->aFields['__ERROR__'] = $aAux[0]; $oCase->updateCase($_SESSION['APPLICATION'], array('APP_DATA' => $oPMScript->aFields)); } G::header( 'Location: ' . $_SERVER['REQUEST_URI'] ); die(); } else { $aNextStep = $oCase->getNextStep( $_SESSION['PROCESS'], $_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['STEP_POSITION'] ); if (isset($_SESSION['TRIGGER_DEBUG']['ISSET']) && $_SESSION['TRIGGER_DEBUG']['ISSET']) { $_SESSION['TRIGGER_DEBUG']['TIME'] = G::toUpper(G::loadTranslation('ID_AFTER')); $_SESSION['TRIGGER_DEBUG']['BREAKPAGE'] = $aNextStep['PAGE']; $aNextStep['PAGE'] = $aNextStep['PAGE'] . '&breakpoint=triggerdebug'; } if (strpos( $aNextStep['PAGE'], 'TYPE=ASSIGN_TASK&UID=-1' ) !== false) { G::SendMessageText( 'Fatal error in trigger', 'error' ); } global $oPMScript; if (isset($oPMScript) && isset($_SESSION['APPLICATION'])) { $oPMScript->aFields['__ERROR__'] = $aAux[0]; $oCase->updateCase($_SESSION['APPLICATION'], array('APP_DATA' => $oPMScript->aFields)); } G::header( 'Location: ' . $aNextStep['PAGE'] ); die(); } } return $buffer; }
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); $aRow = $oDataset->getRow(); G::LoadClass('groups'); G::LoadClass('tree'); $groups = new Groups(); $tree = new Tree(); $tree->name = 'Users'; $tree->nodeType = "base"; $tree->width = "350px"; $tree->value = ' <div class="boxTopBlue"><div class="a"></div><div class="b"></div><div class="c"></div></div> <div class="boxContentBlue"> <table width="100%" style="margin:0px;" cellspacing="0" cellpadding="0"> <tr> <td class="userGroupTitle">' . G::loadTranslation("ID_ASSIGN_GROUP_TO") . ' ' . $aRow['USR_FIRSTNAME'] . ' ' . $aRow['USR_LASTNAME'] . '</td> </tr> </table> </div> <div class="boxBottomBlue"><div class="a"></div><div class="b"></div><div class="c"></div></div> <div class="userGroupLink"><a href="#" onclick="showUserGroups(\'' . $_GET['sUserUID'] . '\');return false;">' . G::LoadTranslation('ID_BACK_TO_GROUP_LIST') . '</a></div>'; $tree->showSign = false; $allGroups = $groups->getAllGroups(); foreach ($allGroups as $group) { $ID_ASSIGN = G::LoadTranslation('ID_ASSIGN'); $groupUID = htmlentities($group->getGrpUid()); $userUID = $_GET['sUserUID']; $GROUP_TITLE = strip_tags($group->getGrpTitle()); $html = <<<innerHTML \t <table cellspacing='0' cellpadding='0' border='1' style='border:0px;'> \t <tr>
/** * @Description This is the View of all groups from a determinated user * @author Erik Amaru Ortiz <*****@*****.**> * @Date 24/04/2008 * @LastModification 30/05/2008 * @Updated Nov 6th, 2009 bye Eriknyk */ G::LoadClass('net'); $host = new net($_POST['srv']); $width_content = '550px'; $html = ' <div class="boxTopBlue"><div class="a"></div><div class="b"></div><div class="c"></div></div> <div class="boxContentBlue"> <table style="margin:0px;" cellspacing="0" cellpadding="0"> <tr> <td class="userGroupTitle"><center>' . G::loadTranslation('ID_SETUP_MAILCONF_TITLE') . '</center></td> </tr> </table> </div> <div class="boxBottomBlue"><div class="a"></div><div class="b"></div><div class="c"></div></div>'; $tests = array('', 'Resolve host name ' . $_POST['srv'], 'Checking port <b>' . $_POST['port'] . '</b>', 'Establishing connection to host <b>' . $host->hostname . '</b>'); $tests[] = 'Login as <b>' . $_POST['account'] . '</b> on ' . $host->hostname . ' SMTP Server'; if ($_POST['send_test_mail'] == 'yes') { $tests[] = 'Sending a test mail from <b>' . $_POST['account'] . '</b> to ' . $_POST['mail_to'] . '...'; } $tree->showSign = false; $n = array('', 'uno', 'dos', 'tres', 'cuatro', 'cinco'); for ($i = 1; $i < count($tests); $i++) { $html .= "\r\n\t\t<div id='test_{$i}' style='display:none'>\r\n\t\t<table width='100%' cellspacing='0' cellpadding='0' border='1' style='border:0px;'>\r\n\t\t\t<tr>\r\n\t\t\t\t<td width=10 class='treeNode' style='border:0px;background-color:transparent;'><span id='status_{$i}'></span></td>\r\n\t\t\t\t<td width='*' class='treeNode' style='border:0px;background-color:transparent;'>\r\n\t\t\t\t <span id='action_{$i}'>{$tests[$i]}</span>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td width='*' class='treeNode' style='border:0px;background-color:transparent;' colspan='2'>\r\n\t\t\t\t <span id='status2_{$i}'></span>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t</table>\r\n\t\t</div>"; } echo '<div class="grid" style="width:' . $width_content . '">
/** * Prints the DynaformEditorAjax * * @param object $A * @return ob_get_clean */ public function render_preview($A) { ob_start(); $file = G::decrypt($A, URL_KEY); global $G_PUBLISH; $G_PUBLISH = new Publisher(); $G_PUBLISH->publisherId = 'preview'; $form = new Form($file, PATH_DYNAFORM, SYS_LANG, true, $G_PUBLISH->publisherId); switch (basename($form->template, '.html')) { case 'grid': $template = 'grid'; $aAux = array_keys($form->fields); if (count($aAux) > 0) { $aFields = array_combine($aAux, $aAux); } else { $aFields = $aAux; } if (is_array($aFields)) { foreach ($aFields as $key => $val) { $aFields[$key] = array(1 => "", 2 => "", 3 => "", 4 => "", 5 => ""); } } break; default: $template = 'xmlform_' . $G_PUBLISH->publisherId; $aFields = array('__DYNAFORM_OPTIONS' => array('PREVIOUS_STEP' => '#', 'NEXT_STEP' => '#', 'NEXT_STEP_LABEL' => G::loadTranslation('ID_NEXT_STEP'), 'PREVIOUS_ACTION' => 'return false;', 'NEXT_ACTION' => 'return false;')); } $G_PUBLISH->AddContent('dynaform', $template, $file, '', $aFields, ''); G::RenderPage('publish', 'raw'); return ob_get_clean(); }
} else { $sDependence = $aDependence['sClassName']; throw new Exception(G::loadTranslation('ID_PLUGIN_DEPENDENCE_PLUGIN', SYS_LANG, array("Dependence" => $sDependence))); } } } unset($oClass); if ($fVersionOld > $fVersionNew) { throw new Exception(G::loadTranslation('ID_RECENT_VERSION_PLUGIN')); } $res = $tar->extract(PATH_PLUGINS); } else { throw new Exception(G::loadTranslation('ID_FILE_CONTAIN_CLASS_PLUGIN', SYS_LANG, array("filename" => $filename, "className" => $sClassName))); } if (!file_exists(PATH_PLUGINS . $sClassName . '.php')) { throw new Exception(G::loadTranslation('ID_FILE_PLUGIN_NOT_EXISTS', SYS_LANG, array("pluginFile" => $pluginFile))); } require_once PATH_PLUGINS . $pluginFile; $oPluginRegistry->registerPlugin($sClassName, PATH_PLUGINS . $sClassName . ".php"); $size = file_put_contents(PATH_DATA_SITE . "plugin.singleton", $oPluginRegistry->serializeInstance()); $details = $oPluginRegistry->getPluginDetails($pluginFile); $oPluginRegistry->installPlugin($details->sNamespace); $oPluginRegistry->setupPlugins(); //get and setup enabled plugins $size = file_put_contents(PATH_DATA_SITE . "plugin.singleton", $oPluginRegistry->serializeInstance()); $response = $oPluginRegistry->verifyTranslation($details->sNamespace); G::auditLog("InstallPlugin", "Plugin Name: " . $details->sNamespace); //if ($response->recordsCountSuccess <= 0) { //throw (new Exception( 'The plugin ' . $details->sNamespace . ' couldn\'t verify any translation item. Verified Records:' . $response->recordsCountSuccess)); //} G::header("Location: pluginsMain");
function verifyIsCaseChild ($sApplicationUID, $delIndex = 0) { //Obtain the related row in the table SUB_APPLICATION $oCriteria = new Criteria( 'workflow' ); $oCriteria->add( SubApplicationPeer::APP_UID, $sApplicationUID ); $oDataset = SubApplicationPeer::doSelectRS( $oCriteria ); $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oDataset->next(); $aSA = $oDataset->getRow(); if ($aSA) { //Obtain the related row in the table SUB_PROCESS $oCase = new Cases(); $aParentCase = $oCase->loadCase( $aSA['APP_PARENT'], $aSA['DEL_INDEX_PARENT'] ); $oCriteria = new Criteria( 'workflow' ); $oCriteria->add( SubProcessPeer::PRO_PARENT, $aParentCase['PRO_UID'] ); $oCriteria->add( SubProcessPeer::TAS_PARENT, $aParentCase['TAS_UID'] ); $oDataset = SubProcessPeer::doSelectRS( $oCriteria ); $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oDataset->next(); $aSP = $oDataset->getRow(); if ($aSP['SP_SYNCHRONOUS'] == 1) { $appFields = $oCase->loadCase($sApplicationUID, $delIndex); //Copy case variables to parent case $aFields = unserialize( $aSP['SP_VARIABLES_IN'] ); $aNewFields = array (); foreach ($aFields as $sOriginField => $sTargetField) { $sOriginField = str_replace( '@', '', $sOriginField ); $sOriginField = str_replace( '#', '', $sOriginField ); $sOriginField = str_replace( '%', '', $sOriginField ); $sOriginField = str_replace( '?', '', $sOriginField ); $sOriginField = str_replace( '$', '', $sOriginField ); $sOriginField = str_replace( '=', '', $sOriginField ); $sTargetField = str_replace( '@', '', $sTargetField ); $sTargetField = str_replace( '#', '', $sTargetField ); $sTargetField = str_replace( '%', '', $sTargetField ); $sTargetField = str_replace( '?', '', $sTargetField ); $sTargetField = str_replace( '$', '', $sTargetField ); $sTargetField = str_replace( '=', '', $sTargetField ); $aNewFields[$sTargetField] = isset( $appFields['APP_DATA'][$sOriginField] ) ? $appFields['APP_DATA'][$sOriginField] : ''; if(isset($aParentCase['APP_DATA'][$sTargetField.'_label'])){ $aNewFields[$sTargetField.'_label'] = isset( $appFields['APP_DATA'][$sOriginField.'_label'] ) ? $appFields['APP_DATA'][$sOriginField.'_label'] : ''; } } $aParentCase['APP_DATA'] = array_merge( $aParentCase['APP_DATA'], $aNewFields ); $oCase->updateCase( $aSA['APP_PARENT'], $aParentCase ); /*----------------------------------********---------------------------------*/ //Update table SUB_APPLICATION $oSubApplication = new SubApplication(); $oSubApplication->update( array ('APP_UID' => $sApplicationUID,'APP_PARENT' => $aSA['APP_PARENT'],'DEL_INDEX_PARENT' => $aSA['DEL_INDEX_PARENT'],'DEL_THREAD_PARENT' => $aSA['DEL_THREAD_PARENT'],'SA_STATUS' => 'FINISHED','SA_VALUES_IN' => serialize( $aNewFields ),'SA_FINISH_DATE' => date( 'Y-m-d H:i:s' ) ) ); //Derive the parent case $aDeriveTasks = $this->prepareInformation( array ('USER_UID' => - 1,'APP_UID' => $aSA['APP_PARENT'],'DEL_INDEX' => $aSA['DEL_INDEX_PARENT'] ) ); if (isset( $aDeriveTasks[1] )) { if ($aDeriveTasks[1]['ROU_TYPE'] != 'SELECT') { $nextDelegations2 = array (); foreach ($aDeriveTasks as $aDeriveTask) { if (! isset( $aDeriveTask['NEXT_TASK']['USER_ASSIGNED']['USR_UID'] )) { $selectedUser = $aDeriveTask['NEXT_TASK']['USER_ASSIGNED'][0]; unset( $aDeriveTask['NEXT_TASK']['USER_ASSIGNED'] ); $aDeriveTask['NEXT_TASK']['USER_ASSIGNED'] = $selectedUser; $myLabels = array ($aDeriveTask['NEXT_TASK']['TAS_TITLE'],$aParentCase['APP_NUMBER'],$selectedUser['USR_USERNAME'],$selectedUser['USR_FIRSTNAME'],$selectedUser['USR_LASTNAME'] ); G::SendTemporalMessage( 'ID_TASK_WAS_ASSIGNED_TO_USER', 'warning', 'labels', 10, null, $myLabels ); } $nextDelegations2[] = array ('TAS_UID' => $aDeriveTask['NEXT_TASK']['TAS_UID'],'USR_UID' => $aDeriveTask['NEXT_TASK']['USER_ASSIGNED']['USR_UID'],'TAS_ASSIGN_TYPE' => $aDeriveTask['NEXT_TASK']['TAS_ASSIGN_TYPE'],'TAS_DEF_PROC_CODE' => $aDeriveTask['NEXT_TASK']['TAS_DEF_PROC_CODE'],'DEL_PRIORITY' => 3,'TAS_PARENT' => $aDeriveTask['NEXT_TASK']['TAS_PARENT'] ); } $currentDelegation2 = array ('APP_UID' => $aSA['APP_PARENT'],'DEL_INDEX' => $aSA['DEL_INDEX_PARENT'],'APP_STATUS' => 'TO_DO','TAS_UID' => $aParentCase['TAS_UID'],'ROU_TYPE' => $aDeriveTasks[1]['ROU_TYPE'] ); $this->derivate( $currentDelegation2, $nextDelegations2 ); if($delIndex > 0 ) { // Send notifications - Start $oUser = new Users(); $aUser = $oUser->load($appFields["CURRENT_USER_UID"]); $sFromName = $aUser["USR_FIRSTNAME"] . " " . $aUser["USR_LASTNAME"] . ($aUser["USR_EMAIL"] != "" ? " <" . $aUser["USR_EMAIL"] . ">" : ""); try { $oCase->sendNotifications($appFields["TAS_UID"], $nextDelegations2, $appFields["APP_DATA"], $sApplicationUID, $delIndex, $sFromName); } catch (Exception $e) { G::SendTemporalMessage(G::loadTranslation("ID_NOTIFICATION_ERROR") . " - " . $e->getMessage(), "warning", "string", null, "100%"); } // Send notifications - End } } } } } }
$Fields["APP_DATA"] = array_merge($Fields["APP_DATA"], $pmdynaform); } $Fields["APP_DATA"] = array_merge($Fields["APP_DATA"], G::getSystemConstants()); $Fields["APP_DATA"] = array_merge($Fields["APP_DATA"], $_POST["form"]); #here we must verify if is a debug session $trigger_debug_session = isset($_SESSION['TRIGGER_DEBUG']['ISSET']) ? $_SESSION['TRIGGER_DEBUG']['ISSET'] : null; #here we must verify if is a debugg session #trigger debug routines... //cleaning debug variables $_SESSION['TRIGGER_DEBUG']['ERRORS'] = array(); $_SESSION['TRIGGER_DEBUG']['DATA'] = array(); $_SESSION['TRIGGER_DEBUG']['TRIGGERS_NAMES'] = array(); $_SESSION['TRIGGER_DEBUG']['TRIGGERS_VALUES'] = array(); $triggers = $oCase->loadTriggers($_SESSION['TASK'], 'DYNAFORM', $_GET['UID'], 'AFTER'); $_SESSION['TRIGGER_DEBUG']['NUM_TRIGGERS'] = count($triggers); $_SESSION['TRIGGER_DEBUG']['TIME'] = G::toUpper(G::loadTranslation('ID_AFTER')); if ($_SESSION['TRIGGER_DEBUG']['NUM_TRIGGERS'] != 0) { $_SESSION['TRIGGER_DEBUG']['TRIGGERS_NAMES'] = $oCase->getTriggerNames($triggers); $_SESSION['TRIGGER_DEBUG']['TRIGGERS_VALUES'] = $triggers; $oProcess = new Process(); $oProcessFieds = $oProcess->Load($_SESSION['PROCESS']); //trigger debug routines... if (isset($oProcessFieds['PRO_DEBUG']) && $oProcessFieds['PRO_DEBUG']) { $trigger_debug_session = true; } } if ($_SESSION['TRIGGER_DEBUG']['NUM_TRIGGERS'] != 0) { //Execute after triggers - Start $Fields['APP_DATA'] = $oCase->ExecuteTriggers($_SESSION['TASK'], 'DYNAFORM', $_GET['UID'], 'AFTER', $Fields['APP_DATA']); //Execute after triggers - End }
private function _submenu() { require_once PATH_THIRDPARTY . 'smarty/libs/Smarty.class.php'; // put full path to Smarty.class.php global $G_ENABLE_BLANK_SKIN; //menu global $G_MAIN_MENU; global $G_SUB_MENU; global $G_MENU_SELECTED; global $G_SUB_MENU_SELECTED; global $G_ID_MENU_SELECTED; global $G_ID_SUB_MENU_SELECTED; G::verifyPath(PATH_SMARTY_C, true); G::verifyPath(PATH_SMARTY_CACHE, true); $smarty = new Smarty(); $oHeadPublisher =& headPublisher::getSingleton(); $smarty->template_dir = $this->layoutFileSubmenu['dirname']; $smarty->compile_dir = PATH_SMARTY_C; $smarty->cache_dir = PATH_SMARTY_CACHE; $smarty->config_dir = PATH_THIRDPARTY . 'smarty/configs'; if (isset($G_ENABLE_BLANK_SKIN) && $G_ENABLE_BLANK_SKIN) { $smarty->display($layoutFileBlank['basename']); } else { $header = ''; if (isset($oHeadPublisher)) { $oHeadPublisher->title = isset($_SESSION['USR_USERNAME']) ? '(' . $_SESSION['USR_USERNAME'] . ' ' . G::LoadTranslation('ID_IN') . ' ' . SYS_SYS . ')' : ''; $header = $oHeadPublisher->printHeader(); $header .= $oHeadPublisher->getExtJsStylesheets($this->cssFileName); } $footer = ''; if (strpos($_SERVER['REQUEST_URI'], '/login/login') !== false) { $freeOfChargeText = ""; if (!defined('SKIP_FREE_OF_CHARGE_TEXT')) { $freeOfChargeText = "Supplied free of charge with no support, certification, warranty, <br>maintenance nor indemnity by Colosa and its Certified Partners."; } if (class_exists('pmLicenseManager')) { $freeOfChargeText = ""; } $fileFooter = PATH_SKINS . SYS_SKIN . PATH_SEP . 'footer.html'; if (file_exists($fileFooter)) { $footer .= file_get_contents($fileFooter); } else { $fileFooter = PATH_SKIN_ENGINE . SYS_SKIN . PATH_SEP . 'footer.html'; if (file_exists($fileFooter)) { $footer .= file_get_contents($fileFooter); } else { $fileFooter = PATH_CUSTOM_SKINS . SYS_SKIN . PATH_SEP . 'footer.html'; if (file_exists($fileFooter)) { $footer .= file_get_contents($fileFooter); } else { $footer .= "<br />Copyright © 2003-" . date('Y') . " <a href=\"http://www.colosa.com\" alt=\"Colosa, Inc.\" target=\"_blank\">Colosa, Inc.</a> All rights reserved.<br /> {$freeOfChargeText} " . "<br><br/><a href=\"http://www.processmaker.com\" alt=\"Powered by ProcessMaker - Open Source Workflow & Business Process Management (BPM) Management Software\" title=\"Powered by ProcessMaker\" target=\"_blank\"></a>"; } } } } $oMenu = new Menu(); $menus = $oMenu->generateArrayForTemplate($G_MAIN_MENU, 'SelectedMenu', 'mainMenu', $G_MENU_SELECTED, $G_ID_MENU_SELECTED); $smarty->assign('menus', $menus); if (substr(SYS_SKIN, 0, 2) == 'ux') { $smarty->assign('exit_editor', 1); $smarty->assign('exit_editor_label', G::loadTranslation('ID_CLOSE_EDITOR')); } $oSubMenu = new Menu(); $subMenus = $oSubMenu->generateArrayForTemplate($G_SUB_MENU, 'selectedSubMenu', 'subMenu', $G_SUB_MENU_SELECTED, $G_ID_SUB_MENU_SELECTED); $smarty->assign('subMenus', $subMenus); if (!defined('NO_DISPLAY_USERNAME')) { define('NO_DISPLAY_USERNAME', 0); } if (NO_DISPLAY_USERNAME == 0) { $smarty->assign('userfullname', isset($_SESSION['USR_FULLNAME']) ? $_SESSION['USR_FULLNAME'] : ''); $smarty->assign('user', isset($_SESSION['USR_USERNAME']) ? '(' . $_SESSION['USR_USERNAME'] . ')' : ''); $smarty->assign('rolename', isset($_SESSION['USR_ROLENAME']) ? $_SESSION['USR_ROLENAME'] . '' : ''); $smarty->assign('pipe', isset($_SESSION['USR_USERNAME']) ? ' | ' : ''); $smarty->assign('logout', G::LoadTranslation('ID_LOGOUT')); $smarty->assign('workspace', defined('SYS_SYS') ? SYS_SYS : ''); $uws = isset($_SESSION['USR_ROLENAME']) && $_SESSION['USR_ROLENAME'] != '' ? strtolower(G::LoadTranslation('ID_WORKSPACE_USING')) : G::LoadTranslation('ID_WORKSPACE_USING'); $smarty->assign('workspace_label', $uws); G::LoadClass("configuration"); $conf = new Configurations(); $conf->getFormats(); if (defined('SYS_SYS')) { $smarty->assign('udate', $conf->getSystemDate(date('Y-m-d H:i:s'))); } else { $smarty->assign('udate', G::getformatedDate(date('Y-m-d'), 'M d, yyyy', SYS_LANG)); } $name = $conf->userNameFormat(isset($_SESSION['USR_USERNAME']) ? $_SESSION['USR_USERNAME'] : '', isset($_SESSION['USR_FULLNAME']) ? htmlentities($_SESSION['USR_FULLNAME'], ENT_QUOTES, 'UTF-8') : '', isset($_SESSION['USER_LOGGED']) ? $_SESSION['USER_LOGGED'] : ''); $smarty->assign('user', $name); } if (defined('SYS_SYS')) { $logout = '/sys' . SYS_SYS . '/' . SYS_LANG . '/' . SYS_SKIN . '/login/login'; } else { $logout = '/sys/' . SYS_LANG . '/' . SYS_SKIN . '/login/login'; } $smarty->assign('linklogout', $logout); $smarty->assign('header', $header); $smarty->assign('footer', $footer); $smarty->assign('tpl_menu', PATH_TEMPLATE . 'menu.html'); $smarty->assign('tpl_submenu', PATH_TEMPLATE . 'submenu.html'); if (class_exists('PMPluginRegistry')) { $oPluginRegistry =& PMPluginRegistry::getSingleton(); $sCompanyLogo = $oPluginRegistry->getCompanyLogo('/images/processmaker.logo.jpg'); } else { $sCompanyLogo = '/images/processmaker.logo.jpg'; } $smarty->assign('logo_company', $sCompanyLogo); $smarty->display($this->layoutFileSubmenu['basename']); } }
public function getUserNameFormats() { $formats[] = array('id' => '@firstName @lastName', 'name' => G::loadTranslation('ID_USERNAME_FORMAT_1')); $formats[] = array('id' => '@firstName @lastName (@userName)', 'name' => G::loadTranslation('ID_USERNAME_FORMAT_2')); $formats[] = array('id' => '@userName', 'name' => G::loadTranslation('ID_USERNAME_FORMAT_3')); $formats[] = array('id' => '@userName (@firstName @lastName)', 'name' => G::loadTranslation('ID_USERNAME_FORMAT_4')); $formats[] = array('id' => '@lastName @firstName', 'name' => G::loadTranslation('ID_USERNAME_FORMAT_5')); $formats[] = array('id' => '@lastName, @firstName', 'name' => G::loadTranslation('ID_USERNAME_FORMAT_6')); $formats[] = array('id' => '@lastName, @firstName (@userName)', 'name' => G::loadTranslation('ID_USERNAME_FORMAT_7')); return $formats; }