diff --git a/workflow/engine/classes/model/Translation.php b/workflow/engine/classes/model/Translation.php index 3281bc36c..519540259 100644 --- a/workflow/engine/classes/model/Translation.php +++ b/workflow/engine/classes/model/Translation.php @@ -62,6 +62,60 @@ class Translation extends BaseTranslation { return $oCriteria; } + function getAll($lang='en', $start=null, $limit=null, $search=null){ + $totalCount = 0; + + $oCriteria = new Criteria('workflow'); + $oCriteria->addSelectColumn(TranslationPeer::TRN_ID); + $oCriteria->addSelectColumn(TranslationPeer::TRN_CATEGORY); + $oCriteria->addSelectColumn(TranslationPeer::TRN_LANG); + $oCriteria->addSelectColumn(TranslationPeer::TRN_VALUE); + $oCriteria->addSelectColumn(TranslationPeer::TRN_UPDATE_DATE); + $oCriteria->add(TranslationPeer::TRN_LANG, $lang); + $oCriteria->add(TranslationPeer::TRN_CATEGORY, 'LABEL'); + //$oCriteria->addAscendingOrderByColumn ( 'TRN_CATEGORY' ); + $oCriteria->addAscendingOrderByColumn ( 'TRN_ID' ); + + + if( $search ) { + $oCriteria->add( + $oCriteria->getNewCriterion( + TranslationPeer::TRN_ID, + "%$search%", Criteria::LIKE + )->addOr($oCriteria->getNewCriterion( + TranslationPeer::TRN_VALUE, + "%$search%", Criteria::LIKE + )) + ); + } + + $c = clone $oCriteria; + $c->clearSelectColumns(); + $c->addSelectColumn('COUNT(*)'); + $oDataset = TranslationPeer::doSelectRS($c); + $oDataset->next(); + $aRow = $oDataset->getRow(); + + if( is_array($aRow) ) + $totalCount = $aRow[0]; + + if($start) + $oCriteria->setOffset($start); + if($limit) //&& !isset($seach) && !isset($search)) + $oCriteria->setLimit($limit); + + $rs = TranslationPeer::doSelectRS($oCriteria); + $rs->setFetchmode(ResultSet::FETCHMODE_ASSOC); + $rows = Array(); + while( $rs->next() ) { + $rows[] = $rs->getRow(); + } + + $result->data = $rows; + $result->totalCount = $totalCount; + + return $result; + } /* Load strings from a Database . @@ -137,6 +191,7 @@ class Translation extends BaseTranslation { $tr->setTrnId( $id ); $tr->setTrnLang( $languageId); $tr->setTrnValue( $value ); + $tr->setTrnUpdateDate( date('Y-m-d') ); if ($tr->validate() ) { // we save it, since we get no validation errors, or do whatever else you like. diff --git a/workflow/engine/classes/model/map/AdditionalTablesMapBuilder.php b/workflow/engine/classes/model/map/AdditionalTablesMapBuilder.php index b0a4c24ac..54b50d4f0 100644 --- a/workflow/engine/classes/model/map/AdditionalTablesMapBuilder.php +++ b/workflow/engine/classes/model/map/AdditionalTablesMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class AdditionalTablesMapBuilder { diff --git a/workflow/engine/classes/model/map/AppCacheViewMapBuilder.php b/workflow/engine/classes/model/map/AppCacheViewMapBuilder.php index cef0178fd..26129dafc 100644 --- a/workflow/engine/classes/model/map/AppCacheViewMapBuilder.php +++ b/workflow/engine/classes/model/map/AppCacheViewMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class AppCacheViewMapBuilder { diff --git a/workflow/engine/classes/model/map/AppDelayMapBuilder.php b/workflow/engine/classes/model/map/AppDelayMapBuilder.php index 14efba5a9..feae37389 100644 --- a/workflow/engine/classes/model/map/AppDelayMapBuilder.php +++ b/workflow/engine/classes/model/map/AppDelayMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class AppDelayMapBuilder { diff --git a/workflow/engine/classes/model/map/AppDelegationMapBuilder.php b/workflow/engine/classes/model/map/AppDelegationMapBuilder.php index e28924b3a..c24a2446d 100644 --- a/workflow/engine/classes/model/map/AppDelegationMapBuilder.php +++ b/workflow/engine/classes/model/map/AppDelegationMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class AppDelegationMapBuilder { diff --git a/workflow/engine/classes/model/map/AppDocumentMapBuilder.php b/workflow/engine/classes/model/map/AppDocumentMapBuilder.php index 86e15bb18..55b3b5388 100644 --- a/workflow/engine/classes/model/map/AppDocumentMapBuilder.php +++ b/workflow/engine/classes/model/map/AppDocumentMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class AppDocumentMapBuilder { diff --git a/workflow/engine/classes/model/map/AppEventMapBuilder.php b/workflow/engine/classes/model/map/AppEventMapBuilder.php index 190e44eb1..2688ad9cf 100644 --- a/workflow/engine/classes/model/map/AppEventMapBuilder.php +++ b/workflow/engine/classes/model/map/AppEventMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class AppEventMapBuilder { diff --git a/workflow/engine/classes/model/map/AppFolderMapBuilder.php b/workflow/engine/classes/model/map/AppFolderMapBuilder.php index 27b2081e5..0d6b557de 100644 --- a/workflow/engine/classes/model/map/AppFolderMapBuilder.php +++ b/workflow/engine/classes/model/map/AppFolderMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class AppFolderMapBuilder { diff --git a/workflow/engine/classes/model/map/AppHistoryMapBuilder.php b/workflow/engine/classes/model/map/AppHistoryMapBuilder.php index 136bd3324..0845ecd3e 100644 --- a/workflow/engine/classes/model/map/AppHistoryMapBuilder.php +++ b/workflow/engine/classes/model/map/AppHistoryMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class AppHistoryMapBuilder { diff --git a/workflow/engine/classes/model/map/AppMessageMapBuilder.php b/workflow/engine/classes/model/map/AppMessageMapBuilder.php index de97f3e20..a1e5af57b 100644 --- a/workflow/engine/classes/model/map/AppMessageMapBuilder.php +++ b/workflow/engine/classes/model/map/AppMessageMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class AppMessageMapBuilder { diff --git a/workflow/engine/classes/model/map/AppOwnerMapBuilder.php b/workflow/engine/classes/model/map/AppOwnerMapBuilder.php index 3bbfa2dd2..0f345ad37 100644 --- a/workflow/engine/classes/model/map/AppOwnerMapBuilder.php +++ b/workflow/engine/classes/model/map/AppOwnerMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class AppOwnerMapBuilder { diff --git a/workflow/engine/classes/model/map/AppThreadMapBuilder.php b/workflow/engine/classes/model/map/AppThreadMapBuilder.php index 347c9a19d..97ea91ba4 100644 --- a/workflow/engine/classes/model/map/AppThreadMapBuilder.php +++ b/workflow/engine/classes/model/map/AppThreadMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class AppThreadMapBuilder { diff --git a/workflow/engine/classes/model/map/ApplicationMapBuilder.php b/workflow/engine/classes/model/map/ApplicationMapBuilder.php index 9966f46c6..95beed3ed 100644 --- a/workflow/engine/classes/model/map/ApplicationMapBuilder.php +++ b/workflow/engine/classes/model/map/ApplicationMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class ApplicationMapBuilder { diff --git a/workflow/engine/classes/model/map/CalendarAssignmentsMapBuilder.php b/workflow/engine/classes/model/map/CalendarAssignmentsMapBuilder.php index f3fbcae38..3b9b60e32 100644 --- a/workflow/engine/classes/model/map/CalendarAssignmentsMapBuilder.php +++ b/workflow/engine/classes/model/map/CalendarAssignmentsMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class CalendarAssignmentsMapBuilder { diff --git a/workflow/engine/classes/model/map/CalendarBusinessHoursMapBuilder.php b/workflow/engine/classes/model/map/CalendarBusinessHoursMapBuilder.php index abef4adba..a79d53d65 100644 --- a/workflow/engine/classes/model/map/CalendarBusinessHoursMapBuilder.php +++ b/workflow/engine/classes/model/map/CalendarBusinessHoursMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class CalendarBusinessHoursMapBuilder { diff --git a/workflow/engine/classes/model/map/CalendarDefinitionMapBuilder.php b/workflow/engine/classes/model/map/CalendarDefinitionMapBuilder.php index ac697d333..9945b7773 100644 --- a/workflow/engine/classes/model/map/CalendarDefinitionMapBuilder.php +++ b/workflow/engine/classes/model/map/CalendarDefinitionMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class CalendarDefinitionMapBuilder { diff --git a/workflow/engine/classes/model/map/CalendarHolidaysMapBuilder.php b/workflow/engine/classes/model/map/CalendarHolidaysMapBuilder.php index ecb034c1e..a2b374ca6 100644 --- a/workflow/engine/classes/model/map/CalendarHolidaysMapBuilder.php +++ b/workflow/engine/classes/model/map/CalendarHolidaysMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class CalendarHolidaysMapBuilder { diff --git a/workflow/engine/classes/model/map/CaseSchedulerMapBuilder.php b/workflow/engine/classes/model/map/CaseSchedulerMapBuilder.php index a0258e636..b975c660f 100644 --- a/workflow/engine/classes/model/map/CaseSchedulerMapBuilder.php +++ b/workflow/engine/classes/model/map/CaseSchedulerMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class CaseSchedulerMapBuilder { diff --git a/workflow/engine/classes/model/map/CaseTrackerMapBuilder.php b/workflow/engine/classes/model/map/CaseTrackerMapBuilder.php index 8c7ded414..c3b20b60e 100644 --- a/workflow/engine/classes/model/map/CaseTrackerMapBuilder.php +++ b/workflow/engine/classes/model/map/CaseTrackerMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class CaseTrackerMapBuilder { diff --git a/workflow/engine/classes/model/map/CaseTrackerObjectMapBuilder.php b/workflow/engine/classes/model/map/CaseTrackerObjectMapBuilder.php index 9d605047b..5f5bb5217 100644 --- a/workflow/engine/classes/model/map/CaseTrackerObjectMapBuilder.php +++ b/workflow/engine/classes/model/map/CaseTrackerObjectMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class CaseTrackerObjectMapBuilder { diff --git a/workflow/engine/classes/model/map/ConfigurationMapBuilder.php b/workflow/engine/classes/model/map/ConfigurationMapBuilder.php index ea9f954e3..f2495cd3d 100644 --- a/workflow/engine/classes/model/map/ConfigurationMapBuilder.php +++ b/workflow/engine/classes/model/map/ConfigurationMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class ConfigurationMapBuilder { diff --git a/workflow/engine/classes/model/map/ContentMapBuilder.php b/workflow/engine/classes/model/map/ContentMapBuilder.php index fd87082f8..218e253d9 100644 --- a/workflow/engine/classes/model/map/ContentMapBuilder.php +++ b/workflow/engine/classes/model/map/ContentMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class ContentMapBuilder { diff --git a/workflow/engine/classes/model/map/DbSourceMapBuilder.php b/workflow/engine/classes/model/map/DbSourceMapBuilder.php index a9e5317ad..e4ddee784 100644 --- a/workflow/engine/classes/model/map/DbSourceMapBuilder.php +++ b/workflow/engine/classes/model/map/DbSourceMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class DbSourceMapBuilder { diff --git a/workflow/engine/classes/model/map/DepartmentMapBuilder.php b/workflow/engine/classes/model/map/DepartmentMapBuilder.php index c678f6301..039045d59 100644 --- a/workflow/engine/classes/model/map/DepartmentMapBuilder.php +++ b/workflow/engine/classes/model/map/DepartmentMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class DepartmentMapBuilder { diff --git a/workflow/engine/classes/model/map/DimTimeCompleteMapBuilder.php b/workflow/engine/classes/model/map/DimTimeCompleteMapBuilder.php index 3e4384f0a..1056367ab 100644 --- a/workflow/engine/classes/model/map/DimTimeCompleteMapBuilder.php +++ b/workflow/engine/classes/model/map/DimTimeCompleteMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class DimTimeCompleteMapBuilder { diff --git a/workflow/engine/classes/model/map/DimTimeDelegateMapBuilder.php b/workflow/engine/classes/model/map/DimTimeDelegateMapBuilder.php index c06a9bcf1..64a81ec87 100644 --- a/workflow/engine/classes/model/map/DimTimeDelegateMapBuilder.php +++ b/workflow/engine/classes/model/map/DimTimeDelegateMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class DimTimeDelegateMapBuilder { diff --git a/workflow/engine/classes/model/map/DynaformMapBuilder.php b/workflow/engine/classes/model/map/DynaformMapBuilder.php index 60c845788..f05e1c315 100644 --- a/workflow/engine/classes/model/map/DynaformMapBuilder.php +++ b/workflow/engine/classes/model/map/DynaformMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class DynaformMapBuilder { diff --git a/workflow/engine/classes/model/map/EventMapBuilder.php b/workflow/engine/classes/model/map/EventMapBuilder.php index 29e8d9128..321acadb6 100644 --- a/workflow/engine/classes/model/map/EventMapBuilder.php +++ b/workflow/engine/classes/model/map/EventMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class EventMapBuilder { diff --git a/workflow/engine/classes/model/map/FieldConditionMapBuilder.php b/workflow/engine/classes/model/map/FieldConditionMapBuilder.php index a6722e848..90d17a858 100644 --- a/workflow/engine/classes/model/map/FieldConditionMapBuilder.php +++ b/workflow/engine/classes/model/map/FieldConditionMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class FieldConditionMapBuilder { diff --git a/workflow/engine/classes/model/map/FieldsMapBuilder.php b/workflow/engine/classes/model/map/FieldsMapBuilder.php index fef27e3a7..0e5efacf8 100644 --- a/workflow/engine/classes/model/map/FieldsMapBuilder.php +++ b/workflow/engine/classes/model/map/FieldsMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class FieldsMapBuilder { diff --git a/workflow/engine/classes/model/map/GatewayMapBuilder.php b/workflow/engine/classes/model/map/GatewayMapBuilder.php index 2bcd3188b..3d822e4d3 100644 --- a/workflow/engine/classes/model/map/GatewayMapBuilder.php +++ b/workflow/engine/classes/model/map/GatewayMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class GatewayMapBuilder { diff --git a/workflow/engine/classes/model/map/GroupUserMapBuilder.php b/workflow/engine/classes/model/map/GroupUserMapBuilder.php index 0c786c5e3..73662f281 100644 --- a/workflow/engine/classes/model/map/GroupUserMapBuilder.php +++ b/workflow/engine/classes/model/map/GroupUserMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class GroupUserMapBuilder { diff --git a/workflow/engine/classes/model/map/GroupwfMapBuilder.php b/workflow/engine/classes/model/map/GroupwfMapBuilder.php index adc24ffe7..7cb6abcb5 100644 --- a/workflow/engine/classes/model/map/GroupwfMapBuilder.php +++ b/workflow/engine/classes/model/map/GroupwfMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class GroupwfMapBuilder { diff --git a/workflow/engine/classes/model/map/HolidayMapBuilder.php b/workflow/engine/classes/model/map/HolidayMapBuilder.php index 9dbfdd8a0..2e06368d4 100644 --- a/workflow/engine/classes/model/map/HolidayMapBuilder.php +++ b/workflow/engine/classes/model/map/HolidayMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class HolidayMapBuilder { diff --git a/workflow/engine/classes/model/map/InputDocumentMapBuilder.php b/workflow/engine/classes/model/map/InputDocumentMapBuilder.php index c3d67b727..605bb529e 100644 --- a/workflow/engine/classes/model/map/InputDocumentMapBuilder.php +++ b/workflow/engine/classes/model/map/InputDocumentMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class InputDocumentMapBuilder { diff --git a/workflow/engine/classes/model/map/IsoCountryMapBuilder.php b/workflow/engine/classes/model/map/IsoCountryMapBuilder.php index be55ac245..214a12576 100644 --- a/workflow/engine/classes/model/map/IsoCountryMapBuilder.php +++ b/workflow/engine/classes/model/map/IsoCountryMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class IsoCountryMapBuilder { diff --git a/workflow/engine/classes/model/map/IsoLocationMapBuilder.php b/workflow/engine/classes/model/map/IsoLocationMapBuilder.php index 90bb011fa..78a94b3bd 100644 --- a/workflow/engine/classes/model/map/IsoLocationMapBuilder.php +++ b/workflow/engine/classes/model/map/IsoLocationMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class IsoLocationMapBuilder { diff --git a/workflow/engine/classes/model/map/IsoSubdivisionMapBuilder.php b/workflow/engine/classes/model/map/IsoSubdivisionMapBuilder.php index b91cf52dd..238b2c897 100644 --- a/workflow/engine/classes/model/map/IsoSubdivisionMapBuilder.php +++ b/workflow/engine/classes/model/map/IsoSubdivisionMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class IsoSubdivisionMapBuilder { diff --git a/workflow/engine/classes/model/map/LanguageMapBuilder.php b/workflow/engine/classes/model/map/LanguageMapBuilder.php index 6ce0e5401..91f8fd608 100644 --- a/workflow/engine/classes/model/map/LanguageMapBuilder.php +++ b/workflow/engine/classes/model/map/LanguageMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class LanguageMapBuilder { diff --git a/workflow/engine/classes/model/map/LexicoMapBuilder.php b/workflow/engine/classes/model/map/LexicoMapBuilder.php index 1537f1288..f0b18a0d9 100644 --- a/workflow/engine/classes/model/map/LexicoMapBuilder.php +++ b/workflow/engine/classes/model/map/LexicoMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class LexicoMapBuilder { diff --git a/workflow/engine/classes/model/map/LogCasesSchedulerMapBuilder.php b/workflow/engine/classes/model/map/LogCasesSchedulerMapBuilder.php index f2bf1a043..dbc833a34 100644 --- a/workflow/engine/classes/model/map/LogCasesSchedulerMapBuilder.php +++ b/workflow/engine/classes/model/map/LogCasesSchedulerMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class LogCasesSchedulerMapBuilder { diff --git a/workflow/engine/classes/model/map/LoginLogMapBuilder.php b/workflow/engine/classes/model/map/LoginLogMapBuilder.php index d6022ee33..8fff667b9 100644 --- a/workflow/engine/classes/model/map/LoginLogMapBuilder.php +++ b/workflow/engine/classes/model/map/LoginLogMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class LoginLogMapBuilder { diff --git a/workflow/engine/classes/model/map/ObjectPermissionMapBuilder.php b/workflow/engine/classes/model/map/ObjectPermissionMapBuilder.php index 1a24dee95..031ae1345 100644 --- a/workflow/engine/classes/model/map/ObjectPermissionMapBuilder.php +++ b/workflow/engine/classes/model/map/ObjectPermissionMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class ObjectPermissionMapBuilder { diff --git a/workflow/engine/classes/model/map/OutputDocumentMapBuilder.php b/workflow/engine/classes/model/map/OutputDocumentMapBuilder.php index 24f3f75f8..06ddd22df 100644 --- a/workflow/engine/classes/model/map/OutputDocumentMapBuilder.php +++ b/workflow/engine/classes/model/map/OutputDocumentMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class OutputDocumentMapBuilder { diff --git a/workflow/engine/classes/model/map/ProcessCategoryMapBuilder.php b/workflow/engine/classes/model/map/ProcessCategoryMapBuilder.php index 70a5705e6..9f4852179 100644 --- a/workflow/engine/classes/model/map/ProcessCategoryMapBuilder.php +++ b/workflow/engine/classes/model/map/ProcessCategoryMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class ProcessCategoryMapBuilder { diff --git a/workflow/engine/classes/model/map/ProcessMapBuilder.php b/workflow/engine/classes/model/map/ProcessMapBuilder.php index 404ca72e9..767eb2ec9 100644 --- a/workflow/engine/classes/model/map/ProcessMapBuilder.php +++ b/workflow/engine/classes/model/map/ProcessMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class ProcessMapBuilder { diff --git a/workflow/engine/classes/model/map/ProcessOwnerMapBuilder.php b/workflow/engine/classes/model/map/ProcessOwnerMapBuilder.php index 91b9e794b..6ddf3abd8 100644 --- a/workflow/engine/classes/model/map/ProcessOwnerMapBuilder.php +++ b/workflow/engine/classes/model/map/ProcessOwnerMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class ProcessOwnerMapBuilder { diff --git a/workflow/engine/classes/model/map/ProcessUserMapBuilder.php b/workflow/engine/classes/model/map/ProcessUserMapBuilder.php index 7b4fe6dd4..f1e03ab74 100644 --- a/workflow/engine/classes/model/map/ProcessUserMapBuilder.php +++ b/workflow/engine/classes/model/map/ProcessUserMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class ProcessUserMapBuilder { diff --git a/workflow/engine/classes/model/map/ReportTableMapBuilder.php b/workflow/engine/classes/model/map/ReportTableMapBuilder.php index 266beb838..d609d1786 100644 --- a/workflow/engine/classes/model/map/ReportTableMapBuilder.php +++ b/workflow/engine/classes/model/map/ReportTableMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class ReportTableMapBuilder { diff --git a/workflow/engine/classes/model/map/ReportVarMapBuilder.php b/workflow/engine/classes/model/map/ReportVarMapBuilder.php index a1fc9eaf8..2890eedf5 100644 --- a/workflow/engine/classes/model/map/ReportVarMapBuilder.php +++ b/workflow/engine/classes/model/map/ReportVarMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class ReportVarMapBuilder { diff --git a/workflow/engine/classes/model/map/RouteMapBuilder.php b/workflow/engine/classes/model/map/RouteMapBuilder.php index eebbc00d1..0db1da717 100644 --- a/workflow/engine/classes/model/map/RouteMapBuilder.php +++ b/workflow/engine/classes/model/map/RouteMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class RouteMapBuilder { diff --git a/workflow/engine/classes/model/map/SessionMapBuilder.php b/workflow/engine/classes/model/map/SessionMapBuilder.php index 4e26e2104..8a41bfd87 100644 --- a/workflow/engine/classes/model/map/SessionMapBuilder.php +++ b/workflow/engine/classes/model/map/SessionMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class SessionMapBuilder { diff --git a/workflow/engine/classes/model/map/ShadowTableMapBuilder.php b/workflow/engine/classes/model/map/ShadowTableMapBuilder.php index 445630f1e..8d790521d 100644 --- a/workflow/engine/classes/model/map/ShadowTableMapBuilder.php +++ b/workflow/engine/classes/model/map/ShadowTableMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class ShadowTableMapBuilder { diff --git a/workflow/engine/classes/model/map/StageMapBuilder.php b/workflow/engine/classes/model/map/StageMapBuilder.php index 8bbca4f5a..c5c108e23 100644 --- a/workflow/engine/classes/model/map/StageMapBuilder.php +++ b/workflow/engine/classes/model/map/StageMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class StageMapBuilder { diff --git a/workflow/engine/classes/model/map/StepMapBuilder.php b/workflow/engine/classes/model/map/StepMapBuilder.php index 2b3d0f25a..69623c6f6 100644 --- a/workflow/engine/classes/model/map/StepMapBuilder.php +++ b/workflow/engine/classes/model/map/StepMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class StepMapBuilder { diff --git a/workflow/engine/classes/model/map/StepSupervisorMapBuilder.php b/workflow/engine/classes/model/map/StepSupervisorMapBuilder.php index 6356b8283..002564d16 100644 --- a/workflow/engine/classes/model/map/StepSupervisorMapBuilder.php +++ b/workflow/engine/classes/model/map/StepSupervisorMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class StepSupervisorMapBuilder { diff --git a/workflow/engine/classes/model/map/StepTriggerMapBuilder.php b/workflow/engine/classes/model/map/StepTriggerMapBuilder.php index c938beb7e..cec2f15ce 100644 --- a/workflow/engine/classes/model/map/StepTriggerMapBuilder.php +++ b/workflow/engine/classes/model/map/StepTriggerMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class StepTriggerMapBuilder { diff --git a/workflow/engine/classes/model/map/SubApplicationMapBuilder.php b/workflow/engine/classes/model/map/SubApplicationMapBuilder.php index 9370197c8..9ba06e046 100644 --- a/workflow/engine/classes/model/map/SubApplicationMapBuilder.php +++ b/workflow/engine/classes/model/map/SubApplicationMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class SubApplicationMapBuilder { diff --git a/workflow/engine/classes/model/map/SubProcessMapBuilder.php b/workflow/engine/classes/model/map/SubProcessMapBuilder.php index 9791ba0f3..64a63c6a0 100644 --- a/workflow/engine/classes/model/map/SubProcessMapBuilder.php +++ b/workflow/engine/classes/model/map/SubProcessMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class SubProcessMapBuilder { diff --git a/workflow/engine/classes/model/map/SwimlanesElementsMapBuilder.php b/workflow/engine/classes/model/map/SwimlanesElementsMapBuilder.php index 130b8c105..62eec8d33 100644 --- a/workflow/engine/classes/model/map/SwimlanesElementsMapBuilder.php +++ b/workflow/engine/classes/model/map/SwimlanesElementsMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class SwimlanesElementsMapBuilder { diff --git a/workflow/engine/classes/model/map/TaskMapBuilder.php b/workflow/engine/classes/model/map/TaskMapBuilder.php index f92028eb4..b8e6daeaf 100644 --- a/workflow/engine/classes/model/map/TaskMapBuilder.php +++ b/workflow/engine/classes/model/map/TaskMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class TaskMapBuilder { diff --git a/workflow/engine/classes/model/map/TaskUserMapBuilder.php b/workflow/engine/classes/model/map/TaskUserMapBuilder.php index d86598410..31b7aa2c6 100644 --- a/workflow/engine/classes/model/map/TaskUserMapBuilder.php +++ b/workflow/engine/classes/model/map/TaskUserMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class TaskUserMapBuilder { diff --git a/workflow/engine/classes/model/map/TranslationMapBuilder.php b/workflow/engine/classes/model/map/TranslationMapBuilder.php index eceb9466f..dd000fc35 100644 --- a/workflow/engine/classes/model/map/TranslationMapBuilder.php +++ b/workflow/engine/classes/model/map/TranslationMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class TranslationMapBuilder { @@ -72,6 +72,8 @@ class TranslationMapBuilder { $tMap->addColumn('TRN_VALUE', 'TrnValue', 'string', CreoleTypes::VARCHAR, true, 200); + $tMap->addColumn('TRN_UPDATE_DATE', 'TrnUpdateDate', 'int', CreoleTypes::DATE, false, null); + $tMap->addValidator('TRN_CATEGORY', 'maxLength', 'propel.validator.MaxLengthValidator', '100', 'Category can be no larger than 100 in size'); $tMap->addValidator('TRN_CATEGORY', 'required', 'propel.validator.RequiredValidator', '', 'Category is required.'); diff --git a/workflow/engine/classes/model/map/TriggersMapBuilder.php b/workflow/engine/classes/model/map/TriggersMapBuilder.php index 06ddf1f67..7605a5eb5 100644 --- a/workflow/engine/classes/model/map/TriggersMapBuilder.php +++ b/workflow/engine/classes/model/map/TriggersMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class TriggersMapBuilder { diff --git a/workflow/engine/classes/model/map/UsersMapBuilder.php b/workflow/engine/classes/model/map/UsersMapBuilder.php index 10598983e..b32db6165 100644 --- a/workflow/engine/classes/model/map/UsersMapBuilder.php +++ b/workflow/engine/classes/model/map/UsersMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class UsersMapBuilder { diff --git a/workflow/engine/classes/model/map/UsersPropertiesMapBuilder.php b/workflow/engine/classes/model/map/UsersPropertiesMapBuilder.php index 20a106862..d77276a09 100644 --- a/workflow/engine/classes/model/map/UsersPropertiesMapBuilder.php +++ b/workflow/engine/classes/model/map/UsersPropertiesMapBuilder.php @@ -14,7 +14,7 @@ include_once 'creole/CreoleTypes.php'; * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive * (i.e. if it's a text column type). * - * @package classes.model.map + * @package workflow.classes.model.map */ class UsersPropertiesMapBuilder { diff --git a/workflow/engine/classes/model/om/BaseAdditionalTables.php b/workflow/engine/classes/model/om/BaseAdditionalTables.php index 07dd94125..7bfbc85fb 100644 --- a/workflow/engine/classes/model/om/BaseAdditionalTables.php +++ b/workflow/engine/classes/model/om/BaseAdditionalTables.php @@ -1,18 +1,19 @@ trn_value; } + /** + * Get the [optionally formatted] [trn_update_date] column value. + * + * @param string $format The date/time format string (either date()-style or strftime()-style). + * If format is NULL, then the integer unix timestamp will be returned. + * @return mixed Formatted date/time value as string or integer unix timestamp (if format is NULL). + * @throws PropelException - if unable to convert the date/time to timestamp. + */ + public function getTrnUpdateDate($format = 'Y-m-d') + { + + if ($this->trn_update_date === null || $this->trn_update_date === '') { + return null; + } elseif (!is_int($this->trn_update_date)) { + // a non-timestamp value was set externally, so we convert it + $ts = strtotime($this->trn_update_date); + if ($ts === -1 || $ts === false) { // in PHP 5.1 return value changes to FALSE + throw new PropelException("Unable to parse value of [trn_update_date] as date/time value: " . var_export($this->trn_update_date, true)); + } + } else { + $ts = $this->trn_update_date; + } + if ($format === null) { + return $ts; + } elseif (strpos($format, '%') !== false) { + return strftime($format, $ts); + } else { + return date($format, $ts); + } + } + /** * Set the value of [trn_category] column. * @@ -202,6 +239,30 @@ abstract class BaseTranslation extends BaseObject implements Persistent { } // setTrnValue() + /** + * Set the value of [trn_update_date] column. + * + * @param int $v new value + * @return void + */ + public function setTrnUpdateDate($v) + { + + if ($v !== null && !is_int($v)) { + $ts = strtotime($v); + if ($ts === -1 || $ts === false) { // in PHP 5.1 return value changes to FALSE + throw new PropelException("Unable to parse date/time value for [trn_update_date] from input: " . var_export($v, true)); + } + } else { + $ts = $v; + } + if ($this->trn_update_date !== $ts) { + $this->trn_update_date = $ts; + $this->modifiedColumns[] = TranslationPeer::TRN_UPDATE_DATE; + } + + } // setTrnUpdateDate() + /** * Hydrates (populates) the object variables with values from the database resultset. * @@ -227,12 +288,14 @@ abstract class BaseTranslation extends BaseObject implements Persistent { $this->trn_value = $rs->getString($startcol + 3); + $this->trn_update_date = $rs->getDate($startcol + 4, null); + $this->resetModified(); $this->setNew(false); // FIXME - using NUM_COLUMNS may be clearer. - return $startcol + 4; // 4 = TranslationPeer::NUM_COLUMNS - TranslationPeer::NUM_LAZY_LOAD_COLUMNS). + return $startcol + 5; // 5 = TranslationPeer::NUM_COLUMNS - TranslationPeer::NUM_LAZY_LOAD_COLUMNS). } catch (Exception $e) { throw new PropelException("Error populating Translation object", $e); @@ -447,6 +510,9 @@ abstract class BaseTranslation extends BaseObject implements Persistent { case 3: return $this->getTrnValue(); break; + case 4: + return $this->getTrnUpdateDate(); + break; default: return null; break; @@ -471,6 +537,7 @@ abstract class BaseTranslation extends BaseObject implements Persistent { $keys[1] => $this->getTrnId(), $keys[2] => $this->getTrnLang(), $keys[3] => $this->getTrnValue(), + $keys[4] => $this->getTrnUpdateDate(), ); return $result; } @@ -514,6 +581,9 @@ abstract class BaseTranslation extends BaseObject implements Persistent { case 3: $this->setTrnValue($value); break; + case 4: + $this->setTrnUpdateDate($value); + break; } // switch() } @@ -541,6 +611,7 @@ abstract class BaseTranslation extends BaseObject implements Persistent { if (array_key_exists($keys[1], $arr)) $this->setTrnId($arr[$keys[1]]); if (array_key_exists($keys[2], $arr)) $this->setTrnLang($arr[$keys[2]]); if (array_key_exists($keys[3], $arr)) $this->setTrnValue($arr[$keys[3]]); + if (array_key_exists($keys[4], $arr)) $this->setTrnUpdateDate($arr[$keys[4]]); } /** @@ -556,6 +627,7 @@ abstract class BaseTranslation extends BaseObject implements Persistent { if ($this->isColumnModified(TranslationPeer::TRN_ID)) $criteria->add(TranslationPeer::TRN_ID, $this->trn_id); if ($this->isColumnModified(TranslationPeer::TRN_LANG)) $criteria->add(TranslationPeer::TRN_LANG, $this->trn_lang); if ($this->isColumnModified(TranslationPeer::TRN_VALUE)) $criteria->add(TranslationPeer::TRN_VALUE, $this->trn_value); + if ($this->isColumnModified(TranslationPeer::TRN_UPDATE_DATE)) $criteria->add(TranslationPeer::TRN_UPDATE_DATE, $this->trn_update_date); return $criteria; } @@ -629,6 +701,8 @@ abstract class BaseTranslation extends BaseObject implements Persistent { $copyObj->setTrnValue($this->trn_value); + $copyObj->setTrnUpdateDate($this->trn_update_date); + $copyObj->setNew(true); diff --git a/workflow/engine/classes/model/om/BaseTranslationPeer.php b/workflow/engine/classes/model/om/BaseTranslationPeer.php index e124e4a18..82664a986 100644 --- a/workflow/engine/classes/model/om/BaseTranslationPeer.php +++ b/workflow/engine/classes/model/om/BaseTranslationPeer.php @@ -1,8 +1,5 @@ array ('TrnCategory', 'TrnId', 'TrnLang', 'TrnValue', ), - BasePeer::TYPE_COLNAME => array (TranslationPeer::TRN_CATEGORY, TranslationPeer::TRN_ID, TranslationPeer::TRN_LANG, TranslationPeer::TRN_VALUE, ), - BasePeer::TYPE_FIELDNAME => array ('TRN_CATEGORY', 'TRN_ID', 'TRN_LANG', 'TRN_VALUE', ), - BasePeer::TYPE_NUM => array (0, 1, 2, 3, ) + BasePeer::TYPE_PHPNAME => array ('TrnCategory', 'TrnId', 'TrnLang', 'TrnValue', 'TrnUpdateDate', ), + BasePeer::TYPE_COLNAME => array (TranslationPeer::TRN_CATEGORY, TranslationPeer::TRN_ID, TranslationPeer::TRN_LANG, TranslationPeer::TRN_VALUE, TranslationPeer::TRN_UPDATE_DATE, ), + BasePeer::TYPE_FIELDNAME => array ('TRN_CATEGORY', 'TRN_ID', 'TRN_LANG', 'TRN_VALUE', 'TRN_UPDATE_DATE', ), + BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, ) ); /** @@ -69,10 +69,10 @@ abstract class BaseTranslationPeer { * e.g. self::$fieldNames[BasePeer::TYPE_PHPNAME]['Id'] = 0 */ private static $fieldKeys = array ( - BasePeer::TYPE_PHPNAME => array ('TrnCategory' => 0, 'TrnId' => 1, 'TrnLang' => 2, 'TrnValue' => 3, ), - BasePeer::TYPE_COLNAME => array (TranslationPeer::TRN_CATEGORY => 0, TranslationPeer::TRN_ID => 1, TranslationPeer::TRN_LANG => 2, TranslationPeer::TRN_VALUE => 3, ), - BasePeer::TYPE_FIELDNAME => array ('TRN_CATEGORY' => 0, 'TRN_ID' => 1, 'TRN_LANG' => 2, 'TRN_VALUE' => 3, ), - BasePeer::TYPE_NUM => array (0, 1, 2, 3, ) + BasePeer::TYPE_PHPNAME => array ('TrnCategory' => 0, 'TrnId' => 1, 'TrnLang' => 2, 'TrnValue' => 3, 'TrnUpdateDate' => 4, ), + BasePeer::TYPE_COLNAME => array (TranslationPeer::TRN_CATEGORY => 0, TranslationPeer::TRN_ID => 1, TranslationPeer::TRN_LANG => 2, TranslationPeer::TRN_VALUE => 3, TranslationPeer::TRN_UPDATE_DATE => 4, ), + BasePeer::TYPE_FIELDNAME => array ('TRN_CATEGORY' => 0, 'TRN_ID' => 1, 'TRN_LANG' => 2, 'TRN_VALUE' => 3, 'TRN_UPDATE_DATE' => 4, ), + BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, ) ); /** @@ -181,6 +181,8 @@ abstract class BaseTranslationPeer { $criteria->addSelectColumn(TranslationPeer::TRN_VALUE); + $criteria->addSelectColumn(TranslationPeer::TRN_UPDATE_DATE); + } const COUNT = 'COUNT(TRANSLATION.TRN_CATEGORY)'; diff --git a/workflow/engine/classes/model/om/BaseTriggers.php b/workflow/engine/classes/model/om/BaseTriggers.php index 20d18ac6f..9f9e86253 100644 --- a/workflow/engine/classes/model/om/BaseTriggers.php +++ b/workflow/engine/classes/model/om/BaseTriggers.php @@ -1,13 +1,12 @@ + + + + + + + + + @@ -8004,4 +8013,4 @@ - \ No newline at end of file + diff --git a/workflow/engine/data/mysql/schema.sql b/workflow/engine/data/mysql/schema.sql index dd3610b76..af73699a1 100644 --- a/workflow/engine/data/mysql/schema.sql +++ b/workflow/engine/data/mysql/schema.sql @@ -521,8 +521,8 @@ CREATE TABLE `SWIMLANES_ELEMENTS` `SWI_TYPE` VARCHAR(20) default 'LINE' NOT NULL, `SWI_X` INTEGER default 0 NOT NULL, `SWI_Y` INTEGER default 0 NOT NULL, - `SWI_WIDTH` INTEGER default 165 NOT NULL, - `SWI_HEIGHT` INTEGER default 40 NOT NULL, + `SWI_WIDTH` INTEGER default 0 NOT NULL, + `SWI_HEIGHT` INTEGER default 0 NOT NULL, PRIMARY KEY (`SWI_UID`) )Type=MyISAM ; #----------------------------------------------------------------------------- @@ -569,8 +569,8 @@ CREATE TABLE `TASK` `TAS_DERIVATION` VARCHAR(100) default 'NORMAL' NOT NULL, `TAS_POSX` INTEGER default 0 NOT NULL, `TAS_POSY` INTEGER default 0 NOT NULL, - `TAS_WIDTH` INTEGER default 165 NOT NULL, - `TAS_HEIGHT` INTEGER default 40 NOT NULL, + `TAS_WIDTH` INTEGER default 110 NOT NULL, + `TAS_HEIGHT` INTEGER default 60 NOT NULL, `TAS_COLOR` VARCHAR(32) default '' NOT NULL, `TAS_EVN_UID` VARCHAR(32) default '' NOT NULL, `TAS_BOUNDARY` VARCHAR(32) default '' NOT NULL, @@ -604,6 +604,7 @@ CREATE TABLE `TRANSLATION` `TRN_ID` VARCHAR(100) default '' NOT NULL, `TRN_LANG` VARCHAR(10) default 'en' NOT NULL, `TRN_VALUE` VARCHAR(200) default '' NOT NULL, + `TRN_UPDATE_DATE` DATE, PRIMARY KEY (`TRN_CATEGORY`,`TRN_ID`,`TRN_LANG`) )Type=MyISAM ; #----------------------------------------------------------------------------- diff --git a/workflow/engine/methods/setup/mainAjax.php b/workflow/engine/methods/setup/mainAjax.php index 02d86eb82..34ca415e5 100755 --- a/workflow/engine/methods/setup/mainAjax.php +++ b/workflow/engine/methods/setup/mainAjax.php @@ -48,7 +48,7 @@ switch($request){ if( isset($_SESSION['DEV_FLAG']) && $_SESSION['DEV_FLAG'] && $_GET['menu'] == 'settings' ){ $items[] = Array( 'id' => 'translations', - 'url' => '../tools/translations', + 'url' => '../tools/main', 'text' => 'Translations', 'loaded' => true, 'leaf' => true, diff --git a/workflow/engine/methods/tools/ajaxListener.php b/workflow/engine/methods/tools/ajaxListener.php new file mode 100644 index 000000000..074ea1583 --- /dev/null +++ b/workflow/engine/methods/tools/ajaxListener.php @@ -0,0 +1,116 @@ +. + * + * For more information, contact Colosa Inc, 2566 Le Jeune Rd., + * Coral Gables, FL, 33134, USA, or email info@colosa.com. + * + */ + + /** + * @author Erik Amaru Ortiz + * @date Jan 10th, 2010 + */ + +require "classes/model/Translation.php"; + +$action = $_REQUEST['action']; +unset($_REQUEST['action']); +$ajax = new Ajax(); +$ajax->$action($_REQUEST); + +class Ajax +{ + function getList($params) + { + $search = isset($params['search']) ? $params['search'] : null; + + $result = Translation::getAll('en', $params['start'], $params['limit'], $search); + + /*foreach($result->data as $i=>$row){ + $result->data[$i]['TRN_VALUE'] = substr($row['TRN_VALUE'], 0, 15) . '...'; + }*/ + + echo G::json_encode($result); + } + + function save() + { + try{ + require_once ( "classes/model/Translation.php" ); + $id = $_POST['id']; + $label = preg_replace("[\n|\r|\n\r]", ' ', $_POST['label']); + + $res = Translation::addTranslation('LABEL', $id, 'en', $label); + if ( $res['codError'] < 0 ) { + $result->success = false; + $result->msg = $res['message']; + } else { + $result->success = true; + $result->msg = 'Label '.$id.' saved Successfully!'; + } + + } catch(Exception $e){ + $result->success = false; + $result->msg = $e->getMessage(); + } + print G::json_encode($result); + } + + function delete() + { + require_once ( "classes/model/Translation.php" ); + $ids = explode(',', $_POST['IDS']); + $category = 'LABEL'; + + try{ + foreach($ids as $id){ + $tr = TranslationPeer::retrieveByPK( $category, $id, 'en' ); + if ( ( is_object ( $tr ) && get_class ($tr) == 'Translation' ) ) { + $tr->delete(); + } + } + + $result->success = true; + $result->msg = 'Deleted Successfully!'; + + } catch(Exception $e){ + $result->success = false; + $result->msg = $e->getMessage(); + } + print G::json_encode($result); + } + + function rebuild() + { + try{ + require_once ( "classes/model/Translation.php" ); + $t = new Translation; + $result = Translation::generateFileTranslation('en'); + $result['success'] = true; + + } catch(Exception $e){ + $result->success = false; + $result->msg = $e->getMessage(); + } + print G::json_encode($result); + } +} + + diff --git a/workflow/engine/methods/tools/main.php b/workflow/engine/methods/tools/main.php new file mode 100755 index 000000000..cdb5982e5 --- /dev/null +++ b/workflow/engine/methods/tools/main.php @@ -0,0 +1,8 @@ +addExtJsScript('tools/main', true); + +//$oHeadPublisher->assign('_ENV_CURRENT_DATE', $conf->getSystemDate(date('Y-m-d'))); +G::RenderPage('publish', 'extJs'); \ No newline at end of file diff --git a/workflow/engine/templates/tools/main.js b/workflow/engine/templates/tools/main.js new file mode 100755 index 000000000..a10be9ec2 --- /dev/null +++ b/workflow/engine/templates/tools/main.js @@ -0,0 +1,346 @@ +Ext.onReady(function(){ + Ext.QuickTips.init(); + + var store = new Ext.data.Store( { + autoLoad: true, + proxy : new Ext.data.HttpProxy({ + url: 'ajaxListener?action=getList&start=0&limit=20' + }), + reader : new Ext.data.JsonReader( { + totalProperty: 'totalCount', + root: 'data', + fields : [ + {name : 'TRN_ID'}, + {name : 'TRN_CATEGORY'}, + {name : 'TRN_LANG'}, + {name : 'TRN_VALUE'}, + {name : 'TRN_UPDATE_DATE'} + ] + }) + }); + + var grid = new Ext.grid.GridPanel( { + id: 'grid', + //autoHeight:true, + //autoScroll:true, + //width:'300', + title : '', + stateful : true, + stateId : 'grid', + enableColumnResize: true, + enableHdMenu: true, + //frame:false, + //cls : '', + //columnLines: true, + + viewConfig: { + forceFit:true + }, + + cm: new Ext.grid.ColumnModel({ + defaults: { + width: 200, + sortable: true + }, + columns: [ + {header: 'ID', id:'TRN_ID', dataIndex: 'TRN_ID', hidden:false, hideable:true, width: 350}, + {header: 'Value', dataIndex: 'TRN_VALUE', width: 300, renderer:function(v,p,r){ + var label = v.length > 20 ? v.substring(0, 20) + '...' : v; + return String.format("{0}", label); + }}, + {header: 'Lang', dataIndex: 'TRN_LANG', width: 300}, + {header: 'Category', dataIndex: 'TRN_CATEGORY', width: 300}, + {header: 'Date', dataIndex: 'TRN_UPDATE_DATE', width: 300} + ] + }), + + store: store, + + tbar:[ + { + text:_('ID_ADD'), + iconCls: 'button_menu_ext ss_sprite ss_add', + handler: newLabel + },{ + text:_('ID_REMOVE'), + iconCls: 'button_menu_ext ss_sprite ss_delete', + handler: removeLabel + },{ + text: ' Rebuild', + icon: '/images/trigger.gif', + handler: rebuild + },'->', + new Ext.form.TextField ({ + id: 'searchTxt', + ctCls:'pm_search_text_field', + allowBlank: true, + width: 150, + emptyText: _('ID_ENTER_SEARCH_TERM'),//'enter search term', + listeners: { + specialkey: function(f,e){ + if (e.getKey() == e.ENTER) { + doSearch(); + } + } + } + }) + ], + bbar: new Ext.PagingToolbar({ + pageSize: 15, + store: store, + displayInfo: true, + displayMsg: 'Displaying items {0} - {1} of {2}', + emptyMsg: "", + items:[ + ] + }), + listeners: { + rowdblclick: edit, + render: function(){ + this.loadMask = new Ext.LoadMask(this.body, {msg:_('ID_LOADING')}); + this.ownerCt.doLayout(); + } + } + }); + + grid.getSelectionModel().on('rowselect', function(){ + var rowSelected = grid.getSelectionModel().getSelected(); + Ext.getCmp('editValue').setValue(rowSelected.data.TRN_VALUE); + + }); + + + Ext.getCmp('grid').store.on('load', function(){ + //Ext.getCmp('grid').getSelectionModel().selectRow(Ext.getCmp('grid').getSelectionModel().lastActive); + //Ext.getCmp('grid').fireEvent('rowclick', Ext.getCmp('grid'), Ext.getCmp('grid').getSelectionModel().lastActive) + + }, this, { + single: true + }); + + + + centerPanel = new Ext.Panel({ + layout: 'fit', + region: 'center', // a center region is ALWAYS required for border layout + //deferredRender: false, + items: [grid] + }); + + + var southPanel = new Ext.Panel({ + id:'southPanel', + region: 'south', + layout: 'fit', + //width: 200, + height: 100, + minSize: 100, + maxSize: 400, + split: true, + collapsible: true, + collapseMode: 'mini', + margins: '0 0 0 2', + items: [{ + id: 'editValue', + xtype:'textarea' + } + ], + bbar: [{ + text: 'Save', + icon: '', + handler: saveEdit + }], + }); + + var viewport = new Ext.Viewport({ + layout: 'border', + items: [ centerPanel,southPanel] + }); +}); + +var edit = function(){ + var rowSelected = Ext.getCmp('grid').getSelectionModel().getSelected(); + rowSelected.data.TRN_ID + + Ext.Ajax.request({ + url : 'ajaxListener' , + params : {action:'get', ID : rowSelected.data.TRN_ID }, + success: function ( result, request ) { + store.reload(); + var activator = Ext.getCmp('activator'); + activator.setDisabled(true); + activator.setText('Status'); + activator.setIcon(''); + }, + failure: function ( result, request) { + Ext.MessageBox.alert('Failed', result.responseText); + } + }); +} + +function newLabel() +{ + var frm = new Ext.FormPanel( { + id: 'formNew', + labelAlign : 'right', + labelWidth : 100, + width : 400, + items : [ { + id: 'id', + fieldLabel: 'ID', + xtype:'textfield', + width: 300 + }, { + id: 'label', + fieldLabel: 'Label', + xtype:'textarea', + width: 300, + height: 100 + } + ], + buttons : [{ + text : _('ID_SAVE'), + handler : saveNew + },{ + text : _('ID_CANCEL'), + handler : function() { + win.close(); + } + }] + }); + + var win = new Ext.Window({ + id: 'winNew', + title: _('ID_NEW'), + width: 450, + height: 200, + layout:'fit', + autoScroll:true, + modal: true, + maximizable: false, + items: [frm] + }); + win.show(); +} + +function doSearch(){ + var filter = Ext.getCmp('searchTxt').getValue(); + var store = Ext.getCmp('grid').store; + store.setBaseParam('search', filter); + store.load({params:{search: filter, start : 0 , limit : 25 }}); +} + + +function saveNew() +{ + var id = Ext.getCmp('id').getValue(); + var label = Ext.getCmp('label').getValue(); + + Ext.getCmp('formNew').getForm().submit( { + url : 'ajaxListener?action=save&id'+id+'&label='+label, + waitMsg : 'Saving...', + timeout : 36000, + success : function(obj, resp) { + Ext.getCmp('grid').store.reload(); + PMExt.notify('SAVE', resp.result.msg); + Ext.getCmp('winNew').hide(); + }, + failure: function(obj, resp) { + Ext.Msg.alert( _('ID_ERROR'), resp.result.msg); + }, + }); +} + +function saveEdit() +{ + var rows = Ext.getCmp('grid').getSelectionModel().getSelections(); + + if( rows.length == 1 ){ + + Ext.Ajax.request({ + url : 'ajaxListener', + success: function(response) { + Ext.MessageBox.hide(); + result = Ext.util.JSON.decode(response.responseText); + if(result.success){ + var grid = Ext.getCmp('grid'); + + PMExt.notify('SAVE EDIT', result.msg); + grid.store.reload(); + setTimeout('selectRow()', 1100); + } else + PMExt.error('Error', result.msg); + }, + params: {action:'save', id: rows[0].get('TRN_ID'), label: Ext.getCmp('editValue').getValue()} + }); + + } else PMExt.error('ERROR', 'Just select one item from the list to edit!'); +} + +function removeLabel() +{ + var rows = Ext.getCmp('grid').getSelectionModel().getSelections(); + if( rows.length > 0 ) { + ids = Array(); + for(i=0; i'; + //text += 'JS Cache file: ' + result.cacheFileJS + '
'; + text += 'Rows: ' + result.rows + '
'; + //text += 'JS ROws: ' + result.rowsJS + '
'; + + PMExt.info('Result', text); + } else + PMExt.error('Error', result.msg); + } + }); +} + +function selectRow(){ + Ext.getCmp('grid').getSelectionModel().selectRow(Ext.getCmp('grid').getSelectionModel().lastActive); + Ext.getCmp('grid').fireEvent('rowclick', Ext.getCmp('grid'), Ext.getCmp('grid').getSelectionModel().lastActive) +} + +