. * * For more information, contact Colosa Inc, 2566 Le Jeune Rd., * Coral Gables, FL, 33134, USA, or email info@colosa.com. */ require_once 'class.pluginRegistry.php'; define('G_PLUGIN_CLASS', 1); define('PM_CREATE_CASE', 1001); define('PM_UPLOAD_DOCUMENT', 1002); define('PM_CASE_DOCUMENT_LIST', 1003); define('PM_BROWSE_CASE', 1004); define('PM_NEW_PROCESS_LIST', 1005); define('PM_NEW_PROCESS_SAVE', 1006); define('PM_NEW_DYNAFORM_LIST', 1007); define('PM_NEW_DYNAFORM_SAVE', 1008); define('PM_EXTERNAL_STEP', 1009); define('PM_CASE_DOCUMENT_LIST_ARR', 1010); define('PM_LOGIN', 1011); define('PM_UPLOAD_DOCUMENT_BEFORE', 1012); define('PM_CREATE_NEW_DELEGATION', 1013); /** * @package workflow.engine.classes */ class menuDetail { var $sNamespace; var $sMenuId; var $sFilename; /** * This function is the constructor of the menuDetail class * param string $sNamespace * param string $sMenuId * param string $sFilename * @return void */ function __construct( $sNamespace, $sMenuId, $sFilename ) { $this->sNamespace = $sNamespace; $this->sMenuId = $sMenuId; $this->sFilename = $sFilename; } } /** * @package workflow.engine.classes */ class toolbarDetail { var $sNamespace; var $sToolbarId; var $sFilename; /** * This function is the constructor of the menuDetail class * param string $sNamespace * param string $sMenuId * param string $sFilename * @return void */ function __construct( $sNamespace, $sToolbarId, $sFilename ) { $this->sNamespace = $sNamespace; $this->sToolbarId = $sToolbarId; $this->sFilename = $sFilename; } } /** * @package workflow.engine.classes */ class cssFile { var $sNamespace; var $sCssFile; /** * This function is the constructor of the cssFile class * param string $sNamespace * param string $sPage * @return void */ function __construct( $sNamespace, $sCssFile) { $this->sNamespace = $sNamespace; $this->sCssFile = $sCssFile; } } /** * @package workflow.engine.classes */ class triggerDetail { var $sNamespace; var $sTriggerId; var $sTriggerName; /** * This function is the constructor of the triggerDetail class * param string $sNamespace * param string $sTriggerId * param string $sTriggerName * @return void */ function __construct( $sNamespace, $sTriggerId, $sTriggerName ) { $this->sNamespace = $sNamespace; $this->sTriggerId = $sTriggerId; $this->sTriggerName = $sTriggerName; } } /** * @package workflow.engine.classes */ class folderDetail { var $sNamespace; var $sFolderId; var $sFolderName; /** * This function is the constructor of the folderDetail class * param string $sNamespace * param string $sFolderId * param string $sFolderName * @return void */ function __construct( $sNamespace, $sFolderId, $sFolderName ) { $this->sNamespace = $sNamespace; $this->sFolderId = $sFolderId; $this->sFolderName = $sFolderName; } } /** * @package workflow.engine.classes */ class stepDetail { var $sNamespace; var $sStepId; var $sStepName; var $sStepTitle; var $sSetupStepPage; /** * This function is the constructor of the stepDetail class * param string $sNamespace * param string $sStepId * param string $sStepName * param string $sStepTitle * param string $sSetupStepPage * @return void */ function __construct( $sNamespace, $sStepId, $sStepName, $sStepTitle, $sSetupStepPage ) { $this->sNamespace = $sNamespace; $this->sStepId = $sStepId; $this->sStepName = $sStepName; $this->sStepTitle = $sStepTitle; $this->sSetupStepPage = $sSetupStepPage; } } /** * @package workflow.engine.classes */ class redirectDetail { var $sNamespace; var $sRoleCode; var $sPathMethod; /** * This function is the constructor of the redirectDetail class * param string $sNamespace * param string $sRoleCode * param string $sPathMethod * @return void */ function __construct( $sNamespace, $sRoleCode, $sPathMethod ) { $this->sNamespace = $sNamespace; $this->sRoleCode = $sRoleCode; $this->sPathMethod = $sPathMethod; } } /** * @package workflow.engine.classes */ class folderData { var $sProcessUid; var $sProcessTitle; var $sApplicationUid; var $sApplicationTitle; var $sUserUid; var $sUserLogin; var $sUserFullName; /** * This function is the constructor of the folderData class * param string $sProcessUid * param string $sProcessTitle * param string $sApplicationUid * param string $sApplicationTitle * param string $sUserUid * param string $sUserLogin * param string $sUserFullName * @return void */ function __construct( $sProcessUid, $sProcessTitle, $sApplicationUid, $sApplicationTitle, $sUserUid, $sUserLogin = '', $sUserFullName ='') { $this->sProcessUid = $sProcessUid; $this->sProcessTitle = $sProcessTitle; $this->sApplicationUid = $sApplicationUid; $this->sApplicationTitle = $sApplicationTitle; $this->sUserUid = $sUserUid; $this->sUserLogin = $sUserLogin; $this->sUserFullName = $sUserFullName; } } /** * @package workflow.engine.classes */ class uploadDocumentData { var $sApplicationUid; var $sUserUid; var $sFilename; var $sFileTitle; var $sDocumentUid; var $bUseOutputFolder; var $iVersion; /** * This function is the constructor of the uploadDocumentData class * param string $sApplicationUid * param string $sUserUid * param string $sFilename * param string $sFileTitle * param string $sDocumentUid * param integer $iVersion * @return void */ function __construct( $sApplicationUid, $sUserUid, $sFilename, $sFileTitle, $sDocumentUid, $iVersion = 1 ) { $this->sApplicationUid = $sApplicationUid; $this->sUserUid = $sUserUid; $this->sFilename = $sFilename; $this->sFileTitle = $sFileTitle; $this->sDocumentUid = $sDocumentUid; $this->bUseOutputFolder = false; $this->iVersion = $iVersion; } } /** * @package workflow.engine.classes */ class loginInfo { var $lName; var $lPassword; var $lSession; /** * This function is the constructor of the loginInfo class * param string $lName * param string $lPassword * param string $lSession * @return void */ function __construct( $lName, $lPassword, $lSession ) { $this->lName = $lName; $this->lPassword = $lPassword; $this->lSession = $lSession; } } /** * @package workflow.engine.classes */ class caseSchedulerPlugin { var $sNamespace; var $sActionId; var $sActionForm; var $sActionSave; var $sActionExecute; var $sActionGetFields; /** * This function is the constructor of the caseSchedulerPlugin class * param string $sNamespace * param string $sActionId * param string $sActionForm * param string $sActionSave * param string $sActionExecute * param string $sActionGetFields * @return void */ function __construct( $sNamespace, $sActionId, $sActionForm, $sActionSave, $sActionExecute, $sActionGetFields ) { $this->sNamespace = $sNamespace; $this->sActionId = $sActionId; $this->sActionForm = $sActionForm; $this->sActionSave = $sActionSave; $this->sActionExecute = $sActionExecute; $this->sActionGetFields = $sActionGetFields; } } /** * @package workflow.engine.classes */ class taskExtendedProperty { var $sNamespace; var $sPage; var $sName; var $sIcon; /** * This function is the constructor of the taskExtendedProperty class * param string $sNamespace * param string $sPage * param string $sName * param string $sIcon * @return void */ function __construct( $sNamespace, $sPage, $sName, $sIcon ) { $this->sNamespace = $sNamespace; $this->sPage = $sPage; $this->sName = $sName; $this->sIcon = $sIcon; } } /** * @package workflow.engine.classes */ class dashboardPage { var $sNamespace; var $sPage; var $sName; var $sIcon; /** * This function is the constructor of the dashboardPage class * param string $sNamespace * param string $sPage * @return void */ function __construct( $sNamespace, $sPage, $sName, $sIcon ) { $this->sNamespace = $sNamespace; $this->sPage = $sPage; $this->sName = $sName; $this->sIcon = $sIcon; } } /** * @package workflow.engine.classes */ class PMPlugin { var $sNamespace; var $sClassName; var $sFilename = null; var $iVersion = 0; var $sFriendlyName = null; var $sPluginFolder = ''; var $aWorkspaces = null; var $bPrivate = false; /** * This function sets values to the plugin * @param string $sNamespace * @param string $sFilename * @return void */ function PMPlugin($sNamespace, $sFilename = null) { $this->sNamespace = $sNamespace; $this->sClassName = $sNamespace . 'Plugin'; $this->sPluginFolder = $sNamespace; $this->sFilename = $sFilename; } /** * With this function we can register the MENU * @param string $menuId * @param string $menuFilename * @return void */ function registerMenu( $menuId, $menuFilename ) { $oPluginRegistry =& PMPluginRegistry::getSingleton(); $sMenuFilename = PATH_PLUGINS . $this->sPluginFolder . PATH_SEP . $menuFilename; $oPluginRegistry->registerMenu ( $this->sNamespace, $menuId, $sMenuFilename); } /** * With this function we can register a dashlet class * param * @return void */ function registerDashlets() { $oPluginRegistry =& PMPluginRegistry::getSingleton(); $oPluginRegistry->registerDashlets($this->sNamespace); } /** * With this function we can register the report * param * @return void */ function registerReport( ) { $oPluginRegistry =& PMPluginRegistry::getSingleton(); $oPluginRegistry->registerReport ( $this->sNamespace); } /** * With this function we can register the pm's function * param * @return void */ function registerPmFunction( ) { $oPluginRegistry =& PMPluginRegistry::getSingleton(); $oPluginRegistry->registerPmFunction ( $this->sNamespace); } /** * With this function we can set the company's logo * param * @return void */ function setCompanyLogo( $filename ) { $oPluginRegistry =& PMPluginRegistry::getSingleton(); $oPluginRegistry->setCompanyLogo( $this->sNamespace, $filename); } /** * With this function we can register the pm's function * param * @return void */ function redirectLogin( $role, $pathMethod ) { $oPluginRegistry =& PMPluginRegistry::getSingleton(); $oPluginRegistry->registerRedirectLogin( $this->sNamespace, $role, $pathMethod ); } /** * Register a folder for methods * * @param unknown_type $sFolderName */ function registerFolder($sFolderId, $sFolderName ) { $oPluginRegistry =& PMPluginRegistry::getSingleton(); $oPluginRegistry->registerFolder( $this->sNamespace, $sFolderId, $sFolderName ); } /** * With this function we can register the steps * param * @return void */ function registerStep($sStepId, $sStepName, $sStepTitle, $sSetupStepPage = '') { $oPluginRegistry =& PMPluginRegistry::getSingleton(); $oPluginRegistry->registerStep( $this->sNamespace, $sStepId, $sStepName, $sStepTitle, $sSetupStepPage ); } /** * With this function we can register the triggers * @param string $sTriggerId * @param string $sTriggerName * @return void */ function registerTrigger( $sTriggerId, $sTriggerName ) { $oPluginRegistry =& PMPluginRegistry::getSingleton(); $oPluginRegistry->registerTrigger ( $this->sNamespace, $sTriggerId, $sTriggerName ); } /** * With this function we can delete a file * @param string $sFilename * @param string $bAbsolutePath * @return void */ function delete($sFilename, $bAbsolutePath = false) { if (!$bAbsolutePath) { $sFilename = PATH_PLUGINS . $this->sPluginFolder . PATH_SEP . $sFilename; } @unlink($sFilename); } /** * With this function we can copy a files * @param string $sSouce * @param string $sTarget * @param string $bSourceAbsolutePath * @param string $bTargetAbsolutePath * @return void */ function copy($sSouce, $sTarget, $bSourceAbsolutePath = false, $bTargetAbsolutePath = false) { if (!$bSourceAbsolutePath) { $sSouce = PATH_PLUGINS . $this->sPluginFolder . PATH_SEP . $sSouce; } if (!$bTargetAbsolutePath) { $sTarget = PATH_PLUGINS . $this->sPluginFolder . PATH_SEP . $sTarget; } G::verifyPath(dirname($sTarget), true); @copy($sSouce, $sTarget); } /** * With this function we can rename a files * @param string $sSouce * @param string $sTarget * @param string $bSourceAbsolutePath * @param string $bTargetAbsolutePath * @return void */ function rename($sSouce, $sTarget, $bSourceAbsolutePath = false, $bTargetAbsolutePath = false) { if (!$bSourceAbsolutePath) { $sSouce = PATH_PLUGINS . $this->sPluginFolder . PATH_SEP . $sSouce; } if (!$bTargetAbsolutePath) { $sTarget = PATH_PLUGINS . $this->sPluginFolder . PATH_SEP . $sTarget; } G::verifyPath(dirname($sTarget), true); @chmod(dirname($sTarget), 0777); @rename($sSouce, $sTarget); } /** * This function registers a page who is break * @param string $pageId * @param string $templateFilename * @return void */ function registerBreakPageTemplate( $pageId, $templateFilename ) { $oPluginRegistry =& PMPluginRegistry::getSingleton(); $sPageFilename = PATH_PLUGINS . $this->sPluginFolder . PATH_SEP . $templateFilename; $oPluginRegistry->registerBreakPageTemplate ( $this->sNamespace, $pageId, $sPageFilename); } /** * With this function we can register a CSS * @param string $sPage * @return void */ function registerCss( $sCssFile) { $oPluginRegistry =& PMPluginRegistry::getSingleton(); $oPluginRegistry->registerCss ( $this->sNamespace, $sCssFile ); } /** * With this function we can register the toolbar file for dynaform editor * @param string $menuId * @param string $menuFilename * @return void */ function registerToolbarFile( $sToolbarId, $filename ) { $oPluginRegistry =& PMPluginRegistry::getSingleton(); $sFilename = PATH_PLUGINS . $this->sPluginFolder . PATH_SEP . $filename; $oPluginRegistry->registerToolbarFile ( $this->sNamespace, $sToolbarId, $sFilename); } /** * With this function we can register a Case Scheduler Plugin/Addon * param * @return void */ function registerCaseSchedulerPlugin($sActionId, $sActionForm, $sActionSave, $sActionExecute, $sActionGetFields) { $oPluginRegistry =& PMPluginRegistry::getSingleton(); $oPluginRegistry->registerCaseSchedulerPlugin( $this->sNamespace, $sActionId, $sActionForm, $sActionSave, $sActionExecute, $sActionGetFields ); } /** * With this function we can register a task extended property * @param string $sPage * @return void */ function registerTaskExtendedProperty( $sPage, $sName, $sIcon="") { $oPluginRegistry =& PMPluginRegistry::getSingleton(); $oPluginRegistry->registerTaskExtendedProperty ( $this->sNamespace, $sPage, $sName, $sIcon ); } /** * Register a plugin javascript to run with core js script at same runtime * @param string $coreJsFile * @param array/string $pluginJsFile * @return void */ function registerJavascript($sCoreJsFile, $pluginJsFile) { $oPluginRegistry =& PMPluginRegistry::getSingleton(); $oPluginRegistry->registerJavascript($this->sNamespace, $sCoreJsFile, $pluginJsFile); } /** * Unregister a plugin javascript * @param string $coreJsFile * @param array/string $pluginJsFile * @return void */ function unregisterJavascript($sCoreJsFile, $pluginJsFile) { $oPluginRegistry =& PMPluginRegistry::getSingleton(); $oPluginRegistry->unregisterJavascript($this->sNamespace, $sCoreJsFile, $pluginJsFile); } function registerDashboard() { // Dummy function for backwards compatibility } function getExternalStepAction() { $oPluginRegistry =& PMPluginRegistry::getSingleton(); g::pr($oPluginRegistry->getSteps()); return $oPluginRegistry->getSteps(); } }