Merged master into dashboards2

This commit is contained in:
Dante Loayza
2015-03-31 13:19:03 -04:00
47 changed files with 344 additions and 170 deletions

View File

@@ -593,6 +593,7 @@ class Derivation
//Count how many tasks should be derivated.
//$countNextTask = count($nextDelegations);
$removeList = true;
foreach ($nextDelegations as $nextDel) {
//BpmnEvent - END-MESSAGE-EVENT - Check and get unique id
if (preg_match("/^(.{32})\/(\-1)$/", $nextDel["TAS_UID"], $arrayMatch)) {
@@ -745,16 +746,46 @@ class Derivation
} //switch
}
}
//SETS THE APP_PROC_CODE
//if (isset($nextDel['TAS_DEF_PROC_CODE']))
//$appFields['APP_PROC_CODE'] = $nextDel['TAS_DEF_PROC_CODE'];
/*----------------------------------********---------------------------------*/
if (!empty($iNewDelIndex) && empty($aSP)) {
$oAppDel = AppDelegationPeer::retrieveByPK( $appFields['APP_UID'], $iNewDelIndex );
$aFields = $oAppDel->toArray( BasePeer::TYPE_FIELDNAME );
$aFields['APP_STATUS'] = $currentDelegation['APP_STATUS'];
$inbox = new ListInbox();
$inbox->newRow($aFields, $appFields['CURRENT_USER_UID'], false, array(), ($nextDel['TAS_ASSIGN_TYPE'] == 'SELF_SERVICE' ? true : false));
if ($nextDel['TAS_UID'] != '-1') {
$taskCur = TaskPeer::retrieveByPK($nextDel['TAS_UID']);
$aTask = $taskCur->toArray( BasePeer::TYPE_FIELDNAME );
$arrayTaskTypeToExclude = array("WEBENTRYEVENT", "END-MESSAGE-EVENT", "START-MESSAGE-EVENT", "INTERMEDIATE-THROW-MESSAGE-EVENT", "INTERMEDIATE-CATCH-MESSAGE-EVENT");
if (!in_array($aTask['TAS_TYPE'], $arrayTaskTypeToExclude)) {
if (!empty($iNewDelIndex) && empty($aSP)) {
$oAppDel = AppDelegationPeer::retrieveByPK( $appFields['APP_UID'], $iNewDelIndex );
$aFields = $oAppDel->toArray( BasePeer::TYPE_FIELDNAME );
$aFields['APP_STATUS'] = $currentDelegation['APP_STATUS'];
$aFields['REMOVED_LIST'] = $removeList;
$inbox = new ListInbox();
$inbox->newRow($aFields, $appFields['CURRENT_USER_UID'], false, array(), ($nextDel['TAS_ASSIGN_TYPE'] == 'SELF_SERVICE' ? true : false));
$removeList = false;
} else {
if (empty($aSP)) {
$oRow = ApplicationPeer::retrieveByPK($appFields['APP_UID']);
$aFields = $oRow->toArray( BasePeer::TYPE_FIELDNAME );
$users = new Users();
if ($aFields['APP_STATUS'] == 'DRAFT') {
$users->refreshTotal($appFields['CURRENT_USER_UID'], 'remove', 'draft');
} else {
$users->refreshTotal($appFields['CURRENT_USER_UID'], 'remove', 'inbox');
}
}
}
} else {
$oRow = ApplicationPeer::retrieveByPK($appFields['APP_UID']);
$aFields = $oRow->toArray( BasePeer::TYPE_FIELDNAME );
$users = new Users();
if ($aFields['APP_STATUS'] == 'DRAFT') {
$users->refreshTotal($appFields['CURRENT_USER_UID'], 'remove', 'draft');
} else {
$users->refreshTotal($appFields['CURRENT_USER_UID'], 'remove', 'inbox');
}
}
}
/*----------------------------------********---------------------------------*/
unset( $aSP );

View File

@@ -515,6 +515,8 @@ class dynaformEditorAjax extends dynaformEditor implements iDynaformEditorAjax
*/
public function restore_html($A)
{
G::LoadSystem('inputfilter');
$filter = new InputFilter();
$script = null;
$fileTmp = G::decrypt($A, URL_KEY);
$form = new Form($fileTmp, PATH_DYNAFORM, SYS_LANG, true);
@@ -527,10 +529,11 @@ class dynaformEditorAjax extends dynaformEditor implements iDynaformEditorAjax
$form->enableTemplate = false;
$html = $form->printTemplate($form->template, $script);
$html = str_replace('{$form_className}', 'formDefault', $html);
if (file_exists(PATH_DYNAFORM . $fileTmp . '.html')) {
unlink(PATH_DYNAFORM . $fileTmp . '.html');
$pathTmp = $filter->xssFilterHard(PATH_DYNAFORM . $fileTmp . '.html', 'path');
if (file_exists($pathTmp)) {
unlink($pathTmp);
}
$fp = fopen(PATH_DYNAFORM . $fileTmp . '.html', 'w');
$fp = fopen($pathTmp, 'w');
fwrite($fp, $html);
fclose($fp);
@@ -546,6 +549,8 @@ class dynaformEditorAjax extends dynaformEditor implements iDynaformEditorAjax
public function set_htmlcode($A, $htmlcode)
{
try {
G::LoadSystem('inputfilter');
$filter = new InputFilter();
$iOcurrences = preg_match_all('/\{\$.*?\}/im', $htmlcode, $matches);
if ($iOcurrences) {
if (isset($matches[0])) {
@@ -561,6 +566,7 @@ class dynaformEditorAjax extends dynaformEditor implements iDynaformEditorAjax
$file = G::decrypt($A, URL_KEY);
$form = new Form($file, PATH_DYNAFORM, SYS_LANG, true);
$filename = substr($form->fileName, 0, - 3) . ($form->type === 'xmlform' ? '' : '.' . $form->type) . 'html';
$filename = $filter->xssFilterHard($filename, 'path');
$fp = fopen($filename, 'w');
fwrite($fp, $htmlcode);
fclose($fp);
@@ -598,10 +604,13 @@ class dynaformEditorAjax extends dynaformEditor implements iDynaformEditorAjax
*/
public function set_xmlcode($A, $xmlcode)
{
G::LoadSystem('inputfilter');
$filter = new InputFilter();
$xmlcode = urldecode($xmlcode);
$file = G::decrypt($A, URL_KEY);
$xmlcode = str_replace(' ', ' ', trim($xmlcode));
$fp = fopen(PATH_DYNAFORM . $file . '.xml', 'w');
$pathFile = $filter->xssFilterHard(PATH_DYNAFORM . $file . '.xml', "path");
$fp = fopen($pathFile, 'w');
fwrite($fp, $xmlcode);
fclose($fp);
return "";
@@ -647,6 +656,9 @@ class dynaformEditorAjax extends dynaformEditor implements iDynaformEditorAjax
*/
public function set_javascript($A, $fieldName, $sCode, $meta = '')
{
G::LoadSystem('inputfilter');
$filter = new InputFilter();
$fieldName = $filter->xssFilterHard($fieldName, 'path');
if ($fieldName == '___pm_boot_strap___') {
return 0;
}
@@ -661,8 +673,8 @@ class dynaformEditorAjax extends dynaformEditor implements iDynaformEditorAjax
*/
G::LoadSystem('dynaformhandler');
$dynaform = new dynaFormHandler(PATH_DYNAFORM . "{$file}.xml");
$pathFile = $filter->xssFilterHard(PATH_DYNAFORM . "{$file}.xml", 'path');
$dynaform = new dynaFormHandler($pathFile);
$dynaform->replace($fieldName, $fieldName, Array('type' => 'javascript', 'meta' => $meta, '#cdata' => $sCode
));
@@ -716,6 +728,8 @@ class dynaformEditorAjax extends dynaformEditor implements iDynaformEditorAjax
public function set_properties($A, $DYN_UID, $getFields)
{
try {
G::LoadSystem('inputfilter');
$filter = new InputFilter();
$post = array();
parse_str($getFields, $post);
$Fields = $post['form'];
@@ -729,8 +743,9 @@ class dynaformEditorAjax extends dynaformEditor implements iDynaformEditorAjax
$tmp['Properties'] = $Fields;
self::_setTmpData($tmp);
}
$dynaform = new dynaFormHandler(PATH_DYNAFORM . "{$file}.xml");
$dbc2 = new DBConnection(PATH_DYNAFORM . $file . '.xml', '', '', '', 'myxml');
$pathFile = $filter->xssFilterHard(PATH_DYNAFORM . "{$file}.xml", 'path');
$dynaform = new dynaFormHandler($pathFile);
$dbc2 = new DBConnection($pathFile, '', '', '', 'myxml');
$ses2 = new DBSession($dbc2);
//if (!isset($Fields['ENABLETEMPLATE'])) $Fields['ENABLETEMPLATE'] ="0";
@@ -791,13 +806,15 @@ class dynaformEditorAjax extends dynaformEditor implements iDynaformEditorAjax
*/
public function set_enabletemplate($A, $value)
{
G::LoadSystem('inputfilter');
$filter = new InputFilter();
$file = G::decrypt($A, URL_KEY);
$value = $value == "1" ? "1" : "0";
// $dbc2 = new DBConnection( PATH_DYNAFORM . $file . '.xml', '', '', '', 'myxml' );
// $ses2 = new DBSession( $dbc2 );
// $ses2->execute( "UPDATE . SET ENABLETEMPLATE = '$value'" );
$dynaform = new dynaFormHandler(PATH_DYNAFORM . "{$file}.xml");
$pathFile = $filter->xssFilterHard(PATH_DYNAFORM . "{$file}.xml", 'path');
$dynaform = new dynaFormHandler($pathFile);
$dynaform->modifyHeaderAttribute('enabletemplate', $value);
return $value;

View File

@@ -208,6 +208,13 @@ class NET
*/
public function tryConnectServer($pDbDriver, array $arrayServerData = array())
{
G::LoadSystem('inputfilter');
$filter = new InputFilter();
$this->ip = $filter->validateInput($this->ip);
$this->db_port = $filter->validateInput($this->db_port,'int');
$this->db_user = $filter->validateInput($this->db_user);
$this->db_passwd = $filter->validateInput($this->db_passwd);
$this->db_sourcename = $filter->validateInput($this->db_sourcename);
if ($this->errno != 0) {
return 0;
}
@@ -324,6 +331,13 @@ class NET
*/
public function tryOpenDataBase($pDbDriver, array $arrayServerData = array())
{
G::LoadSystem('inputfilter');
$filter = new InputFilter();
$this->ip = $filter->validateInput($this->ip);
$this->db_port = $filter->validateInput($this->db_port,'int');
$this->db_user = $filter->validateInput($this->db_user);
$this->db_passwd = $filter->validateInput($this->db_passwd);
$this->db_sourcename = $filter->validateInput($this->db_sourcename);
if ($this->errno != 0) {
return 0;
}

View File

@@ -35,6 +35,9 @@ class pmDynaform
public function getDynaform()
{
if (!isset($this->fields["CURRENT_DYNAFORM"])) {
return;
}
if ($this->record != null) {
return $this->record;
}
@@ -56,6 +59,9 @@ class pmDynaform
public function getCredentials()
{
if (!isset($_SESSION['USER_LOGGED'])) {
return;
}
if ($this->credentials != null) {
return $this->credentials;
}
@@ -430,3 +436,4 @@ class pmDynaform
}
}

View File

@@ -281,11 +281,14 @@ class System
*/
public function verifyFileForUpgrade ()
{
G::LoadSystem('inputfilter');
$filter = new InputFilter();
$upgradeFilename = isset( $_FILES['form']['name']['UPGRADE_FILENAME'] ) ? $_FILES['form']['name']['UPGRADE_FILENAME'] : '';
$tempFilename = isset( $_FILES['form']['tmp_name']['UPGRADE_FILENAME'] ) ? $_FILES['form']['tmp_name']['UPGRADE_FILENAME'] : '';
$this->sRevision = str_replace( '.tar.gz', '', str_replace( 'pmos-patch-', '', $upgradeFilename ) );
$sTemFilename = $tempFilename;
$this->sFilename = PATH_DATA . 'upgrade' . PATH_SEP . $upgradeFilename;
$pathFile = $filter->xssFilterHard(PATH_DATA . 'upgrade' . PATH_SEP . $upgradeFilename, 'path');
$this->sFilename = $pathFile;
$this->sPath = dirname( $this->sFilename ) . PATH_SEP;
G::mk_dir( PATH_DATA . 'upgrade' );
if (! move_uploaded_file( $sTemFilename, $this->sFilename )) {
@@ -615,8 +618,12 @@ class System
}
}
G::LoadSystem('inputfilter');
$filter = new InputFilter();
//clean up xmlform folders
$sDir = PATH_C . 'xmlform';
$sDir = $filter->xssFilterHard($sDir, 'path');
if (file_exists( $sDir ) && is_dir( $sDir )) {
$oDirectory = dir( $sDir );
while ($sObjectName = $oDirectory->read()) {
@@ -729,8 +736,11 @@ class System
*/
public static function getPluginSchema ($pluginName)
{
if (file_exists( PATH_PLUGINS . $pluginName . "/config/schema.xml" )) {
return System::getSchema( PATH_PLUGINS . $pluginName . "/config/schema.xml" );
G::LoadSystem('inputfilter');
$filter = new InputFilter();
$pathFile = $filter->xssFilterHard(PATH_PLUGINS . $pluginName . "/config/schema.xml", 'path');
if (file_exists( $pathFile )) {
return System::getSchema( $pathFile );
} else {
return false;
}

View File

@@ -1387,6 +1387,9 @@ class workspaceTools
static public function dirPerms($filename, $owner, $group, $perms)
{
G::LoadSystem('inputfilter');
$filter = new InputFilter();
$filename = $filter->xssFilterHard($filename, 'path');
$chown = @chown($filename, $owner);
$chgrp = @chgrp($filename, $group);
$chmod = @chmod($filename, $perms);

View File

@@ -215,7 +215,7 @@ class AddonsManager extends BaseAddonsManager
$var = explode("&", $aux[1]);
///////
$boundary = "---------------------" . substr(md5(rand(0, 32000)), 0, 10);
$boundary = "---------------------" . substr(G::encryptOld(rand(0, 32000)), 0, 10);
$data = null;
for ($i = 0; $i <= count($var) - 1; $i++) {

View File

@@ -272,12 +272,6 @@ class ListCanceled extends BaseListCanceled {
$criteria->addSelectColumn(ListCanceledPeer::DEL_INIT_DATE);
$criteria->addSelectColumn(ListCanceledPeer::DEL_DUE_DATE);
$criteria->addSelectColumn(ListCanceledPeer::DEL_PRIORITY);
$arrayTaskTypeToExclude = array("WEBENTRYEVENT", "END-MESSAGE-EVENT", "START-MESSAGE-EVENT", "INTERMEDIATE-THROW-MESSAGE-EVENT", "INTERMEDIATE-CATCH-MESSAGE-EVENT");
$criteria->addJoin(ListCanceledPeer::TAS_UID, TaskPeer::TAS_UID, Criteria::LEFT_JOIN);
$criteria->add(TaskPeer::TAS_TYPE, $arrayTaskTypeToExclude, Criteria::NOT_IN);
$criteria->add( ListCanceledPeer::USR_UID, $usr_uid, Criteria::EQUAL );
self::loadFilters($criteria, $filters);

View File

@@ -264,12 +264,6 @@ class ListCompleted extends BaseListCompleted
$criteria->addSelectColumn(ListCompletedPeer::DEL_CURRENT_USR_FIRSTNAME);
$criteria->addSelectColumn(ListCompletedPeer::DEL_CURRENT_USR_LASTNAME);
$criteria->addSelectColumn(ListCompletedPeer::DEL_CURRENT_USR_USERNAME);
$arrayTaskTypeToExclude = array("WEBENTRYEVENT", "END-MESSAGE-EVENT", "START-MESSAGE-EVENT", "INTERMEDIATE-THROW-MESSAGE-EVENT", "INTERMEDIATE-CATCH-MESSAGE-EVENT");
$criteria->addJoin(ListCompletedPeer::TAS_UID, TaskPeer::TAS_UID, Criteria::LEFT_JOIN);
$criteria->add(TaskPeer::TAS_TYPE, $arrayTaskTypeToExclude, Criteria::NOT_IN);
$criteria->add( ListCompletedPeer::USR_UID, $usr_uid, Criteria::EQUAL );
self::loadFilters($criteria, $filters);

View File

@@ -192,6 +192,11 @@ class ListInbox extends BaseListInbox
public function newRow ($data, $delPreviusUsrUid, $isInitSubprocess = false, $dataPreviusApplication = array(), $isSelfService = false)
{
$removeList = true;
if (isset($data['REMOVED_LIST'])) {
$removeList = $data['REMOVED_LIST'];
unset($data['REMOVED_LIST']);
}
$data['DEL_PREVIOUS_USR_UID'] = $delPreviusUsrUid;
if (isset($data['DEL_TASK_DUE_DATE'])) {
$data['DEL_DUE_DATE'] = $data['DEL_TASK_DUE_DATE'];
@@ -281,18 +286,20 @@ class ListInbox extends BaseListInbox
} else {
$oRow = ApplicationPeer::retrieveByPK($data['APP_UID']);
$aFields = $oRow->toArray( BasePeer::TYPE_FIELDNAME );
if ($data['DEL_INDEX'] == 2 || $aFields['APP_STATUS'] == 'DRAFT') {
$criteria = new Criteria();
$criteria->addSelectColumn(SubApplicationPeer::APP_UID);
$criteria->add( SubApplicationPeer::APP_UID, $data['APP_UID'], Criteria::EQUAL );
$dataset = SubApplicationPeer::doSelectRS($criteria);
if ($dataset->next()) {
$users->refreshTotal($delPreviusUsrUid, 'remove', 'inbox');
if ($removeList) {
if ($data['DEL_INDEX'] == 2 || $aFields['APP_STATUS'] == 'DRAFT') {
$criteria = new Criteria();
$criteria->addSelectColumn(SubApplicationPeer::APP_UID);
$criteria->add( SubApplicationPeer::APP_UID, $data['APP_UID'], Criteria::EQUAL );
$dataset = SubApplicationPeer::doSelectRS($criteria);
if ($dataset->next()) {
$users->refreshTotal($delPreviusUsrUid, 'remove', 'inbox');
} else {
$users->refreshTotal($delPreviusUsrUid, 'remove', 'draft');
}
} else {
$users->refreshTotal($delPreviusUsrUid, 'remove', 'draft');
$users->refreshTotal($delPreviusUsrUid, 'remove', 'inbox');
}
} else {
$users->refreshTotal($delPreviusUsrUid, 'remove', 'inbox');
}
if (!$isSelfService) {
$users->refreshTotal($data['USR_UID'], 'add', 'inbox');
@@ -411,12 +418,6 @@ class ListInbox extends BaseListInbox
$criteria->addSelectColumn(ListInboxPeer::DEL_INIT_DATE);
$criteria->addSelectColumn(ListInboxPeer::DEL_DUE_DATE);
$criteria->addSelectColumn(ListInboxPeer::DEL_PRIORITY);
$arrayTaskTypeToExclude = array("WEBENTRYEVENT", "END-MESSAGE-EVENT", "START-MESSAGE-EVENT", "INTERMEDIATE-THROW-MESSAGE-EVENT", "INTERMEDIATE-CATCH-MESSAGE-EVENT");
$criteria->addJoin(ListInboxPeer::TAS_UID, TaskPeer::TAS_UID, Criteria::LEFT_JOIN);
$criteria->add(TaskPeer::TAS_TYPE, $arrayTaskTypeToExclude, Criteria::NOT_IN);
$criteria->add( ListInboxPeer::USR_UID, $usr_uid, Criteria::EQUAL );
self::loadFilters($criteria, $filters);

View File

@@ -123,7 +123,10 @@ class ListMyInbox extends BaseListMyInbox
if ($data['DEL_INDEX'] == 1 && $data['APP_STATUS'] == 'TO_DO') {
$data['APP_CREATE_DATE'] = $data['APP_UPDATE_DATE'];
$this->remove($data['APP_UID'], $data['USR_UID']);
$oCriteria = new Criteria('workflow');
$oCriteria->add(ListMyInboxPeer::APP_UID, $data['APP_UID']);
$oCriteria->add(ListMyInboxPeer::USR_UID, $data['USR_UID']);
ListMyInboxPeer::doDelete($oCriteria);
$this->create($data);
} else {
unset($data['USR_UID']);
@@ -236,12 +239,6 @@ class ListMyInbox extends BaseListMyInbox
$criteria->addSelectColumn(ListMyInboxPeer::DEL_INIT_DATE);
$criteria->addSelectColumn(ListMyInboxPeer::DEL_DUE_DATE);
$criteria->addSelectColumn(ListMyInboxPeer::DEL_PRIORITY);
$arrayTaskTypeToExclude = array("WEBENTRYEVENT", "END-MESSAGE-EVENT", "START-MESSAGE-EVENT", "INTERMEDIATE-THROW-MESSAGE-EVENT", "INTERMEDIATE-CATCH-MESSAGE-EVENT");
$criteria->addJoin(ListMyInboxPeer::TAS_UID, TaskPeer::TAS_UID, Criteria::LEFT_JOIN);
$criteria->add(TaskPeer::TAS_TYPE, $arrayTaskTypeToExclude, Criteria::NOT_IN);
$criteria->add( ListMyInboxPeer::USR_UID, $usr_uid, Criteria::EQUAL );
self::loadFilters($criteria, $filters);

View File

@@ -194,12 +194,6 @@ class ListParticipatedHistory extends BaseListParticipatedHistory
$criteria->addSelectColumn(ListParticipatedHistoryPeer::DEL_INIT_DATE);
$criteria->addSelectColumn(ListParticipatedHistoryPeer::DEL_DUE_DATE);
$criteria->addSelectColumn(ListParticipatedHistoryPeer::DEL_PRIORITY);
$arrayTaskTypeToExclude = array("WEBENTRYEVENT", "END-MESSAGE-EVENT", "START-MESSAGE-EVENT", "INTERMEDIATE-THROW-MESSAGE-EVENT", "INTERMEDIATE-CATCH-MESSAGE-EVENT");
$criteria->addJoin(ListParticipatedHistoryPeer::TAS_UID, TaskPeer::TAS_UID, Criteria::LEFT_JOIN);
$criteria->add(TaskPeer::TAS_TYPE, $arrayTaskTypeToExclude, Criteria::NOT_IN);
$criteria->add( ListParticipatedHistoryPeer::USR_UID, $usr_uid, Criteria::EQUAL );
self::loadFilters($criteria, $filters);

View File

@@ -265,12 +265,6 @@ class ListParticipatedLast extends BaseListParticipatedLast
$criteria->addSelectColumn(ListParticipatedLastPeer::DEL_DUE_DATE);
$criteria->addSelectColumn(ListParticipatedLastPeer::DEL_PRIORITY);
$criteria->addSelectColumn(ListParticipatedLastPeer::DEL_THREAD_STATUS);
$arrayTaskTypeToExclude = array("WEBENTRYEVENT", "END-MESSAGE-EVENT", "START-MESSAGE-EVENT", "INTERMEDIATE-THROW-MESSAGE-EVENT", "INTERMEDIATE-CATCH-MESSAGE-EVENT");
$criteria->addJoin(ListParticipatedLastPeer::TAS_UID, TaskPeer::TAS_UID, Criteria::LEFT_JOIN);
$criteria->add(TaskPeer::TAS_TYPE, $arrayTaskTypeToExclude, Criteria::NOT_IN);
$criteria->add( ListParticipatedLastPeer::USR_UID, $usr_uid, Criteria::EQUAL );
self::loadFilters($criteria, $filters);

View File

@@ -308,12 +308,6 @@ class ListPaused extends BaseListPaused {
$criteria->addSelectColumn(ListPausedPeer::DEL_INIT_DATE);
$criteria->addSelectColumn(ListPausedPeer::DEL_DUE_DATE);
$criteria->addSelectColumn(ListPausedPeer::DEL_PRIORITY);
$arrayTaskTypeToExclude = array("WEBENTRYEVENT", "END-MESSAGE-EVENT", "START-MESSAGE-EVENT", "INTERMEDIATE-THROW-MESSAGE-EVENT", "INTERMEDIATE-CATCH-MESSAGE-EVENT");
$criteria->addJoin(ListPausedPeer::TAS_UID, TaskPeer::TAS_UID, Criteria::LEFT_JOIN);
$criteria->add(TaskPeer::TAS_TYPE, $arrayTaskTypeToExclude, Criteria::NOT_IN);
$criteria->add( ListPausedPeer::USR_UID, $usr_uid, Criteria::EQUAL );
self::loadFilters($criteria, $filters);

View File

@@ -263,12 +263,6 @@ class ListUnassigned extends BaseListUnassigned
$criteria->addSelectColumn(ListUnassignedPeer::DEL_DELEGATE_DATE);
$criteria->addSelectColumn(ListUnassignedPeer::DEL_DUE_DATE);
$criteria->addSelectColumn(ListUnassignedPeer::DEL_PRIORITY);
$arrayTaskTypeToExclude = array("WEBENTRYEVENT", "END-MESSAGE-EVENT", "START-MESSAGE-EVENT", "INTERMEDIATE-THROW-MESSAGE-EVENT", "INTERMEDIATE-CATCH-MESSAGE-EVENT");
$criteria->addJoin(ListUnassignedPeer::TAS_UID, TaskPeer::TAS_UID, Criteria::LEFT_JOIN);
$criteria->add(TaskPeer::TAS_TYPE, $arrayTaskTypeToExclude, Criteria::NOT_IN);
$aConditions = array();
$aConditions[] = array(ListUnassignedPeer::UNA_UID, ListUnassignedGroupPeer::UNA_UID);
$aConditions[] = array(ListUnassignedGroupPeer::USR_UID, "'" . $usr_uid . "'");

View File

@@ -1,4 +1,4 @@
<?php
<?php
/**
* adminProxy.php
*
@@ -1042,7 +1042,7 @@ class adminProxy extends HttpProxyController
$uploaded = 0;
$failed = 0;
$files_img_type = $filter->xssFilterHard($_FILES['img']['type']);
$files_img_type = $_FILES['img']['type'];
if (in_array($files_img_type, $allowedType)) {
// max upload file is 500 KB

View File

@@ -658,6 +658,8 @@ class Installer extends Controller
public function createMySQLWorkspace ()
{
G::LoadSystem('inputfilter');
$filter = new InputFilter();
ini_set( 'max_execution_time', '0' );
$info = new StdClass();
$info->result = false;
@@ -666,8 +668,11 @@ class Installer extends Controller
$db_hostname = trim( $_REQUEST['db_hostname'] );
$db_port = trim( $_REQUEST['db_port'] );
$db_port = $filter->validateInput($db_port);
$db_username = trim( $_REQUEST['db_username'] );
$db_username = $filter->validateInput($db_username);
$db_password = trim( $_REQUEST['db_password'] );
$db_password = $filter->validateInput($db_password);
$wf = trim( $_REQUEST['wfDatabase'] );
$rb = trim( $_REQUEST['wfDatabase'] );
$rp = trim( $_REQUEST['wfDatabase'] );
@@ -678,9 +683,12 @@ class Installer extends Controller
$pathShared = trim( $_REQUEST['pathShared'] );
$pathXmlforms = trim( $_REQUEST['pathXmlforms'] );
$adminPassword = trim( $_REQUEST['adminPassword'] );
$adminPassword = $filter->validateInput($adminPassword);
$adminUsername = trim( $_REQUEST['adminUsername'] );
$adminUsername = $filter->validateInput($adminUsername);
$deleteDB = ($_REQUEST['deleteDB'] == 'true');
$userLogged = (isset($_REQUEST['userLogged']) ? ($_REQUEST['userLogged'] == 'true') : false);
$userLogged = $filter->validateInput($userLogged);
if (substr( $pathShared, - 1 ) != '/') {
$pathShared .= '/';
@@ -986,6 +994,8 @@ class Installer extends Controller
public function createMSSQLWorkspace ()
{
G::LoadSystem('inputfilter');
$filter = new InputFilter();
ini_set( 'max_execution_time', '0' );
$info = new stdClass();
@@ -993,9 +1003,13 @@ class Installer extends Controller
$info->message = '';
$db_hostname = trim( $_REQUEST['db_hostname'] );
$db_hostname = $filter->validateInput($db_hostname);
$db_port = trim( $_REQUEST['db_port'] );
$db_port = $filter->validateInput($db_port);
$db_username = trim( $_REQUEST['db_username'] );
$db_username = $filter->validateInput($db_username);
$db_password = trim( $_REQUEST['db_password'] );
$db_password = $filter->validateInput($db_password);
$wf = trim( $_REQUEST['wfDatabase'] );
$rb = trim( $_REQUEST['wfDatabase'] );
$rp = trim( $_REQUEST['wfDatabase'] );
@@ -1268,9 +1282,13 @@ class Installer extends Controller
return $info;
}
$db_hostname = $_REQUEST['db_hostname'];
$db_port = $_REQUEST['db_port'];
$db_hostname = $filter->validateInput($db_hostname);
$db_port = $_REQUEST['db_port'];
$db_port = $filter->validateInput($db_port);
$db_username = $_REQUEST['db_username'];
$db_username = $filter->validateInput($db_username);
$db_password = $_REQUEST['db_password'];
$db_password = $filter->validateInput($db_password);
$fp = @fsockopen( $db_hostname, $db_port, $errno, $errstr, 30 );
if (! $fp) {
$info->message .= G::LoadTranslation('ID_CONNECTION_ERROR', SYS_LANG, Array("$errstr ($errno)"));
@@ -1303,6 +1321,8 @@ class Installer extends Controller
private function testMSSQLconnection ()
{
G::LoadSystem('inputfilter');
$filter = new InputFilter();
$info = new stdClass();
$info->result = false;
$info->message = '';
@@ -1313,9 +1333,13 @@ class Installer extends Controller
}
$db_hostname = $_REQUEST['db_hostname'];
$db_port = $_REQUEST['db_port'];
$db_hostname = $filter->validateInput($db_hostname);
$db_port = $_REQUEST['db_port'];
$db_port = $filter->validateInput($db_port);
$db_username = $_REQUEST['db_username'];
$db_username = $filter->validateInput($db_username);
$db_password = $_REQUEST['db_password'];
$db_password = $filter->validateInput($db_password);
$fp = @fsockopen( $db_hostname, $db_port, $errno, $errstr, 30 );
if (! $fp) {
@@ -1483,6 +1507,8 @@ class Installer extends Controller
public function buildParternExtras($username, $password, $workspace, $lang, $skinName)
{
G::LoadSystem('inputfilter');
$filter = new InputFilter();
ini_set('max_execution_time', '0');
ini_set('memory_limit', '256M');
@@ -1503,8 +1529,11 @@ class Installer extends Controller
chmod($cookiefile, 0777);
$user = urlencode($username);
$user = $filter->validateInput($user);
$pass = urlencode($password);
$pass = $filter->validateInput($pass);
$lang = urlencode($lang);
$lang = $filter->validateInput($lang);
$ch = curl_init();
@@ -1622,9 +1651,13 @@ class Installer extends Controller
$namePlugin = $dataPlugin['filename'];
if ($value != 'enterprise') {
$db_hostname = trim( $_REQUEST['db_hostname'] );
$db_hostname = $filter->validateInput($db_hostname);
$db_port = trim( $_REQUEST['db_port'] );
$db_port = $filter->validateInput($db_port);
$db_username = trim( $_REQUEST['db_username'] );
$db_username = $filter->validateInput($db_username);
$db_password = trim( $_REQUEST['db_password'] );
$db_password = $filter->validateInput($db_password);
$wf = trim( $_REQUEST['wfDatabase'] );
$db_host = ($db_port != '' && $db_port != 3306) ? $db_hostname . ':' . $db_port : $db_hostname;

View File

@@ -666,9 +666,12 @@ class pmTablesProxy extends HttpProxyController
public function importCSV ($httpData)
{
G::LoadClass('pmFunctions');
G::LoadSystem('inputfilter');
$filter = new InputFilter();
$countRow = 250;
if (preg_match( '/[\x00-\x08\x0b-\x0c\x0e\x1f]/', file_get_contents( $_FILES['form']['tmp_name']['CSV_FILE'] ) ) === 0) {
$filename = $_FILES['form']['name']['CSV_FILE'];
$filename = $filter->xssFilterHard($filename, 'path');
if ($oFile = fopen( $_FILES['form']['tmp_name']['CSV_FILE'], 'r' )) {
require_once 'classes/model/AdditionalTables.php';
$oAdditionalTables = new AdditionalTables();
@@ -762,8 +765,11 @@ class pmTablesProxy extends HttpProxyController
*/
public function importCSVDeprecated ($httpData)
{
G::LoadSystem('inputfilter');
$filter = new InputFilter();
if (preg_match( '/[\x00-\x08\x0b-\x0c\x0e\x1f]/', file_get_contents( $_FILES['form']['tmp_name']['CSV_FILE'] ) ) === 0) {
$filename = $_FILES['form']['name']['CSV_FILE'];
$filename = $filter->xssFilterHard($filename, 'path');
if ($oFile = fopen( $_FILES['form']['tmp_name']['CSV_FILE'], 'r' )) {
require_once 'classes/model/AdditionalTables.php';
$oAdditionalTables = new AdditionalTables();

View File

@@ -30,7 +30,10 @@ $G_TMP_MENU->AddIdRawOption('CASES_START_CASE', 'casesStartPage?action=startCase
G::LoadTranslation('ID_NEW_CASE'), '');
/*----------------------------------********---------------------------------*/
$G_TMP_MENU->AddIdRawOption('CASE_CONSOLIDATED_1', 'casesConsolidatedListExtJs?action=consolidated', 'Batch Routing', '');
$licensedFeatures = & PMLicensedFeatures::getSingleton();
if ($licensedFeatures->verifyfeature('7TTeDBQeWRoZTZKYjh4eFpYUlRDUUEyVERPU3FxellWank=')) {
$G_TMP_MENU->AddIdRawOption('CONSOLIDATED_CASES', 'casesConsolidatedListExtJs?action=consolidated', 'Batch Routing', '');
}
/*----------------------------------********---------------------------------*/
$G_TMP_MENU->AddIdRawOption('CASES_INBOX', 'casesListExtJs?action=todo', G::LoadTranslation('ID_INBOX'),

View File

@@ -54,6 +54,9 @@ exit;
function rangeDownload($location,$mimeType)
{
G::LoadSystem('inputfilter');
$filter = new InputFilter();
$location = $filter->xssFilterHard($location, "path");
if (!file_exists($location))
{
header ("HTTP/1.0 404 Not Found");

View File

@@ -518,16 +518,22 @@ try {
$util = new Java( "com.processmaker.util.pmutils" );
$util->setInputPath( $javaInput );
$util->setOutputPath( $javaOutput );
G::LoadSystem('inputfilter');
$filter = new InputFilter();
//$content = file_get_contents ( PATH_DYNAFORM . $aOD['PRO_UID'] . PATH_SEP . $aOD['OUT_DOC_UID'] . '.jrxml' );
//$iSize = file_put_contents ( $javaInput . $aOD['OUT_DOC_UID'] . '.jrxml', $content );
copy( PATH_DYNAFORM . $aOD['PRO_UID'] . PATH_SEP . $aOD['OUT_DOC_UID'] . '.jrxml', $javaInput . $aOD['OUT_DOC_UID'] . '.jrxml' );
$locationFrom = PATH_DYNAFORM . $aOD['PRO_UID'] . PATH_SEP . $aOD['OUT_DOC_UID'] . '.jrxml';
$locationFrom = $filter->validateInput($locationFrom, "path");
copy( $locationFrom, $javaInput . $aOD['OUT_DOC_UID'] . '.jrxml' );
$outputFile = $javaOutput . $sFilename . '.pdf';
print $util->jrxml2pdf( $aOD['OUT_DOC_UID'] . '.jrxml', basename( $outputFile ) );
//$content = file_get_contents ( $outputFile );
//$iSize = file_put_contents ( $pathOutput . $sFilename . '.pdf' , $content );
$outputFile = $filter->validateInput($outputFile, "path");
copy( $outputFile, $pathOutput . $sFilename . '.pdf' );
//die;
break;
@@ -547,13 +553,20 @@ try {
$util = new Java( "com.processmaker.util.pmutils" );
$util->setInputPath( $javaInput );
$util->setOutputPath( $javaOutput );
copy( PATH_DYNAFORM . $aOD['PRO_UID'] . PATH_SEP . $aOD['OUT_DOC_UID'] . '.pdf', $javaInput . $aOD['OUT_DOC_UID'] . '.pdf' );
G::LoadSystem('inputfilter');
$filter = new InputFilter();
$locationFrom = PATH_DYNAFORM . $aOD['PRO_UID'] . PATH_SEP . $aOD['OUT_DOC_UID'] . '.pdf';
$locationFrom = $filter->validateInput($locationFrom, "path");
copy( $locationFrom, $javaInput . $aOD['OUT_DOC_UID'] . '.pdf' );
$outputFile = $javaOutput . $sFilename . '.pdf';
print $util->writeVarsToAcroFields( $aOD['OUT_DOC_UID'] . '.pdf', $xmlData );
copy( $javaOutput . $aOD['OUT_DOC_UID'] . '.pdf', $pathOutput . $sFilename . '.pdf' );
$locationFrom = $javaOutput . $aOD['OUT_DOC_UID'] . '.pdf';
$locationFrom = $filter->validateInput($locationFrom, "path");
copy( $locationFrom, $pathOutput . $sFilename . '.pdf' );
break;
default:

View File

@@ -33,6 +33,8 @@ G::LoadClass( 'dynaFormField' );
G::LoadClass( 'process' );
G::LoadClass( 'dynaform' );
//G::LoadClass('configuration');
G::LoadSystem('inputfilter');
$filter = new InputFilter();
$G_MAIN_MENU = 'processmaker';
@@ -73,9 +75,10 @@ if (! file_exists( PATH_DYNAFORM . $file . '.xml' )) {
/* End Comment */
/* Start Comment: Create and temporal copy. */
$copy = implode( '', file( PATH_DYNAFORM . $file . '.xml' ) );
$pathFile = $filter->xssFilterHard(PATH_DYNAFORM . $file . '.xml', 'path');
$copy = implode( '', file( $pathFile ) );
$file .= '_tmp0';
$fcopy = fopen( PATH_DYNAFORM . $file . '.xml', "w" );
$fcopy = fopen( $pathFile , "w" );
fwrite( $fcopy, $copy );
fclose( $fcopy );
/* End Comment */

View File

@@ -36,6 +36,8 @@ if (! class_exists( "FieldCondition" )) {
try {
G::LoadSystem('inputfilter');
$filter = new InputFilter();
$frm = $_POST['form'];
$PRO_UID = $frm['PRO_UID'];
$DYN_UID = $frm['DYN_UID'];
@@ -62,6 +64,7 @@ try {
$hd = fopen( PATH_DYNAFORM . $PRO_UID . '/' . $DYN_UID . '.xml', "r" );
$hd1 = fopen( PATH_DYNAFORM . $PRO_UID . '/' . $dynUid . '.xml', "w" );
$templateFilename = PATH_DYNAFORM . $PRO_UID . '/' . $DYN_UID . '.html';
$templateFilename = $filter->xssFilterHard($templateFilename, 'path');
// also make a copy of the template file in case that the html edition is enabled
if (file_exists( $templateFilename )) {

View File

@@ -56,10 +56,12 @@ try {
$sMaxExecutionTime = ini_get( 'max_execution_time' );
ini_set( 'max_execution_time', '0' );
G::LoadClass( 'configuration' );
G::LoadSystem('inputfilter');
$filter = new InputFilter();
$languageFile = $_FILES['form']['tmp_name']['LANGUAGE_FILENAME'];
$languageFilename = $_FILES['form']['name']['LANGUAGE_FILENAME'];
$languageFilename = $filter->xssFilterHard($languageFilename, 'path');
if (substr_compare( $languageFilename, ".gz", - 3, 3, true ) == 0) {
$zp = gzopen( $languageFile, "r" );
$languageFile = tempnam( __FILE__, '' );

View File

@@ -320,6 +320,8 @@ function importSkin ()
function exportSkin ($skinToExport = "")
{
try {
G::LoadSystem('inputfilter');
$filter = new InputFilter();
if (! isset( $_REQUEST['SKIN_FOLDER_ID'] )) {
throw (new Exception( G::LoadTranslation( 'ID_SKIN_NAME_REQUIRED' ) ));
}
@@ -329,6 +331,7 @@ function exportSkin ($skinToExport = "")
$skinFolderBase = PATH_CUSTOM_SKINS . $skinName;
$skinFolder = $skinFolderBase . PATH_SEP;
$skinTar = PATH_CUSTOM_SKINS . $skinName . '.tar';
$skinTar = $filter->xssFilterHard($skinTar, 'path');
if (! is_dir( $skinFolder )) {
throw (new Exception( G::LoadTranslation( 'ID_SKIN_DOESNT_EXIST' ) ));
}

View File

@@ -91,6 +91,9 @@ function DumpHeaders ($filename)
}
//$filename = PATH_UPLOAD . "$filename";
G::LoadSystem('inputfilter');
$filter = new InputFilter();
$filename = $filter->xssFilterHard($filename, 'path');
readfile( $filename );
}

View File

@@ -438,12 +438,12 @@ button.x-btn-text:focus,
background-image: url(/skins/neoclassic/images/icons_silk/sprites.png) !important;
background-position: 0 -8497px !important;
}
.ICON_CONSOLIDATED_CASES {
.ICON_CONSOLIDATED_CASES{
/*ss_consolidated_cases*/
background-image: url(/skins/neoclassic/images/icons_silk/sprites.png) !important;
background-position: 0 -18500px !important;
background-image:url(/images/icons_silk/sprites.png) !important;
background-position:0 -18500px !important
}
.ICON_CASES_DELETE {
background-image: url(/skins/neoclassic/images/delete-16x16.gif) !important;
}

View File

@@ -392,7 +392,7 @@ class SkinEngine
if (file_exists($fileFooter)) {
$footer .= file_get_contents($fileFooter);
} else {
$footer .= "<br />Copyright &copy; 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>";
$footer .= "<br />Copyright &copy; 2000-" . date('Y') . " <a href=\"http://www.processmaker.com\" alt=\"ProcessMaker Inc.\" target=\"_blank\">ProcessMaker 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>";
}
}
}
@@ -505,7 +505,7 @@ class SkinEngine
if (file_exists($fileFooter)) {
$footer .= file_get_contents($fileFooter);
} else {
$footer .= "<br />Copyright &copy; 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>";
$footer .= "<br />Copyright &copy; 2000-" . date('Y') . " <a href=\"http://www.processmaker.com\" alt=\"ProcessMaker Inc.\" target=\"_blank\">ProcessMaker 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>";
}
}
}
@@ -713,7 +713,7 @@ class SkinEngine
if (file_exists($fileFooter)) {
$footer .= file_get_contents($fileFooter);
} else {
$footer .= "<br />Copyright &copy; 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>";
$footer .= "<br />Copyright &copy; 2000-" . date('Y') . " <a href=\"http://www.processmaker.com\" alt=\"ProcessMaker Inc.\" target=\"_blank\">ProcessMaker 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>";
}
}
}

View File

@@ -26,14 +26,34 @@ class Light extends Api
public function countersCases ()
{
try {
$oMobile = new \ProcessMaker\BusinessModel\Light();
$counterCase = $oMobile->getCounterCase($this->getUserId());
$userId = $this->getUserId();
$lists = new \ProcessMaker\BusinessModel\Lists();
$response = $lists->getCounters($userId);
$result = $this->parserCountersCases($response);
} catch (\Exception $e) {
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
}
return $counterCase;
return $result;
}
public function parserCountersCases ($data)
{
$structure = array(
"CASES_INBOX" => "toDo",
"CASES_DRAFT" => "draft",
"CASES_CANCELLED" => "cancelled",
"CASES_SENT" => "participated",
"CASES_PAUSED" => "paused",
"CASES_COMPLETED" => "completed",
"CASES_SELFSERVICE" => "unassigned",
);
$response = array();
foreach ($data as $counterList) {
$name = $structure[$counterList['item']];
$response[$name] = $counterList['count'];
}
return $response;
}
/**
* Get list process start
* @return array

View File

@@ -60,7 +60,7 @@ class Activity extends Api
}
}
/*----------------------------------********---------------------------------*/
/**
* @param string $pro_uid {@min 32} {@max 32}
* @param string $tas_uid {@min 32} {@max 32}
@@ -76,6 +76,7 @@ class Activity extends Api
{
try {
$configurations = array();
/*----------------------------------********---------------------------------*/
/*** starts retrieval of action by emails configuration ***/
if (\PMLicensedFeatures
::getSingleton()
@@ -90,12 +91,13 @@ class Activity extends Api
$configurations[] = $actionsByEmailService->loadConfiguration($params);
}
/*** end retrieval of action by emails configuration ***/
/*----------------------------------********---------------------------------*/
return $configurations;
} catch (\Exception $e) {
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
}
}
/*----------------------------------********---------------------------------*/
/**
* @param string $prj_uid {@min 32} {@max 32}

View File

@@ -454,7 +454,7 @@ function openActionDialog(caller, action, dataAux)
var urlDownload = ext_itemgrid.getSelectionModel().getSelected().get("downloadLink");
if (selectedRows.length == 1) {
Ext.Ajax.request({
Ext.Ajax.request({
url : 'ajaxListener' ,
params : {action : 'verifySession'},
success: function ( result, request ) {
@@ -517,11 +517,11 @@ function openActionDialog(caller, action, dataAux)
}
/*
* if(document.location =
* ext_itemgrid.getSelectionModel().getSelected().get('downloadLink')){
* messageText="Downloading file "+fileName; statusBarMessage(
* messageText, false, true ); }else{ alert("sadasd"); }
*/
* if(document.location =
* ext_itemgrid.getSelectionModel().getSelected().get('downloadLink')){
* messageText="Downloading file "+fileName; statusBarMessage(
* messageText, false, true ); }else{ alert("sadasd"); }
*/
break;
//case 'rename':node.select();
case 'rename':
@@ -766,8 +766,8 @@ function selectFile( dir, file ) {
}
/**
* Debug Function, that works like print_r for Objects in Javascript
*/
* Debug Function, that works like print_r for Objects in Javascript
*/
function var_dump(obj) {
var vartext = "";
for (var prop in obj) {
@@ -878,7 +878,7 @@ datastore.on("beforeload",
options.params.option = "gridDocuments";
options.params.sendWhat = datastore.sendWhat;
if (options.params.dir == "ASC" || options.params.dir == "DESC") {
options.params.action = "sort";
options.params.action = "sort";
options.params.node = ds.directory;
} else {
if (ds.sortInfo) {
@@ -1111,15 +1111,15 @@ var gridtb = new Ext.Toolbar(
disabled : false,
handler : function() {
/*
* Ext.ux.OnDemandLoad
* .load("/scripts/extjs3-ext/ux.swfupload/SwfUploadPanel.css");
* Ext.ux.OnDemandLoad
* .load("/scripts/extjs3-ext/ux.swfupload/SwfUpload.js");
* Ext.ux.OnDemandLoad .load(
* "/scripts/extjs3-ext/ux.swfupload/SwfUploadPanel.js",
* function(options) { openActionDialog(this, "upload", "");
* });
*/
* Ext.ux.OnDemandLoad
* .load("/scripts/extjs3-ext/ux.swfupload/SwfUploadPanel.css");
* Ext.ux.OnDemandLoad
* .load("/scripts/extjs3-ext/ux.swfupload/SwfUpload.js");
* Ext.ux.OnDemandLoad .load(
* "/scripts/extjs3-ext/ux.swfupload/SwfUploadPanel.js",
* function(options) { openActionDialog(this, "upload", "");
* });
*/
openActionDialog(this, "uploadDocument", "");
}
},
@@ -1467,7 +1467,7 @@ gridCtxMenu = new Ext.menu.Menu({
items : [ {
id : 'gc_rename',
iconCls: 'button_menu_ext ss_sprite ss_textfield_rename',// icon :
hidden : true, // '/images/documents/_fonts.png',
hidden : true, // '/images/documents/_fonts.png',
text : TRANSLATIONS.ID_RENAME,
handler : function() {
ext_itemgrid.onCellDblClick(ext_itemgrid, gsm.clickedRow, 0);
@@ -1597,6 +1597,12 @@ function copymove(action) {
// alert('Move ' + dropEvent.data.node.id.replace( /_RRR_/g, '/' )+' to
// '+ dropEvent.target.id.replace( /_RRR_/g, '/' ));
requestParams = getRequestParams();
if (!((navigator.userAgent.indexOf("MSIE") != -1) || (navigator.userAgent.indexOf("Trident") != -1))) {
Ext.getCmp("dirTreePanel").getRootNode().reload();
document.getElementById('ext-gen20').style.visibility='hidden';
document.getElementsByClassName('x-shadow')[0].style.visibility='hidden';
parent.frames[0].location.href="casesStartPage?action=documents";
}
requestParams.copyMove = 'all';
//requestParams.dir = datastore.directory.substring(0,
// datastore.directory.lastIndexOf('/'));
@@ -1749,18 +1755,7 @@ var loader = new Ext.tree.TreeLoader({
}
});
var documentsTab = {
id : 'documents',
// title : 'Documents',
iconCls : 'ICON_FOLDERS',
layout : 'border',
region: 'center',
defaults : {
split : true
},
items : [
{
xtype : "treepanel",
var treepanelmain = new Ext.tree.TreePanel({
id : "dirTreePanel",
region : "west",
title : TRANSLATIONS.ID_DIRECTORY,
@@ -1836,11 +1831,22 @@ var documentsTab = {
return true;
}
},
'beforenodedrop' : {
fn : function(e) {
if (!((navigator.userAgent.indexOf("MSIE") != -1) || (navigator.userAgent.indexOf("Trident") != -1))) {
dropEvent = e;
copymoveCtx(e);
datastore.reload();
}
}
},
'nodedrop' : {
fn : function(e) {
dropEvent = e;
copymoveCtx(e);
datastore.reload();
fn : function(e) {
if ((navigator.userAgent.indexOf("MSIE") != -1) || (navigator.userAgent.indexOf("Trident") != -1)) {
dropEvent = e;
copymoveCtx(e);
datastore.reload();
}
}
},
'beforemove' : {
@@ -1851,7 +1857,18 @@ var documentsTab = {
},
root: rootNodeCreate()
});
var documentsTab = {
id : 'documents',
// title : 'Documents',
iconCls : 'ICON_FOLDERS',
layout : 'border',
region: 'center',
defaults : {
split : true
},
items : [
{
layout : "border",
region : "center",
@@ -1975,9 +1992,9 @@ var documentsTab = {
.get('is_file')) {
// console.log(datastore.directory);
chDir(/*
* datastore.directory +
* "/"+
*/selections[0]
* datastore.directory +
* "/"+
*/selections[0]
.get('id'));
} else if (selections[0]
.get('is_editable')) {
@@ -2019,13 +2036,13 @@ var documentsTab = {
// alert(Ext.getCmp("locationbarcmp"));
// Ext.getCmp("documents").
/*
* if(typeof(sw_afterlayout)!="undefined"){
* //console.log("starting locatiobar");
* Ext.getCmp("locationbarcmp").tree =
* Ext.getCmp("dirTreePanel");
* Ext.getCmp("locationbarcmp").initComponent();
* //console.log("location abr started"); return; }
*/
* if(typeof(sw_afterlayout)!="undefined"){
* //console.log("starting locatiobar");
* Ext.getCmp("locationbarcmp").tree =
* Ext.getCmp("dirTreePanel");
* Ext.getCmp("locationbarcmp").initComponent();
* //console.log("location abr started"); return; }
*/
// console.log(typeof(sw_afterlayout));
sw_afterlayout=true;
@@ -2040,12 +2057,12 @@ var documentsTab = {
// console.log("dirtree created");
/*
* dirTree.loader.on('load', function(loader, o,
* response ) { if( response && response.responseText ) {
* var json = Ext.decode( response.responseText ); if(
* json && json.error ) { Ext.Msg.alert('Error',
* json.error +'onLoad'); } } });
*/
* dirTree.loader.on('load', function(loader, o,
* response ) { if( response && response.responseText ) {
* var json = Ext.decode( response.responseText ); if(
* json && json.error ) { Ext.Msg.alert('Error',
* json.error +'onLoad'); } } });
*/
var tsm = dirTree.getSelectionModel();
// console.log("tried to gtet selection model");
@@ -2091,7 +2108,7 @@ Ext.onReady(function() {
var viewport = new Ext.Viewport({
layout : 'border',
items : [
items : [treepanelmain,
documentsTab ]
});

View File

@@ -48,7 +48,7 @@
<tr>
<td class="FormLabel" width="25%"><label for="form[web_site]">Web Site</label></td>
<td class="FormFieldContent" width="240">
<input class="module_app_input___gray" id="form[web_site]" name="form[web_site]" type="text" size="50" maxlength="50" value="" style="" onkeypress="" />
<input class="module_app_input___gray" id="form[web_site]" name="form[web_site]" type="text" size="50" maxlength="300" value="" style="" onkeypress="" />
<br />
<small>Your application's publicly accessible home page, where users can go to download, make use of, or find out more information about your application. This fully-qualified URL is used in the source attribution for request created by your application and will be shown in user-facing authorization screens.
(If you don't have a URL yet, just put a placeholder here but remember to change it later.)</small>
@@ -58,7 +58,7 @@
<tr>
<td class="FormLabel" width="25%"><label for="form[callback_url]">Callback URL</label></td>
<td class="FormFieldContent" width="240">
<input class="module_app_input___gray" id="form[callback_url]" name="form[callback_url]" type="text" size="50" maxlength="50" value="" style="" onkeypress="" />
<input class="module_app_input___gray" id="form[callback_url]" name="form[callback_url]" type="text" size="50" maxlength="300" value="" style="" onkeypress="" />
<br />
<small>here should we return after successfully authenticating? For @Anywhere applications, only the domain specified in the callback will be used. OAuth 1.0a applications should explicitly specify their oauth_callback URL on the request token step, regardless of the value given here. To restrict your application from using callbacks, leave this field blank.</small>
</td>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 99 KiB

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 554 B

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 957 B

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 914 B

After

Width:  |  Height:  |  Size: 1.5 KiB