当前位置: 首页>>代码示例>>PHP>>正文


PHP G::replaceDataField方法代码示例

本文整理汇总了PHP中G::replaceDataField方法的典型用法代码示例。如果您正苦于以下问题:PHP G::replaceDataField方法的具体用法?PHP G::replaceDataField怎么用?PHP G::replaceDataField使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在G的用法示例。


在下文中一共展示了G::replaceDataField方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: tdClass

 /**
  * tdClass
  *
  * @param  string $values
  * @param  string $owner 
  *
  * @return $value
  */
 function tdClass($values, $owner)
 {
     $value = G::replaceDataField($this->condition, $owner->values);
     $value = @eval('return (' . $value . ');');
     $row = $values['row__'];
     $style = $row % 2 == 0 ? $this->classNameAlt : $this->className;
     return $value ? $style : '';
 }
开发者ID:nshong,项目名称:processmaker,代码行数:16,代码来源:class.xmlformExtension.php

示例2: render

 public function render($value, $owner = null)
 {
     $url = G::replaceDataField($this->file, $owner->values);
     if ($this->home === "methods") {
         $url = G::encryptlink(SYS_URI . $url);
     }
     if ($this->home === "public_html") {
         $url = '/' . $url;
     }
     return '<img src="' . htmlentities($url, ENT_QUOTES, 'utf-8') . '" ' . ($this->style ? 'style="' . $this->style . '"' : '') . ' alt ="' . htmlentities($value, ENT_QUOTES, 'utf-8') . '"/>';
 }
开发者ID:emildev35,项目名称:processmaker,代码行数:11,代码来源:class.xmlfield_Image.php

示例3: renderField

 /**
  * Function renderField
  * @author David S. Callizaya S. <davidsantos@colosa.com>
  * @access public
  * @parameter string row
  * @parameter string r
  * @parameter string result
  * @return string
  */
 function renderField($row, $r, $result)
 {
     global $G_DATE_FORMAT;
     //BEGIN: Special content: __sqlEdit__,__sqlDelete__
     $result['sqlDelete__'] = "pagedTable.event='Delete';pagedTable_DoIt=true;if (pagedTable.onDeleteField) pagedTable_DoIt=eval(pagedTable.onDeleteField);if (pagedTable_DoIt) document.getElementById('pagedTable').outerHTML=ajax_function('{$this->ajaxServer}','delete','field='+encodeURIComponent('" . $this->fieldDataList . "'));if (pagedTable.afterDeleteField) return eval(pagedTable.afterDeleteField); else return false;";
     $result['sqlEdit__'] = "pagedTable.event='Update';pagedTable.field=encodeURIComponent('" . $this->fieldDataList . "');pagedTable.updateField(pagedTable.field);return false;";
     $result['pagedTableField__'] = "'" . $this->fieldDataList . "'";
     $result['row__'] = $row;
     //END: Special content.
     //Merge $result with $xmlForm values (for default valuesSettings)
     $result = array_merge($this->xmlForm->values, $result);
     switch (true) {
         case $this->style[$r]['data'] != '':
             $value = isset($result[$this->style[$r]['data']]) ? $result[$this->style[$r]['data']] : '';
             break;
         default:
             $value = $this->fields[$r]['Label'];
     }
     switch ($this->fields[$r]['Type']) {
         case 'date':
             /*Accept dates like 20070515 without - or / to separate its parts*/
             if (strlen($value) <= 10 && strlen($value) > 4) {
                 $value = str_replace('/', '-', $value);
                 if (strpos($value, '-') === FALSE) {
                     $value = substr($value, 0, 4) . '-' . substr($value, 4, 2) . '-' . substr($value, 6, 2);
                 }
             }
     }
     $this->tpl->newBlock("field");
     $this->tpl->assign('width', $this->style[$r]['colWidth']);
     $this->tpl->assign('widthPercent', $this->style[$r]['colWidth'] * 100 / $this->totalWidth . '%');
     $this->tpl->assign('className', isset($this->style[$r]['colClassName']) && $this->style[$r]['colClassName'] ? $this->style[$r]['colClassName'] : $this->tdClass);
     $this->tpl->assign('style', $this->tdStyle);
     if (isset($this->style[$r]['align'])) {
         $this->tpl->assign("align", $this->style[$r]['align']);
     }
     if (isset($this->style[$r]['colAlign'])) {
         $this->tpl->assign("align", $this->style[$r]['colAlign']);
     }
     /**
      * BEGIN : Reeplace of @@, @%,... in field's attributes like onclick, link,
      *         ...
      */
     if (isset($this->xmlForm->fields[$this->fields[$r]['Name']]->onclick)) {
         $this->xmlForm->fields[$this->fields[$r]['Name']]->onclick = G::replaceDataField($this->style[$r]['onclick'], $result);
     }
     if (isset($this->xmlForm->fields[$this->fields[$r]['Name']]->link)) {
         $this->xmlForm->fields[$this->fields[$r]['Name']]->link = G::replaceDataField($this->style[$r]['link'], $result);
     }
     if (isset($this->xmlForm->fields[$this->fields[$r]['Name']]->value)) {
         $this->xmlForm->fields[$this->fields[$r]['Name']]->value = G::replaceDataField($this->style[$r]['value'], $result);
     }
     /**
      * BREAK : Reeplace of @@, @%,...
      */
     /**
      * Rendering of the field
      */
     $this->xmlForm->setDefaultValues();
     $this->xmlForm->setValues($result);
     $this->xmlForm->fields[$this->fields[$r]['Name']]->mode = 'view';
     if (array_search('rendergrid', get_class_methods(get_class($this->xmlForm->fields[$this->fields[$r]['Name']]))) !== FALSE || array_search('renderGrid', get_class_methods(get_class($this->xmlForm->fields[$this->fields[$r]['Name']]))) !== FALSE) {
         $htmlField = $this->xmlForm->fields[$this->fields[$r]['Name']]->renderGrid(array($value), $this->xmlForm);
         $this->tpl->assign("value", $htmlField[0]);
     } else {
     }
     /**
      * CONTINUE : Reeplace of @@, @%,...
      */
     if (isset($this->xmlForm->fields[$this->fields[$r]['Name']]->onclick)) {
         $this->xmlForm->fields[$this->fields[$r]['Name']]->onclick = $this->style[$r]['onclick'];
     }
     if (isset($this->xmlForm->fields[$this->fields[$r]['Name']]->link)) {
         $this->xmlForm->fields[$this->fields[$r]['Name']]->link = $this->style[$r]['link'];
     }
     if (isset($this->xmlForm->fields[$this->fields[$r]['Name']]->value)) {
         $this->xmlForm->fields[$this->fields[$r]['Name']]->value = $this->style[$r]['value'];
     }
     /**
      * END : Reeplace of @@, @%,...
      */
     return $this->fields[$r]['Type'];
 }
开发者ID:nshong,项目名称:processmaker,代码行数:92,代码来源:class.pagedTable.php

示例4: registerLabel

 public function registerLabel($id, $label)
 {
     return 1;
     $dbc = new DBConnection();
     $ses = new DBSession($dbc);
     $ses->Execute(G::replaceDataField('REPLACE INTO `TRANSLATION` (`TRN_CATEGORY`, `TRN_ID`, `TRN_LANG`, `TRN_VALUE`) VALUES
     ("LABEL", @@ID, "' . SYS_LANG . '", @@LABEL);', array('ID' => $id, 'LABEL' => $label !== null ? $label : '')));
 }
开发者ID:nhenderson,项目名称:processmaker,代码行数:8,代码来源:class.g.php

示例5: DBConnection

 */
if (($RBAC_Response = $RBAC->userCanAccess("PM_FACTORY")) != 1) {
    return $RBAC_Response;
    //G::genericForceLogin( 'WF_MYINFO' , 'login/noViewPage', $urlLogin = 'login/login' );
}
G::LoadInclude('ajax');
G::LoadClass('dynaform');
G::LoadClass('xmlDb');
$dbc = new DBConnection();
$ses = new DBSession($dbc);
//$dynaform = new dynaform( $dbc );
if ($_POST['form']['DYN_UID'] === '') {
    unset($_POST['form']['DYN_UID']);
}
$Fields = $_POST['form'];
if (!isset($Fields['DYN_UID'])) {
    return;
}
$file = G::decrypt($Fields['A'], URL_KEY);
$Fields['DYN_FILENAME'] = strcasecmp(substr($file, -5), '_tmp0') == 0 ? substr($file, 0, strlen($file) - 5) : $file;
$_SESSION['CURRENT_DYNAFORM'] = $Fields;
//$dynaform->Save( $Fields );
$dbc2 = new DBConnection(PATH_DYNAFORM . $file . '.xml', '', '', '', 'myxml');
$ses2 = new DBSession($dbc2);
if (!isset($Fields['ENABLETEMPLATE'])) {
    $Fields['ENABLETEMPLATE'] = "0";
}
$ses2->execute(G::replaceDataField("UPDATE . SET WIDTH = @@WIDTH WHERE XMLNODE_NAME = 'dynaForm' ", $Fields));
$ses2->execute(G::replaceDataField("UPDATE . SET ENABLETEMPLATE = @@ENABLETEMPLATE WHERE XMLNODE_NAME = 'dynaForm' ", $Fields));
$ses2->execute(G::replaceDataField("UPDATE . SET MODE = @@MODE WHERE XMLNODE_NAME = 'dynaForm' ", $Fields));
开发者ID:emildev35,项目名称:processmaker,代码行数:30,代码来源:dynaforms_SaveProperties.php

示例6: jsonr

 public function jsonr(&$json)
 {
     foreach ($json as $key => &$value) {
         $sw1 = is_array($value);
         $sw2 = is_object($value);
         if ($sw1 || $sw2) {
             $this->jsonr($value);
         }
         if (!$sw1 && !$sw2) {
             //read event
             $fn = $this->onPropertyRead;
             if (function_exists($fn)) {
                 $fn($json, $key, $value);
             }
             //set properties from trigger
             $prefixs = array("@@", "@#", "@%", "@?", "@$", "@=");
             if (is_string($value) && in_array(substr($value, 0, 2), $prefixs)) {
                 $triggerValue = substr($value, 2);
                 if (isset($this->fields["APP_DATA"][$triggerValue])) {
                     $json->{$key} = $this->fields["APP_DATA"][$triggerValue];
                 }
             }
             //set properties from 'formInstance' variable
             if (isset($this->fields["APP_DATA"]["formInstance"])) {
                 $formInstance = $this->fields["APP_DATA"]["formInstance"];
                 if (!is_array($formInstance)) {
                     $formInstance = array($formInstance);
                 }
                 $nfi = count($formInstance);
                 for ($ifi = 0; $ifi < $nfi; $ifi++) {
                     $fi = $formInstance[$ifi];
                     if (is_object($fi) && isset($fi->id) && $key === "id" && $json->{$key} === $fi->id) {
                         foreach ($fi as $keyfi => $valuefi) {
                             if (isset($json->{$keyfi})) {
                                 $json->{$keyfi} = $valuefi;
                             }
                         }
                     }
                 }
             }
             //query & options
             if ($key === "type" && ($value === "text" || $value === "textarea" || $value === "dropdown" || $value === "suggest" || $value === "checkbox" || $value === "radio" || $value === "datetime" || $value === "hidden")) {
                 if (!isset($json->data)) {
                     $json->data = array(
                         "value" => "",
                         "label" => ""
                     );
                 }
                 if (!isset($json->dbConnection))
                     $json->dbConnection = "none";
                 if (!isset($json->sql))
                     $json->sql = "";
                 if (!isset($json->options))
                     $json->options = array();
                 if (!isset($json->optionsSql))
                     $json->optionsSql = array();
                 else {
                     //convert stdClass to array
                     if (is_array($json->options)) {
                         $option = array();
                         foreach ($json->options as $valueOptions) {
                             array_push($option, array(
                                 "value" => $valueOptions->value,
                                 "label" => isset($valueOptions->label) ? $valueOptions->label : ""
                             ));
                         }
                         $json->options = $option;
                     }
                 }
                 if ($json->dbConnection !== "" && $json->dbConnection !== "none" && $json->sql !== "") {
                     $cnn = Propel::getConnection($json->dbConnection);
                     $stmt = $cnn->createStatement();
                     try {
                         $rs = $stmt->executeQuery(G::replaceDataField($json->sql, array()), \ResultSet::FETCHMODE_NUM);
                         while ($rs->next()) {
                             $row = $rs->getRow();
                             $option = array(
                                 "label" => isset($row[1]) ? $row[1] : $row[0],
                                 "value" => $row[0]
                             );
                             array_push($json->optionsSql, $option);
                         }
                     } catch (Exception $e) {
                         
                     }
                 }
                 if (isset($json->options[0])) {
                     $json->data = $json->options[0];
                     $no = count($json->options);
                     for ($io = 0; $io < $no; $io++) {
                         if ((is_array($json->options[$io]) ? $json->options[$io]["value"] : $json->options[$io]->value) === $json->defaultValue) {
                             $json->data = $json->options[$io];
                         }
                     }
                 }
             }
             //data
             if ($key === "type" && ($value === "text" || $value === "textarea" || $value === "suggest" || $value === "dropdown" || $value === "checkbox" || $value === "radio" || $value === "datetime" || $value === "hidden")) {
                 $json->data = array(
                     "value" => isset($this->fields["APP_DATA"][$json->name]) ? $this->fields["APP_DATA"][$json->name] : (is_array($json->data) ? $json->data["value"] : $json->data->value),
//.........这里部分代码省略.........
开发者ID:rrsc,项目名称:processmaker,代码行数:101,代码来源:class.pmDynaform.php

示例7: sendNotifications

    public function sendNotifications($sCurrentTask, $aTasks, $aFields, $sApplicationUID, $iDelegation, $sFrom = "")

    {

        try {

            $applicationData = $this->loadCase($sApplicationUID);

            $aFields["APP_NUMBER"] = $applicationData["APP_NUMBER"];



            if (!class_exists('System')) {

                G::LoadClass('system');

            }

            $aConfiguration = System::getEmailConfiguration();



            $msgError = "";

            if (!isset($aConfiguration['MESS_ENABLED']) || $aConfiguration['MESS_ENABLED'] != '1') {

                $msgError = "The default configuration wasn't defined";

                $aConfiguration['MESS_ENGINE'] = '';

            }



            //Send derivation notification - Start

            $oTask = new Task();

            $aTaskInfo = $oTask->load($sCurrentTask);



            if ($aTaskInfo['TAS_SEND_LAST_EMAIL'] != 'TRUE') {

                return false;

            }



            $sFrom = G::buildFrom($aConfiguration, $sFrom);



            if (isset($aTaskInfo['TAS_DEF_SUBJECT_MESSAGE']) && $aTaskInfo['TAS_DEF_SUBJECT_MESSAGE'] != '') {

                $sSubject = G::replaceDataField($aTaskInfo['TAS_DEF_SUBJECT_MESSAGE'], $aFields);

            } else {

                $sSubject = G::LoadTranslation('ID_MESSAGE_SUBJECT_DERIVATION');

            }



            //erik: new behaviour for messages

            G::loadClass('configuration');

            $oConf = new Configurations;

            $oConf->loadConfig($x, 'TAS_EXTRA_PROPERTIES', $aTaskInfo['TAS_UID'], '', '');

            $conf = $oConf->aConfig;



            $pathEmail = PATH_DATA_SITE . "mailTemplates" . PATH_SEP . $aTaskInfo["PRO_UID"] . PATH_SEP;

            $swtplDefault = 0;

            $sBody = null;



            if (isset($conf["TAS_DEF_MESSAGE_TYPE"]) &&

                    isset($conf["TAS_DEF_MESSAGE_TEMPLATE"]) &&

                    $conf["TAS_DEF_MESSAGE_TYPE"] == "template" &&

                    $conf["TAS_DEF_MESSAGE_TEMPLATE"] != ""

            ) {

                if ($conf["TAS_DEF_MESSAGE_TEMPLATE"] == "alert_message.html") {

                    $swtplDefault = 1;

//.........这里部分代码省略.........
开发者ID:nhenderson,项目名称:processmaker,代码行数:101,代码来源:class.case.php

示例8: createAppEvents

 function createAppEvents($PRO_UID, $APP_UID, $DEL_INDEX, $TAS_UID)
 {
     $aRows = array();
     $aEventsRows = $this->getBy($PRO_UID, array('TAS_UID' => $TAS_UID));
     if ($aEventsRows !== false) {
         $aRows = array_merge($aRows, $aEventsRows);
     }
     $aEventsRows = $this->getBy($PRO_UID, array('EVN_TAS_UID_FROM' => $TAS_UID));
     if ($aEventsRows !== false) {
         $aRows = array_merge($aRows, $aEventsRows);
     }
     foreach ($aRows as $aData) {
         // if the events has a condition
         if (trim($aData['EVN_CONDITIONS']) != '') {
             G::LoadClass('case');
             $oCase = new Cases();
             $aFields = $oCase->loadCase($APP_UID);
             $Fields = $aFields['APP_DATA'];
             $conditionContents = trim($aData['EVN_CONDITIONS']);
             //$sContent    = G::unhtmlentities($sContent);
             $iAux = 0;
             $iOcurrences = preg_match_all('/\\@(?:([\\>])([a-zA-Z\\_]\\w*)|([a-zA-Z\\_][\\w\\-\\>\\:]*)\\(((?:[^\\\\\\)]*(?:[\\\\][\\w\\W])?)*)\\))((?:\\s*\\[[\'"]?\\w+[\'"]?\\])+)?/', $conditionContents, $aMatch, PREG_PATTERN_ORDER | PREG_OFFSET_CAPTURE);
             if ($iOcurrences) {
                 for ($i = 0; $i < $iOcurrences; $i++) {
                     preg_match_all('/@>' . $aMatch[2][$i][0] . '([\\w\\W]*)' . '@<' . $aMatch[2][$i][0] . '/', $conditionContents, $aMatch2, PREG_PATTERN_ORDER | PREG_OFFSET_CAPTURE);
                     $sGridName = $aMatch[2][$i][0];
                     $sStringToRepeat = $aMatch2[1][0][0];
                     if (isset($Fields[$sGridName])) {
                         if (is_array($Fields[$sGridName])) {
                             $sAux = '';
                             foreach ($Fields[$sGridName] as $aRow) {
                                 $sAux .= G::replaceDataField($sStringToRepeat, $aRow);
                             }
                         }
                     }
                     $conditionContents = str_replace('@>' . $sGridName . $sStringToRepeat . '@<' . $sGridName, $sAux, $conditionContents);
                 }
             }
             $sCondition = G::replaceDataField($conditionContents, $Fields);
             $evalConditionResult = false;
             $sCond = 'try{ $evalConditionResult=(' . $sCondition . ')? true: false; } catch(Exception $e){$evalConditionResult=false;}';
             @eval($sCond);
             if (!$evalConditionResult) {
                 continue;
             }
         }
         $appEventData['APP_UID'] = $APP_UID;
         $appEventData['DEL_INDEX'] = $DEL_INDEX;
         $appEventData['EVN_UID'] = $aData['EVN_UID'];
         $appEventData['APP_EVN_ACTION_DATE'] = $this->toCalculateTime($aData);
         $appEventData['APP_EVN_ATTEMPTS'] = 3;
         $appEventData['APP_EVN_LAST_EXECUTION_DATE'] = null;
         $appEventData['APP_EVN_STATUS'] = 'OPEN';
         $oAppEvent = new AppEvent();
         $oAppEvent->create($appEventData);
     }
 }
开发者ID:nshong,项目名称:processmaker,代码行数:57,代码来源:Event.php

示例9: render

 /**
  * Function render
  *
  * @author The Answer
  * @access public
  * @param eter string value
  * @param eter string owner
  * @return string
  */
 public function render($value = null, $owner = null)
 {
     //$optionName = $owner->values['USR_UID'];
     $optionName = $value;
     $onclick = $this->onclick ? ' onclick="' . G::replaceDataField($this->onclick, $owner->values) . '" ' : '';
     $html = '<input class="FormCheck" id="form[' . $this->name . '][' . $optionName . ']" name="form[' . $this->name . '][' . $optionName . ']" type=\'checkbox\' value="' . $value . '"' . $onclick . '> <span class="FormCheck"></span></input>';
     return $html;
 }
开发者ID:norahmollo,项目名称:processmaker,代码行数:17,代码来源:class.xmlfield_InputPM.php

示例10: catchMessageEvent

 /**
  * Catch Message-Events for the Cases
  *
  * @param bool $frontEnd Flag to represent progress bar
  *
  * @return void
  */
 public function catchMessageEvent($frontEnd = false)
 {
     try {
         \G::LoadClass("wsBase");
         //Set variables
         $ws = new \wsBase();
         $case = new \Cases();
         $common = new \ProcessMaker\Util\Common();
         $common->setFrontEnd($frontEnd);
         //Get data
         $totalMessageEvent = 0;
         $counterStartMessageEvent = 0;
         $counterIntermediateCatchMessageEvent = 0;
         $counter = 0;
         $flagFirstTime = false;
         $common->frontEndShow("START");
         do {
             $flagNextRecords = false;
             $arrayMessageApplicationUnread = $this->getMessageApplications(array("messageApplicationStatus" => "UNREAD"), null, null, 0, 1000);
             if (!$flagFirstTime) {
                 $totalMessageEvent = $arrayMessageApplicationUnread["total"];
                 $flagFirstTime = true;
             }
             foreach ($arrayMessageApplicationUnread["data"] as $value) {
                 if ($counter + 1 > $totalMessageEvent) {
                     $flagNextRecords = false;
                     break;
                 }
                 $arrayMessageApplicationData = $value;
                 $processUid = $arrayMessageApplicationData["PRJ_UID"];
                 $taskUid = $arrayMessageApplicationData["TAS_UID"];
                 $messageApplicationUid = $arrayMessageApplicationData["MSGAPP_UID"];
                 $messageApplicationCorrelation = $arrayMessageApplicationData["MSGAPP_CORRELATION"];
                 $messageEventDefinitionUserUid = $arrayMessageApplicationData["MSGED_USR_UID"];
                 $messageEventDefinitionCorrelation = $arrayMessageApplicationData["MSGED_CORRELATION"];
                 $arrayVariable = $this->mergeVariables($arrayMessageApplicationData["MSGED_VARIABLES"], $arrayMessageApplicationData["MSGAPP_VARIABLES"]);
                 $flagCatched = false;
                 switch ($arrayMessageApplicationData["EVN_TYPE"]) {
                     case "START":
                         if ($messageEventDefinitionCorrelation == $messageApplicationCorrelation && $messageEventDefinitionUserUid != "") {
                             //Start and derivate new Case
                             $result = $ws->newCase($processUid, $messageEventDefinitionUserUid, $taskUid, $arrayVariable);
                             $arrayResult = json_decode(json_encode($result), true);
                             if ($arrayResult["status_code"] == 0) {
                                 $applicationUid = $arrayResult["caseId"];
                                 $result = $ws->derivateCase($messageEventDefinitionUserUid, $applicationUid, 1);
                                 $flagCatched = true;
                                 //Counter
                                 $counterStartMessageEvent++;
                             }
                         }
                         break;
                     case "INTERMEDIATE":
                         $criteria = new \Criteria("workflow");
                         $criteria->addSelectColumn(\AppDelegationPeer::APP_UID);
                         $criteria->addSelectColumn(\AppDelegationPeer::DEL_INDEX);
                         $criteria->addSelectColumn(\AppDelegationPeer::USR_UID);
                         $criteria->add(\AppDelegationPeer::PRO_UID, $processUid, \Criteria::EQUAL);
                         $criteria->add(\AppDelegationPeer::TAS_UID, $taskUid, \Criteria::EQUAL);
                         $criteria->add(\AppDelegationPeer::DEL_THREAD_STATUS, "OPEN", \Criteria::EQUAL);
                         $criteria->add(\AppDelegationPeer::DEL_FINISH_DATE, null, \Criteria::ISNULL);
                         $rsCriteria = \AppDelegationPeer::doSelectRS($criteria);
                         $rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
                         while ($rsCriteria->next()) {
                             $row = $rsCriteria->getRow();
                             $applicationUid = $row["APP_UID"];
                             $delIndex = $row["DEL_INDEX"];
                             $userUid = $row["USR_UID"];
                             $arrayApplicationData = $case->loadCase($applicationUid);
                             if (\G::replaceDataField($messageEventDefinitionCorrelation, $arrayApplicationData["APP_DATA"]) == $messageApplicationCorrelation) {
                                 //"Unpause" and derivate Case
                                 $arrayApplicationData["APP_DATA"] = array_merge($arrayApplicationData["APP_DATA"], $arrayVariable);
                                 $arrayResult = $case->updateCase($applicationUid, $arrayApplicationData);
                                 $result = $ws->derivateCase($userUid, $applicationUid, $delIndex);
                                 $flagCatched = true;
                             }
                         }
                         //Counter
                         if ($flagCatched) {
                             $counterIntermediateCatchMessageEvent++;
                         }
                         break;
                 }
                 //Message-Application catch
                 if ($flagCatched) {
                     $result = $this->update($messageApplicationUid, array("MSGAPP_STATUS" => "READ"));
                 }
                 $counter++;
                 //Progress bar
                 $common->frontEndShow("BAR", "Message-Events (unread): " . $counter . "/" . $totalMessageEvent . " " . $common->progressBar($totalMessageEvent, $counter));
                 $flagNextRecords = true;
             }
         } while ($flagNextRecords);
//.........这里部分代码省略.........
开发者ID:emildev35,项目名称:processmaker,代码行数:101,代码来源:MessageApplication.php

示例11: getValuesDependentFields

 private function getValuesDependentFields($json)
 {
     if (!isset($this->record["DYN_CONTENT"])) {
         return array();
     }
     $data = array();
     if (isset($json->dbConnection) && isset($json->sql)) {
         $salida = array();
         preg_match_all('/\\@(?:([\\@\\%\\#\\=\\!Qq])([a-zA-Z\\_]\\w*)|([a-zA-Z\\_][\\w\\-\\>\\:]*)\\(((?:[^\\\\\\)]*?)*)\\))/', $json->sql, $salida, PREG_PATTERN_ORDER | PREG_OFFSET_CAPTURE);
         $variables = isset($salida[2]) ? $salida[2] : array();
         foreach ($variables as $key => $value) {
             $jsonSearch = $this->jsonsf(G::json_decode($this->record["DYN_CONTENT"]), $value[0], $json->variable === "" ? "id" : "variable");
             $a = $this->getValuesDependentFields($jsonSearch);
             foreach ($a as $i => $v) {
                 $data[$i] = $v;
             }
         }
         if ($json->dbConnection !== "" && $json->dbConnection !== "none" && $json->sql !== "") {
             $cnn = Propel::getConnection($json->dbConnection);
             $stmt = $cnn->createStatement();
             try {
                 $a = G::replaceDataField($json->sql, $data);
                 $rs = $stmt->executeQuery($a, \ResultSet::FETCHMODE_NUM);
                 $rs->next();
                 $row = $rs->getRow();
                 if (isset($row[0]) && $json->type !== "suggest") {
                     $data[$json->variable === "" ? $json->id : $json->variable] = $row[0];
                 }
             } catch (Exception $e) {
             }
         }
     }
     if (isset($json->options) && isset($json->options[0])) {
         $data[$json->variable === "" ? $json->id : $json->variable] = $json->options[0]->value;
     }
     if (isset($json->placeholder) && $json->placeholder !== "") {
         $data[$json->variable === "" ? $json->id : $json->variable] = "";
     }
     if (isset($json->defaultValue) && $json->defaultValue !== "") {
         $data[$json->variable === "" ? $json->id : $json->variable] = $json->defaultValue;
     }
     return $data;
 }
开发者ID:emildev35,项目名称:processmaker,代码行数:43,代码来源:class.pmDynaform.php

示例12: renderField

 /**
  * Function renderField
  *
  * @author David S. Callizaya S. <davidsantos@colosa.com>
  * @access public
  * @param eter string row
  * @param eter string r
  * @param eter string result
  * @return string
  */
 public function renderField($row, $r, $result)
 {
     global $G_DATE_FORMAT;
     //to do: special content??
     //$result['row__']            = $row;   //Special content:
     $styleData = $this->style[$r];
     $fielDataName = $styleData['data'];
     $fieldClassName = isset($styleData['colClassName']) && $styleData['colClassName'] ? $styleData['colClassName'] : $this->tdClass;
     if ($fielDataName != '') {
         $value = isset($result[$fielDataName]) ? $result[$fielDataName] : '';
     } else {
         $value = $this->fields[$r]['Label'];
     }
     $this->tpl->newBlock("field");
     $this->tpl->assign('width', $this->style[$r]['colWidth']);
     $classAttr = trim($fieldClassName) != '' ? " class=\"{$fieldClassName}\"" : '';
     $this->tpl->assign('classAttr', $classAttr);
     //to do: style is needed or not?
     //$this->tpl->assign('style', $this->tdStyle);
     $alignAttr = isset($this->style[$r]['align']) && strlen($this->style[$r]['align'] > 0) ? " align=\"" . $this->style[$r]['align'] . "\"" : '';
     $this->tpl->assign("alignAttr", $alignAttr);
     $fieldName = $this->fields[$r]['Name'];
     $fieldClass = get_class($this->xmlForm->fields[$fieldName]);
     /**
      * * BEGIN : Reeplace of @@, @%,...
      * in field's attributes like onclick, link,
      */
     if (isset($this->xmlForm->fields[$this->fields[$r]['Name']]->link)) {
         $this->xmlForm->fields[$this->fields[$r]['Name']]->link = G::replaceDataField($this->style[$r]['link'], $result);
     }
     if (isset($this->xmlForm->fields[$fieldName]->value)) {
         $this->xmlForm->fields[$fieldName]->value = G::replaceDataField($styleData['value'], $result);
     }
     /**
      * * END : Reeplace of @@, @%,...
      */
     /**
      * * Rendering of the field
      */
     $this->xmlForm->fields[$fieldName]->mode = 'view';
     $this->xmlForm->setDefaultValues();
     $this->xmlForm->setValues($result);
     //var_dump($fieldName, $fieldClass );echo '<br /><br />';
     if (array_search('renderTable', get_class_methods($fieldClass)) !== false) {
         $htmlField = $this->xmlForm->fields[$fieldName]->renderTable($value, $this->xmlForm, true);
         if (is_object($value)) {
             $value = '';
         }
         // checking if the value variable is a html field, a html tag content can't contain &nbsp; as white spaces
         $testValue = preg_match("/<a ?.*>(.*)<\\/a>/i", $htmlField, $value);
         $this->tpl->assign("value", $htmlField);
         if ($testValue > 0 && (isset($value[1]) && strlen(trim($value[1])) == 0)) {
             if (trim($value[0]) == '') {
                 $this->tpl->assign("value", "&nbsp;");
             }
             // $this->tpl->assign( "value" , (preg_match('^[[:space:]]^', $value) && (substr($fieldName,0,3)!="PRO"))? str_ireplace(" ","&nbsp;",$htmlField):$htmlField );
         } else {
             $this->tpl->assign("value", $htmlField);
         }
         /* $testValue = preg_match( "/<\/?\w+((\s+(\w|\w[\w-]*\w)(\s*=\s*(?:\".*?\"|'.*?'|[^'\">\s]+))?)+\s*|\s*)\/?>/i", $value, $matches );  */
         //      if (empty($matches)){
         //        $this->tpl->assign( "value" , (preg_match('^[[:space:]]^', $value) && (substr($fieldName,0,3)!="PRO"))? str_ireplace(" ","&nbsp;",$htmlField):$htmlField );
         //      } else {
         //        $this->tpl->assign( "value" , $htmlField );
         //      }
     }
     return $this->fields[$r]['Type'];
 }
开发者ID:rodrigoivan,项目名称:processmaker,代码行数:78,代码来源:class.propelTable.php

示例13: sendNoteNotification

 public function sendNoteNotification($appUid, $usrUid, $noteContent, $noteRecipients, $sFrom = "")
 {
     try {
         if (!class_exists('System')) {
             G::LoadClass('system');
         }
         $aConfiguration = System::getEmailConfiguration();
         if (!isset($aConfiguration['MESS_ENABLED']) || $aConfiguration['MESS_ENABLED'] != '1') {
             return false;
         }
         $oUser = new Users();
         $aUser = $oUser->load($usrUid);
         $authorName = ($aUser['USR_FIRSTNAME'] != '' || $aUser['USR_LASTNAME'] != '' ? $aUser['USR_FIRSTNAME'] . ' ' . $aUser['USR_LASTNAME'] . ' ' : '') . '<' . $aUser['USR_EMAIL'] . '>';
         G::LoadClass('case');
         $oCase = new Cases();
         $aFields = $oCase->loadCase($appUid);
         $configNoteNotification['subject'] = G::LoadTranslation('ID_MESSAGE_SUBJECT_NOTE_NOTIFICATION') . " @#APP_TITLE ";
         $configNoteNotification['body'] = G::LoadTranslation('ID_CASE') . ": @#APP_TITLE<br />" . G::LoadTranslation('ID_AUTHOR') . ": {$authorName}<br /><br />{$noteContent}";
         $sFrom = G::buildFrom($aConfiguration, $sFrom);
         $sSubject = G::replaceDataField($configNoteNotification['subject'], $aFields);
         $sBody = nl2br(G::replaceDataField($configNoteNotification['body'], $aFields));
         G::LoadClass('spool');
         $oUser = new Users();
         $recipientsArray = explode(",", $noteRecipients);
         foreach ($recipientsArray as $recipientUid) {
             $aUser = $oUser->load($recipientUid);
             $sTo = ($aUser['USR_FIRSTNAME'] != '' || $aUser['USR_LASTNAME'] != '' ? $aUser['USR_FIRSTNAME'] . ' ' . $aUser['USR_LASTNAME'] . ' ' : '') . '<' . $aUser['USR_EMAIL'] . '>';
             $oSpool = new spoolRun();
             $oSpool->setConfig($aConfiguration);
             $oSpool->create(array('msg_uid' => '', 'app_uid' => $appUid, 'del_index' => 0, 'app_msg_type' => 'DERIVATION', 'app_msg_subject' => $sSubject, 'app_msg_from' => $sFrom, 'app_msg_to' => $sTo, 'app_msg_body' => $sBody, 'app_msg_cc' => '', 'app_msg_bcc' => '', 'app_msg_attach' => '', 'app_msg_template' => '', 'app_msg_status' => 'pending'));
             if ($aConfiguration['MESS_BACKGROUND'] == '' || $aConfiguration['MESS_TRY_SEND_INMEDIATLY'] == '1') {
                 $oSpool->sendMail();
             }
         }
         //Send derivation notification - End
     } catch (Exception $oException) {
         throw $oException;
     }
 }
开发者ID:norahmollo,项目名称:processmaker,代码行数:39,代码来源:AppNotes.php

示例14: evaluateVariable

 public function evaluateVariable()
 {
     $process = new Process();
     if (!$process->isBpmnProcess($_SESSION['PROCESS'])) {
         return;
     }
     require_once PATH_CORE . 'controllers/pmTablesProxy.php';
     $pmTablesProxy = new pmTablesProxy();
     $variableModule = new ProcessMaker\BusinessModel\Variable();
     $searchTypes = array('checkgroup', 'dropdown', 'suggest');
     $processVariables = $pmTablesProxy->getDynaformVariables($_SESSION['PROCESS'], $searchTypes, false);
     $variables = $this->affected_fields;
     $variables = array_unique($variables);
     $newFields = array();
     $arrayValues = array();
     $arrayLabels = array();
     if (is_array($variables) && is_array($processVariables)) {
         foreach ($variables as $var) {
             if (strpos($var, '_label') === false) {
                 if (in_array($var, $processVariables)) {
                     if (isset($this->aFields[$var]) && is_array($this->aFields[$var][1])) {
                         $varLabel = $var . '_label';
                         $arrayValue = $this->aFields[$var];
                         if (is_array($arrayValue) && sizeof($arrayValue)) {
                             foreach ($arrayValue as $val) {
                                 if (is_array($val)) {
                                     $val = array_values($val);
                                     $arrayValues[] = $val[0];
                                     $arrayLabels[] = $val[1];
                                 }
                             }
                             if (sizeof($arrayLabels)) {
                                 $varInfo = $variableModule->getVariableTypeByName($_SESSION['PROCESS'], $var);
                                 if (is_array($varInfo) && sizeof($varInfo)) {
                                     $varType = $varInfo['VAR_FIELD_TYPE'];
                                     switch ($varType) {
                                         case 'array':
                                             $arrayLabels = '["' . implode('","', $arrayLabels) . '"]';
                                             $newFields[$var] = $arrayValues;
                                             $newFields[$varLabel] = $arrayLabels;
                                             break;
                                         case 'string':
                                             $newFields[$var] = $arrayValues[0];
                                             $newFields[$varLabel] = $arrayLabels[0];
                                             break;
                                     }
                                     $this->affected_fields[] = $varLabel;
                                     $this->aFields = array_merge($this->aFields, $newFields);
                                     unset($newFields);
                                     unset($arrayValues);
                                     unset($arrayLabels);
                                 }
                             }
                         }
                     }
                     if (isset($this->aFields[$var]) && is_string($this->aFields[$var])) {
                         $varInfo = $variableModule->getVariableTypeByName($_SESSION['PROCESS'], $var);
                         $options = G::json_decode($varInfo["VAR_ACCEPTED_VALUES"]);
                         $no = count($options);
                         for ($io = 0; $io < $no; $io++) {
                             if ($options[$io]->value === $this->aFields[$var]) {
                                 $this->aFields[$var . "_label"] = $options[$io]->label;
                             }
                         }
                         if ($varInfo["VAR_DBCONNECTION"] !== "" && $varInfo["VAR_DBCONNECTION"] !== "none" && $varInfo["VAR_SQL"] !== "") {
                             try {
                                 $cnn = Propel::getConnection($varInfo["VAR_DBCONNECTION"]);
                                 $stmt = $cnn->createStatement();
                                 $sql = G::replaceDataField($varInfo["VAR_SQL"], $this->aFields);
                                 $rs = $stmt->executeQuery($sql, \ResultSet::FETCHMODE_NUM);
                                 while ($rs->next()) {
                                     $row = $rs->getRow();
                                     if ($row[0] === $this->aFields[$var]) {
                                         $this->aFields[$var . "_label"] = isset($row[1]) ? $row[1] : $row[0];
                                     }
                                 }
                             } catch (Exception $e) {
                             }
                         }
                     }
                 }
             }
         }
     }
 }
开发者ID:emildev35,项目名称:processmaker,代码行数:85,代码来源:class.pmScript.php

示例15: startContinueCaseByTimerEvent


//.........这里部分代码省略.........
             $flagNextRecord = false;
             $criteria = clone $criteriaMain;
             $criteria->setOffset($start);
             $criteria->setLimit($limit);
             $rsCriteria = \AppDelegationPeer::doSelectRS($criteria);
             $rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
             while ($rsCriteria->next()) {
                 if ($counter + 1 > $total) {
                     $flagNextRecord = false;
                     break;
                 }
                 $row = $rsCriteria->getRow();
                 $row["TMREVN_CONFIGURATION_DATA"] = unserialize($row["TMREVN_CONFIGURATION_DATA"]);
                 //Set variables
                 $arrayTimerEventData = $row;
                 $arrayApplicationData = $case->loadCase($row["APP_UID"]);
                 $applicationUid = $row["APP_UID"];
                 $applicationNumber = $arrayApplicationData["APP_NUMBER"];
                 $delIndex = $row["DEL_INDEX"];
                 $delDelegateDate = $row["DEL_DELEGATE_DATE"];
                 $bpmnEventName = $row["EVN_NAME"];
                 //Continue the case
                 $continueCaseDate = $delDelegateDate;
                 switch ($arrayTimerEventData["TMREVN_OPTION"]) {
                     case "WAIT-FOR":
                         if ($arrayTimerEventData["TMREVN_DAY"] . "" != "") {
                             $continueCaseDate = date("Y-m-d H:i:s", strtotime("{$continueCaseDate} +" . (int) $arrayTimerEventData["TMREVN_DAY"] . " days"));
                         }
                         if ($arrayTimerEventData["TMREVN_HOUR"] . "" != "") {
                             $continueCaseDate = date("Y-m-d H:i:s", strtotime("{$continueCaseDate} +" . (int) $arrayTimerEventData["TMREVN_HOUR"] . " hours"));
                         }
                         if ($arrayTimerEventData["TMREVN_MINUTE"] . "" != "") {
                             $continueCaseDate = date("Y-m-d H:i:s", strtotime("{$continueCaseDate} +" . (int) $arrayTimerEventData["TMREVN_MINUTE"] . " minutes"));
                         }
                         break;
                     case "WAIT-UNTIL-SPECIFIED-DATE-TIME":
                         $continueCaseDate = \G::replaceDataField($arrayTimerEventData["TMREVN_CONFIGURATION_DATA"], $arrayApplicationData["APP_DATA"]);
                         break;
                 }
                 $arrayContinueCaseDateData = $this->getYearMonthDayHourMinuteSecondByDatetime($continueCaseDate);
                 if (!empty($arrayContinueCaseDateData)) {
                     $flagCase = false;
                     if (strtotime($continueCaseDate) < strtotime($dateIni)) {
                         $flagCase = true;
                         //Continue the old case
                     } else {
                         $yearCase = $arrayContinueCaseDateData[0];
                         $monthCase = $arrayContinueCaseDateData[1];
                         $dayCase = $arrayContinueCaseDateData[2];
                         $hourCase = $arrayContinueCaseDateData[3];
                         $minuteCase = $arrayContinueCaseDateData[4];
                         if ("{$yearCase}-{$monthCase}-{$dayCase}" == "{$year}-{$month}-{$day}") {
                             if ((int) ($hour . $minute) <= (int) ($hourCase . $minuteCase)) {
                                 $flagCase = $hourCase == $hour && $minuteCase == $minute;
                             } else {
                                 $flagCase = true;
                                 //Continue the old case
                             }
                         }
                     }
                     if ($flagCase) {
                         if ($flagRecord) {
                             $common->frontEndShow("TEXT", "");
                         }
                         if ($bpmnEventName != "") {
                             $common->frontEndShow("TEXT", "> Name Timer-Event: {$bpmnEventName}");
                         }
                         $common->frontEndShow("TEXT", "> Continue the case #{$applicationNumber}");
                         $common->frontEndShow("TEXT", "> Routing the case #{$applicationNumber}...");
                         //Continue the case
                         //Derivate case
                         $result = $ws->derivateCase("", $applicationUid, $delIndex);
                         $arrayResult = json_decode(json_encode($result), true);
                         if ($arrayResult["status_code"] == 0) {
                             $common->frontEndShow("TEXT", "    - OK");
                             $this->log("CONTINUED-CASE", "Case #{$applicationNumber} continued, APP_UID: {$applicationUid}, PRO_UID: " . $arrayTimerEventData["PRJ_UID"]);
                         } else {
                             $common->frontEndShow("TEXT", "    - Failed: " . $arrayResult["message"]);
                             $this->log("CONTINUED-CASE", "Failed: " . $arrayResult["message"] . ", Case: #{$applicationNumber}, APP_UID: {$applicationUid}, PRO_UID: " . $arrayTimerEventData["PRJ_UID"]);
                         }
                         $flagRecord = true;
                     }
                 } else {
                     $this->log("INVALID-CONTINUE-DATE", "Continue date: {$continueCaseDate}, Case: #{$applicationNumber}, APP_UID: {$applicationUid}, PRO_UID: " . $arrayTimerEventData["PRJ_UID"]);
                 }
                 $counter++;
                 $flagNextRecord = true;
             }
             $start = $start + $limit;
         } while ($flagNextRecord);
         if (!$flagRecord) {
             $common->frontEndShow("TEXT", "Not exists any record to continue a case, on date \"{$datetime}\"");
             $this->log("NO-RECORDS", "Not exists any record to continue a case");
         }
         $common->frontEndShow("END");
         $this->log("END-CONTINUE-CASES", "Date \"{$datetime}\": End continue the cases");
     } catch (\Exception $e) {
         throw $e;
     }
 }
开发者ID:emildev35,项目名称:processmaker,代码行数:101,代码来源:TimerEvent.php


注:本文中的G::replaceDataField方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。