Example #1
0
 public function pushMsg($desc, $detail, $type = MSG_SYSINFO)
 {
     $o_db = new DBAdapter(array('host' => $this->dbConf->crawler->host, 'username' => $this->dbConf->crawler->username, 'password' => $this->dbConf->crawler->password, 'schema' => $this->dbConf->crawler->schema, 'host' => $this->dbConf->crawler->host));
     $sql = "INSERT INTO " . $this->dbConf->crawler->schema . ".messages (m_description,m_detail) VALUES (";
     $sql .= "'" . $type . addslashes($desc) . "','" . addslashes($detail) . "')";
     //executeNoresSQL($query)
     $done = false;
     if (!$o_db->executeNoresSQL($sql)) {
         unset($o_db);
     } else {
         unset($o_db);
         $done = true;
     }
     return $done;
 }
Example #2
0
 /**
  * Verify if exists the title of a Group
  *
  * @param string $groupTitle      Title
  * @param string $groupUidExclude Unique id of Group to exclude
  *
  * return bool Return true if exists the title of a Group, false otherwise
  */
 public function existsTitle($groupTitle, $groupUidExclude = "")
 {
     try {
         $delimiter = \DBAdapter::getStringDelimiter();
         $criteria = new \Criteria("workflow");
         $criteria->addSelectColumn(\GroupwfPeer::GRP_UID);
         $criteria->addAlias("CT", \ContentPeer::TABLE_NAME);
         $arrayCondition = array();
         $arrayCondition[] = array(\GroupwfPeer::GRP_UID, "CT.CON_ID", \Criteria::EQUAL);
         $arrayCondition[] = array("CT.CON_CATEGORY", $delimiter . "GRP_TITLE" . $delimiter, \Criteria::EQUAL);
         $arrayCondition[] = array("CT.CON_LANG", $delimiter . SYS_LANG . $delimiter, \Criteria::EQUAL);
         $criteria->addJoinMC($arrayCondition, \Criteria::LEFT_JOIN);
         if ($groupUidExclude != "") {
             $criteria->add(\GroupwfPeer::GRP_UID, $groupUidExclude, \Criteria::NOT_EQUAL);
         }
         $criteria->add("CT.CON_VALUE", $groupTitle, \Criteria::EQUAL);
         $rsCriteria = \GroupwfPeer::doSelectRS($criteria);
         if ($rsCriteria->next()) {
             return true;
         } else {
             return false;
         }
     } catch (\Exception $e) {
         throw $e;
     }
 }
Example #3
0
 /**
  * Get criteria for Trigger
  *
  * return object
  */
 public function getTriggerCriteria()
 {
     try {
         $delimiter = \DBAdapter::getStringDelimiter();
         $criteria = new \Criteria("workflow");
         $criteria->addSelectColumn(\TriggersPeer::TRI_UID);
         $criteria->addAsColumn("TRI_TITLE", "CT.CON_VALUE");
         $criteria->addAsColumn("TRI_DESCRIPTION", "CD.CON_VALUE");
         $criteria->addSelectColumn(\TriggersPeer::TRI_TYPE);
         $criteria->addSelectColumn(\TriggersPeer::TRI_WEBBOT);
         $criteria->addSelectColumn(\TriggersPeer::TRI_PARAM);
         $criteria->addAlias("CT", \ContentPeer::TABLE_NAME);
         $criteria->addAlias("CD", \ContentPeer::TABLE_NAME);
         $arrayCondition = array();
         $arrayCondition[] = array(\TriggersPeer::TRI_UID, "CT.CON_ID", \Criteria::EQUAL);
         $arrayCondition[] = array("CT.CON_CATEGORY", $delimiter . "TRI_TITLE" . $delimiter, \Criteria::EQUAL);
         $arrayCondition[] = array("CT.CON_LANG", $delimiter . SYS_LANG . $delimiter, \Criteria::EQUAL);
         $criteria->addJoinMC($arrayCondition, \Criteria::LEFT_JOIN);
         $arrayCondition = array();
         $arrayCondition[] = array(\TriggersPeer::TRI_UID, "CD.CON_ID", \Criteria::EQUAL);
         $arrayCondition[] = array("CD.CON_CATEGORY", $delimiter . "TRI_DESCRIPTION" . $delimiter, \Criteria::EQUAL);
         $arrayCondition[] = array("CD.CON_LANG", $delimiter . SYS_LANG . $delimiter, \Criteria::EQUAL);
         $criteria->addJoinMC($arrayCondition, \Criteria::LEFT_JOIN);
         return $criteria;
     } catch (\Exception $e) {
         throw $e;
     }
 }
Example #4
0
 /**
  * Get list for Events
  * @var string $pro_uid. Uid for Process
  * @var string $filter.
  * @var string $evn_uid. Uid for Process
  *
  * @access public
  * @author Brayan Pereyra (Cochalo) <*****@*****.**>
  * @copyright Colosa - Bolivia
  *
  * @return array
  */
 public function getEvents($pro_uid, $filter = '', $evn_uid = '')
 {
     $pro_uid = $this->validateProUid($pro_uid);
     if ($evn_uid != '') {
         $evn_uid = $this->validateEvnUid($evn_uid);
     }
     $oProcess = new \Process();
     if (!$oProcess->processExists($pro_uid)) {
         throw new \Exception(\G::LoadTranslation("ID_PROCESS_NOT_EXIST", array('pro_uid', $pro_uid)));
     }
     $sDelimiter = \DBAdapter::getStringDelimiter();
     $oCriteria = new \Criteria('workflow');
     $oCriteria->addSelectColumn(\EventPeer::EVN_UID);
     $oCriteria->addSelectColumn(\EventPeer::EVN_ACTION);
     $oCriteria->addSelectColumn(\EventPeer::EVN_STATUS);
     $oCriteria->addSelectColumn(\EventPeer::EVN_WHEN_OCCURS);
     $oCriteria->addSelectColumn(\EventPeer::EVN_RELATED_TO);
     $oCriteria->addAsColumn('EVN_DESCRIPTION', \ContentPeer::CON_VALUE);
     $aConditions = array();
     $aConditions[] = array(\EventPeer::EVN_UID, \ContentPeer::CON_ID);
     $aConditions[] = array(\ContentPeer::CON_CATEGORY, $sDelimiter . 'EVN_DESCRIPTION' . $sDelimiter);
     $aConditions[] = array(\ContentPeer::CON_LANG, $sDelimiter . SYS_LANG . $sDelimiter);
     $oCriteria->addJoinMC($aConditions, \Criteria::LEFT_JOIN);
     $oCriteria->add(\EventPeer::PRO_UID, $pro_uid);
     if ($evn_uid != '') {
         $oCriteria->add(\EventPeer::EVN_UID, $evn_uid);
     }
     switch ($filter) {
         case 'message':
             $oCriteria->add(\EventPeer::EVN_ACTION, "SEND_MESSAGE");
             break;
         case 'conditional':
             $oCriteria->add(\EventPeer::EVN_ACTION, "EXECUTE_CONDITIONAL_TRIGGER");
             break;
         case 'multiple':
             $oCriteria->add(\EventPeer::EVN_ACTION, "EXECUTE_TRIGGER");
             break;
     }
     $eventsArray = array();
     $oDataset = \EventPeer::doSelectRS($oCriteria);
     $oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
     $oDataset->next();
     while ($aRow = $oDataset->getRow()) {
         $oEvent = new \Event();
         $aFields = $oEvent->load($aRow['EVN_UID']);
         $aRow = array_merge($aRow, $aFields);
         $eventsArray[] = array_change_key_case($aRow, CASE_LOWER);
         $oDataset->next();
     }
     if ($evn_uid != '' && empty($eventsArray)) {
         throw new \Exception(\G::LoadTranslation("ID_ROW_DOES_NOT_EXIST"));
     } elseif ($evn_uid != '' && !empty($eventsArray)) {
         return current($eventsArray);
     }
     return $eventsArray;
 }
Example #5
0
 public function drop()
 {
     $prim = self::$_primaryField;
     $preparedId = $this->_prepareValue(self::$_metadata[$prim], $this->_id);
     $sql = "DELETE FROM `{$this->_table}` WHERE `{$prim}` = {$preparedId} ";
     $res = $this->_db->executeNoresSQL($sql);
     if (!$res) {
         throw new ModelException("Invalid query - " . $this->_db->getError());
     }
     $this->_data = array();
     $this->_id = null;
 }
 public function loadByCategoryId($sCategoryUid)
 {
     $c = new Criteria('workflow');
     $del = DBAdapter::getStringDelimiter();
     $c->clearSelectColumns();
     $c->addSelectColumn(ProcessCategoryPeer::CATEGORY_NAME);
     $c->add(ProcessCategoryPeer::CATEGORY_UID, $sCategoryUid);
     $dataset = ProcessCategoryPeer::doSelectRS($c);
     $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
     $dataset->next();
     $aRow = $dataset->getRow();
     return $aRow['CATEGORY_NAME'];
 }
Example #7
0
 /**
  * Get the evn_description column value.
  *
  * @return string
  */
 public function loadDefaultAccount()
 {
     $c = new Criteria('workflow');
     $del = DBAdapter::getStringDelimiter();
     $c->clearSelectColumns();
     $c->addSelectColumn(EmailServerPeer::MESS_ACCOUNT);
     $c->add(EmailServerPeer::MESS_DEFAULT, 1);
     $rs = EmailServerPeer::doSelectRS($c, Propel::getDBConnection('workflow_ro'));
     $rs->setFetchmode(ResultSet::FETCHMODE_ASSOC);
     $rs->next();
     $row = $rs->getRow();
     $response = $row;
     return $response;
 }
Example #8
0
 public function getCriteriaDBSList($sProcessUID)
 {
     $sDelimiter = DBAdapter::getStringDelimiter();
     $oCriteria = new Criteria('workflow');
     $oCriteria->addSelectColumn(DbSourcePeer::DBS_UID);
     $oCriteria->addSelectColumn(DbSourcePeer::PRO_UID);
     $oCriteria->addSelectColumn(DbSourcePeer::DBS_TYPE);
     $oCriteria->addSelectColumn(DbSourcePeer::DBS_SERVER);
     $oCriteria->addSelectColumn(DbSourcePeer::DBS_DATABASE_NAME);
     $oCriteria->addSelectColumn(DbSourcePeer::DBS_USERNAME);
     $oCriteria->addSelectColumn(DbSourcePeer::DBS_PASSWORD);
     $oCriteria->addSelectColumn(DbSourcePeer::DBS_PORT);
     $oCriteria->addAsColumn('DBS_DESCRIPTION', 'C.CON_VALUE');
     $oCriteria->addAlias('C', 'CONTENT');
     $aConditions = array();
     $aConditions[] = array(DbSourcePeer::DBS_UID, 'C.CON_ID');
     $aConditions[] = array('C.CON_CATEGORY', $sDelimiter . 'DBS_DESCRIPTION' . $sDelimiter);
     $aConditions[] = array('C.CON_LANG', $sDelimiter . SYS_LANG . $sDelimiter);
     $oCriteria->addJoinMC($aConditions, Criteria::LEFT_JOIN);
     $oCriteria->add(DbSourcePeer::PRO_UID, $sProcessUID);
     return $oCriteria;
 }
Example #9
0
 public function getCriteriaDBSList($sProcessUID)
 {
     $sDelimiter = DBAdapter::getStringDelimiter();
     $oCriteria = new Criteria('workflow');
     $oCriteria->addSelectColumn(DbSourcePeer::DBS_UID);
     $oCriteria->addSelectColumn(DbSourcePeer::PRO_UID);
     $oCriteria->addSelectColumn(DbSourcePeer::DBS_TYPE);
     $oCriteria->addAsColumn("DBS_SERVER", "CASE WHEN " . DbSourcePeer::DBS_TYPE . " = 'oracle' AND " . DbSourcePeer::DBS_CONNECTION_TYPE . " = 'TNS' THEN CONCAT('[', " . DbSourcePeer::DBS_TNS . ", ']') ELSE " . DbSourcePeer::DBS_SERVER . " END");
     $oCriteria->addAsColumn("DBS_DATABASE_NAME", "CASE WHEN " . DbSourcePeer::DBS_TYPE . " = 'oracle' AND " . DbSourcePeer::DBS_CONNECTION_TYPE . " = 'TNS' THEN CONCAT('[', " . DbSourcePeer::DBS_TNS . ", ']') ELSE " . DbSourcePeer::DBS_DATABASE_NAME . " END");
     $oCriteria->addSelectColumn(DbSourcePeer::DBS_USERNAME);
     $oCriteria->addSelectColumn(DbSourcePeer::DBS_PASSWORD);
     $oCriteria->addSelectColumn(DbSourcePeer::DBS_PORT);
     $oCriteria->addAsColumn('DBS_DESCRIPTION', 'C.CON_VALUE');
     $oCriteria->addAlias('C', 'CONTENT');
     $aConditions = array();
     $aConditions[] = array(DbSourcePeer::DBS_UID, 'C.CON_ID');
     $aConditions[] = array('C.CON_CATEGORY', $sDelimiter . 'DBS_DESCRIPTION' . $sDelimiter);
     $aConditions[] = array('C.CON_LANG', $sDelimiter . SYS_LANG . $sDelimiter);
     $oCriteria->addJoinMC($aConditions, Criteria::LEFT_JOIN);
     $oCriteria->add(DbSourcePeer::PRO_UID, $sProcessUID);
     return $oCriteria;
 }
Example #10
0
 /**
  * Get SubProcess in Process
  *
  * return object
  */
 public function getSubprocesss($pro_uid, $tas_uid)
 {
     try {
         $pro_uid = $this->validateProUid($pro_uid);
         $tas_uid = $this->validateTasUid($tas_uid);
         $oCriteria = new \Criteria('workflow');
         $del = \DBAdapter::getStringDelimiter();
         $oCriteria->add(SubProcessPeer::PRO_PARENT, $pro_uid);
         $oCriteria->add(SubProcessPeer::TAS_PARENT, $tas_uid);
         $oCriteria->addAsColumn('CON_VALUE', 'C1.CON_VALUE', 'CON_TITLE');
         $oCriteria->addAlias("C1", 'CONTENT');
         $tasTitleConds = array();
         $tasTitleConds[] = array(SubProcessPeer::TAS_PARENT, 'C1.CON_ID');
         $tasTitleConds[] = array('C1.CON_CATEGORY', $del . 'TAS_TITLE' . $del);
         $tasTitleConds[] = array('C1.CON_LANG', $del . SYS_LANG . $del);
         $oCriteria->addJoinMC($tasTitleConds, \Criteria::LEFT_JOIN);
         $oDataset = SubProcessPeer::doSelectRS($oCriteria);
         $oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
         $oDataset->next();
         $aRow = $oDataset->getRow();
         $aRow = array_change_key_case($aRow, CASE_LOWER);
         $response['spr_uid'] = $aRow['sp_uid'];
         $response['spr_pro_parent'] = $aRow['pro_parent'];
         $response['spr_tas_parent'] = $aRow['tas_parent'];
         $response['spr_pro'] = $aRow['pro_uid'];
         $response['spr_tas'] = $aRow['tas_uid'];
         $response['spr_name'] = $aRow['con_value'];
         $response['spr_synchronous'] = $aRow['sp_synchronous'];
         $response['spr_variables_out'] = unserialize($aRow['sp_variables_out']);
         if ((int) $response['spr_synchronous'] === 1) {
             $response['spr_variables_in'] = unserialize($aRow['sp_variables_in']);
         }
         return $response;
     } catch (\Exception $e) {
         throw $e;
     }
 }
Example #11
0
     if (strpos($_POST['server'], "\\")) {
         $_POST['port'] = 'none';
     }
     $aData = array('DBS_UID' => $_POST['dbs_uid'], 'PRO_UID' => $_SESSION['PROCESS'], 'DBS_TYPE' => $_POST['type'], 'DBS_SERVER' => $_POST['server'], 'DBS_DATABASE_NAME' => $_POST['db_name'], 'DBS_USERNAME' => $_POST['user'], 'DBS_PASSWORD' => ($_POST['passwd'] == 'none' ? "" : G::encrypt($_POST['passwd'], $_POST['db_name'])) . "_2NnV3ujj3w", 'DBS_PORT' => $_POST['port'] == 'none' ? "" : $_POST['port'], 'DBS_ENCODE' => $_POST['enc']);
     $oDBSource->update($aData);
     $oContent->addContent('DBS_DESCRIPTION', '', $_POST['dbs_uid'], SYS_LANG, $_POST['desc']);
     break;
 case 'saveConnection':
     $oDBSource = new DbSource();
     $oContent = new Content();
     if (strpos($_POST['server'], "\\")) {
         $_POST['port'] = 'none';
     }
     $aData = array('PRO_UID' => $_SESSION['PROCESS'], 'DBS_TYPE' => $_POST['type'], 'DBS_SERVER' => $_POST['server'], 'DBS_DATABASE_NAME' => $_POST['db_name'], 'DBS_USERNAME' => $_POST['user'], 'DBS_PASSWORD' => ($_POST['passwd'] == 'none' ? "" : G::encrypt($_POST['passwd'], $_POST['db_name'])) . "_2NnV3ujj3w", 'DBS_PORT' => $_POST['port'] == 'none' ? "" : $_POST['port'], 'DBS_ENCODE' => $_POST['enc']);
     $newid = $oDBSource->create($aData);
     $sDelimiter = DBAdapter::getStringDelimiter();
     $oContent->addContent('DBS_DESCRIPTION', '', $newid, SYS_LANG, $_POST['desc']);
     break;
 case 'deleteDbConnection':
     try {
         $oDBSource = new DbSource();
         $oContent = new Content();
         $DBS_UID = $_POST['dbs_uid'];
         $PRO_UID = $_SESSION['PROCESS'];
         $oDBSource->remove($DBS_UID, $PRO_UID);
         $oContent->removeContent('DBS_DESCRIPTION', "", $DBS_UID);
         $result->success = true;
         $result->msg = G::LoadTranslation('ID_DBCONNECTION_REMOVED');
     } catch (Exception $e) {
         $result->success = false;
         $result->msg = $e->getMessage();
Example #12
0
 /**
  * Populates values in a prepared statement.
  *
  * This method is designed to work with the createSelectSql() method, which creates
  * both the SELECT SQL statement and populates a passed-in array of parameter
  * values that should be substituted.
  *
  * <code>
  * $params = array();
  * $sql = BasePeer::createSelectSql($criteria, $params);
  * BasePeer::populateStmtValues($stmt, $params, Propel::getDatabaseMap($critera->getDbName()), Propel::getDB($criteria->getDbName()));
  * </code>
  *
  * @param      PDOStatement $stmt
  * @param      array $params array('column' => ..., 'table' => ..., 'value' => ...)
  * @param      DatabaseMap $dbMap
  * @return     int The number of params replaced.
  * @see        createSelectSql()
  * @see        doSelect()
  */
 public static function populateStmtValues(PDOStatement $stmt, array $params, DatabaseMap $dbMap, DBAdapter $db)
 {
     $i = 1;
     foreach ($params as $param) {
         $tableName = $param['table'];
         $columnName = $param['column'];
         $value = $param['value'];
         if (null === $value) {
             $stmt->bindValue(':p' . $i++, null, PDO::PARAM_NULL);
         } elseif (null !== $tableName) {
             $cMap = $dbMap->getTable($tableName)->getColumn($columnName);
             $type = $cMap->getType();
             $pdoType = $cMap->getPdoType();
             // FIXME - This is a temporary hack to get around apparent bugs w/ PDO+MYSQL
             // See http://pecl.php.net/bugs/bug.php?id=9919
             if ($pdoType == PDO::PARAM_BOOL && $db instanceof DBMySQL) {
                 $value = (int) $value;
                 $pdoType = PDO::PARAM_INT;
             } elseif (is_numeric($value) && $cMap->isEpochTemporal()) {
                 // it's a timestamp that needs to be formatted
                 if ($type == PropelColumnTypes::TIMESTAMP) {
                     $value = date($db->getTimestampFormatter(), $value);
                 } else {
                     if ($type == PropelColumnTypes::DATE) {
                         $value = date($db->getDateFormatter(), $value);
                     } else {
                         if ($type == PropelColumnTypes::TIME) {
                             $value = date($db->getTimeFormatter(), $value);
                         }
                     }
                 }
             } elseif ($value instanceof DateTime && $cMap->isTemporal()) {
                 // it's a timestamp that needs to be formatted
                 if ($type == PropelColumnTypes::TIMESTAMP || $type == PropelColumnTypes::BU_TIMESTAMP) {
                     $value = $value->format($db->getTimestampFormatter());
                 } else {
                     if ($type == PropelColumnTypes::DATE || $type == PropelColumnTypes::BU_DATE) {
                         $value = $value->format($db->getDateFormatter());
                     } else {
                         if ($type == PropelColumnTypes::TIME) {
                             $value = $value->format($db->getTimeFormatter());
                         }
                     }
                 }
             } elseif (is_resource($value) && $cMap->isLob()) {
                 // we always need to make sure that the stream is rewound, otherwise nothing will
                 // get written to database.
                 rewind($value);
             }
             $stmt->bindValue(':p' . $i++, $value, $pdoType);
         } else {
             $stmt->bindValue(':p' . $i++, $value);
         }
     }
     // foreach
 }
Example #13
0
    /**

     * task Case

     *

     * @param string sessionId : The session ID which is obtained when logging in

     * @param string caseId : The case ID. The caseList() function can be used to find the ID number for cases

     * @return $result returns the current task for a given case. Note that the logged-in user must have privileges

     * to access the task

     */

    public function taskCase ($caseId)

    {

        $result = array ();

        try {

            $oCriteria = new Criteria( 'workflow' );

            $del       = DBAdapter::getStringDelimiter();

            $oCriteria->addSelectColumn( AppDelegationPeer::DEL_INDEX );

            $oCriteria->addSelectColumn( AppDelegationPeer::TAS_UID );



            $oCriteria->addAsColumn( 'TAS_TITLE', 'C1.CON_VALUE' );

            $oCriteria->addAlias( "C1", 'CONTENT' );

            $tasTitleConds   = array ();

            $tasTitleConds[] = array (AppDelegationPeer::TAS_UID,'C1.CON_ID');

            $tasTitleConds[] = array ('C1.CON_CATEGORY',$del . 'TAS_TITLE' . $del);

            $tasTitleConds[] = array ('C1.CON_LANG',$del . SYS_LANG . $del);

            $oCriteria->addJoinMC( $tasTitleConds, Criteria::LEFT_JOIN );



            $oCriteria->add( AppDelegationPeer::APP_UID, $caseId );

            $oCriteria->add( AppDelegationPeer::DEL_THREAD_STATUS, 'OPEN' );

            $oCriteria->add( AppDelegationPeer::DEL_FINISH_DATE, null, Criteria::ISNULL );

            $oDataset = AppDelegationPeer::doSelectRS( $oCriteria );

            $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );

            $oDataset->next();



            while ($aRow = $oDataset->getRow()) {

                $result[] = array (

                    'guid'     => $aRow['TAS_UID'],

                    'name'     => $aRow['TAS_TITLE'],

                    'delegate' => $aRow['DEL_INDEX']

                );

                $oDataset->next();

            }



            return $result;

        } catch (Exception $e) {

            $result[] = array ('guid' => $e->getMessage(),'name' => $e->getMessage(), 'delegate' => $e->getMessage() );



            return $result;

        }

    }
Example #14
0
 /** 
  * Patch for reports by The Answer (17-10-2k8)
  * 
  * 
  * @name reportsPatch
  *
  * param 
  * @return void
  */
 function reportsPatch()
 {
     require_once 'classes/model/AppDelegation.php';
     $oCriteria = new Criteria('workflow');
     $del = DBAdapter::getStringDelimiter();
     $oCriteria->addSelectColumn(AppDelegationPeer::APP_UID);
     $oCriteria->addSelectColumn(AppDelegationPeer::DEL_INDEX);
     $oCriteria->addSelectColumn(AppDelegationPeer::TAS_UID);
     $oCriteria->addSelectColumn(AppDelegationPeer::DEL_DELEGATE_DATE);
     $oCriteria->addSelectColumn(AppDelegationPeer::DEL_INIT_DATE);
     $oCriteria->addSelectColumn(AppDelegationPeer::DEL_FINISH_DATE);
     $oCriteria->addSelectColumn(AppDelegationPeer::DEL_DURATION);
     $oDataset = AppDelegationPeer::doSelectRS($oCriteria);
     $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
     $oDataset->next();
     while ($aRow = $oDataset->getRow()) {
         $oAppDelegation = new AppDelegation();
         $aData['APP_UID'] = $aRow['APP_UID'];
         $aData['DEL_INDEX'] = $aRow['DEL_INDEX'];
         $aData['DEL_DELEGATE_DATE'] = $aRow['DEL_DELEGATE_DATE'];
         if ($aRow['DEL_INIT_DATE'] == NULL) {
             $aData['DEL_INIT_DATE'] = $aRow['DEL_DELEGATE_DATE'];
         } else {
             $aData['DEL_INIT_DATE'] = $aRow['DEL_INIT_DATE'];
         }
         //$aData['DEL_FINISH_DATE']=$aRow['DEL_FINISH_DATE'];
         if ($aRow['DEL_DURATION'] != 0) {
             G::LoadClass('dates');
             $oDates = new dates();
             $aData['DEL_DURATION'] = $oDates->calculateDuration($aData['DEL_INIT_DATE'], $aRow['DEL_FINISH_DATE'], null, null, $aRow['TAS_UID']);
         }
         $oAppDelegation->update($aData);
         $oDataset->next();
     }
     return;
 }
 public function getExtTriggersList($start, $limit, $sProcessUID = '')
 {
     $sDelimiter = DBAdapter::getStringDelimiter();
     $oCriteria = new Criteria('workflow');
     $oCriteria->addSelectColumn(TriggersPeer::TRI_UID);
     $oCriteria->addSelectColumn(TriggersPeer::PRO_UID);
     $oCriteria->add(TriggersPeer::PRO_UID, $sProcessUID);
     $this->tmpCriteria = clone $oCriteria;
     $oCriteria->addAsColumn('TRI_TITLE', 'C1.CON_VALUE');
     $oCriteria->addAsColumn('TRI_DESCRIPTION', 'C2.CON_VALUE');
     $oCriteria->addAlias('C1', 'CONTENT');
     $oCriteria->addAlias('C2', 'CONTENT');
     $aConditions = array();
     $aConditions[] = array(TriggersPeer::TRI_UID, 'C1.CON_ID');
     $aConditions[] = array('C1.CON_CATEGORY', $sDelimiter . 'TRI_TITLE' . $sDelimiter);
     $aConditions[] = array('C1.CON_LANG', $sDelimiter . SYS_LANG . $sDelimiter);
     $oCriteria->addJoinMC($aConditions, Criteria::LEFT_JOIN);
     $aConditions = array();
     $aConditions[] = array(TriggersPeer::TRI_UID, 'C2.CON_ID');
     $aConditions[] = array('C2.CON_CATEGORY', $sDelimiter . 'TRI_TITLE' . $sDelimiter);
     $aConditions[] = array('C2.CON_LANG', $sDelimiter . SYS_LANG . $sDelimiter);
     $oCriteria->addJoinMC($aConditions, Criteria::LEFT_JOIN);
     $oCriteria->add(TriggersPeer::PRO_UID, $sProcessUID);
     $oCriteria->addAscendingOrderByColumn('TRI_TITLE');
     if ($start != '') {
         $oCriteria->setOffset($start);
     }
     if ($limit != '') {
         $oCriteria->setLimit($limit);
     }
     $oDataset = TriggersPeer::doSelectRS($oCriteria);
     $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
     $oDataset->next();
     $triggersArray = "";
     $triggersArray[] = array('TRI_UID' => 'char', 'PRO_UID' => 'char', 'TRI_TITLE' => 'char', 'TRI_DESCRIPTION' => 'char');
     while ($aRow = $oDataset->getRow()) {
         if ($aRow['TRI_TITLE'] == null || $aRow['TRI_TITLE'] == "") {
             // There is no translation for this Trigger name, try to get/regenerate the label
             $triggerO = new Triggers();
             $triggerObj = $triggerO->load($aRow['TRI_UID']);
             $aRow['TRI_TITLE'] = $triggerObj['TRI_TITLE'];
             $aRow['TRI_DESCRIPTION'] = $triggerObj['TRI_DESCRIPTION'];
         }
         $triggersArray[] = $aRow;
         $oDataset->next();
     }
     return $triggersArray;
 }
Example #16
0
 /**
  * Get criteria for InputDocument
  *
  * return object
  */
 public function getInputDocumentCriteria()
 {
     try {
         $delimiter = \DBAdapter::getStringDelimiter();
         $criteria = new \Criteria("workflow");
         $criteria->addSelectColumn(\InputDocumentPeer::INP_DOC_UID);
         $criteria->addAsColumn("INP_DOC_TITLE", "CT.CON_VALUE");
         $criteria->addAsColumn("INP_DOC_DESCRIPTION", "CD.CON_VALUE");
         $criteria->addSelectColumn(\InputDocumentPeer::INP_DOC_FORM_NEEDED);
         $criteria->addSelectColumn(\InputDocumentPeer::INP_DOC_ORIGINAL);
         $criteria->addSelectColumn(\InputDocumentPeer::INP_DOC_PUBLISHED);
         $criteria->addSelectColumn(\InputDocumentPeer::INP_DOC_VERSIONING);
         $criteria->addSelectColumn(\InputDocumentPeer::INP_DOC_DESTINATION_PATH);
         $criteria->addSelectColumn(\InputDocumentPeer::INP_DOC_TAGS);
         $criteria->addSelectColumn(\InputDocumentPeer::INP_DOC_TYPE_FILE);
         $criteria->addSelectColumn(\InputDocumentPeer::INP_DOC_MAX_FILESIZE);
         $criteria->addSelectColumn(\InputDocumentPeer::INP_DOC_MAX_FILESIZE_UNIT);
         $criteria->addAlias("CT", \ContentPeer::TABLE_NAME);
         $criteria->addAlias("CD", \ContentPeer::TABLE_NAME);
         $arrayCondition = array();
         $arrayCondition[] = array(\InputDocumentPeer::INP_DOC_UID, "CT.CON_ID", \Criteria::EQUAL);
         $arrayCondition[] = array("CT.CON_CATEGORY", $delimiter . "INP_DOC_TITLE" . $delimiter, \Criteria::EQUAL);
         $arrayCondition[] = array("CT.CON_LANG", $delimiter . SYS_LANG . $delimiter, \Criteria::EQUAL);
         $criteria->addJoinMC($arrayCondition, \Criteria::LEFT_JOIN);
         $arrayCondition = array();
         $arrayCondition[] = array(\InputDocumentPeer::INP_DOC_UID, "CD.CON_ID", \Criteria::EQUAL);
         $arrayCondition[] = array("CD.CON_CATEGORY", $delimiter . "INP_DOC_DESCRIPTION" . $delimiter, \Criteria::EQUAL);
         $arrayCondition[] = array("CD.CON_LANG", $delimiter . SYS_LANG . $delimiter, \Criteria::EQUAL);
         $criteria->addJoinMC($arrayCondition, \Criteria::LEFT_JOIN);
         return $criteria;
     } catch (\Exception $e) {
         throw $e;
     }
 }
Example #17
0
 public function getOwnersByType($data)
 {
     $this->setResponseType('json');
     $result = new stdclass();
     $result->status = 'OK';
     try {
         switch ($data->type) {
             case 'EVERYBODY':
                 $result->total = 0;
                 $result->owners = array();
                 break;
             case 'USER':
                 require_once 'classes/model/Users.php';
                 $users = array();
                 $usersInstance = new Users();
                 $allUsers = $usersInstance->getAll();
                 foreach ($allUsers->data as $user) {
                     $users[] = array('OWNER_UID' => $user['USR_UID'], 'OWNER_NAME' => $user['USR_FIRSTNAME'] . ' ' . $user['USR_LASTNAME']);
                 }
                 usort($users, function ($str1, $str2) {
                     return strcmp(strtolower($str1["OWNER_NAME"]), strtolower($str2["OWNER_NAME"]));
                 });
                 $result->total = $allUsers->totalCount;
                 $result->owners = $users;
                 break;
             case 'DEPARTMENT':
                 require_once 'classes/model/Department.php';
                 require_once 'classes/model/Content.php';
                 $departments = array();
                 //SELECT
                 $criteria = new Criteria('workflow');
                 $criteria->setDistinct();
                 $criteria->addSelectColumn(DepartmentPeer::DEP_UID);
                 $criteria->addSelectColumn(ContentPeer::CON_VALUE);
                 //FROM
                 $conditions = array();
                 $conditions[] = array(DepartmentPeer::DEP_UID, ContentPeer::CON_ID);
                 $conditions[] = array(ContentPeer::CON_CATEGORY, DBAdapter::getStringDelimiter() . 'DEPO_TITLE' . DBAdapter::getStringDelimiter());
                 $conditions[] = array(ContentPeer::CON_LANG, DBAdapter::getStringDelimiter() . 'en' . DBAdapter::getStringDelimiter());
                 $criteria->addJoinMC($conditions, Criteria::LEFT_JOIN);
                 //WHERE
                 $criteria->add(DepartmentPeer::DEP_STATUS, 'ACTIVE');
                 //ORDER BY
                 $criteria->addAscendingOrderByColumn(ContentPeer::CON_VALUE);
                 $dataset = DepartmentPeer::doSelectRS($criteria);
                 $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
                 $dataset->next();
                 while ($row = $dataset->getRow()) {
                     $departments[] = array('OWNER_UID' => $row['DEP_UID'], 'OWNER_NAME' => $row['CON_VALUE']);
                     $dataset->next();
                 }
                 $result->total = DepartmentPeer::doCount($criteria);
                 $result->owners = $departments;
                 break;
             case 'GROUP':
                 require_once 'classes/model/Groupwf.php';
                 require_once 'classes/model/Content.php';
                 $groups = array();
                 //SELECT
                 $criteria = new Criteria('workflow');
                 $criteria->setDistinct();
                 $criteria->addSelectColumn(GroupwfPeer::GRP_UID);
                 $criteria->addSelectColumn(ContentPeer::CON_VALUE);
                 //FROM
                 $conditions = array();
                 $conditions[] = array(GroupwfPeer::GRP_UID, ContentPeer::CON_ID);
                 $conditions[] = array(ContentPeer::CON_CATEGORY, DBAdapter::getStringDelimiter() . 'GRP_TITLE' . DBAdapter::getStringDelimiter());
                 $conditions[] = array(ContentPeer::CON_LANG, DBAdapter::getStringDelimiter() . 'en' . DBAdapter::getStringDelimiter());
                 $criteria->addJoinMC($conditions, Criteria::LEFT_JOIN);
                 //WHERE
                 $criteria->add(GroupwfPeer::GRP_STATUS, 'ACTIVE');
                 //ORDER BY
                 $criteria->addAscendingOrderByColumn(ContentPeer::CON_VALUE);
                 $dataset = GroupwfPeer::doSelectRS($criteria);
                 $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
                 $dataset->next();
                 while ($row = $dataset->getRow()) {
                     $groups[] = array('OWNER_UID' => $row['GRP_UID'], 'OWNER_NAME' => $row['CON_VALUE']);
                     $dataset->next();
                 }
                 $result->total = GroupwfPeer::doCount($criteria);
                 $result->owners = $groups;
                 break;
         }
     } catch (Exception $error) {
         $result->status = 'ERROR';
         $result->message = $error->getMessage();
     }
     return $result;
 }
Example #18
0
 /**
  * Return a single Adhoc user or group assigned to an activity
  *
  * @param string $sProcessUID {@min 32} {@max 32}
  * @param string $sTaskUID {@min 32} {@max 32}
  * @param string $sAssigneeUID {@min 32} {@max 32}
  *
  * return array
  *
  * @access public
  */
 public function getTaskAdhocAssignee($sProcessUID, $sTaskUID, $sAssigneeUID)
 {
     try {
         Validator::proUid($sProcessUID, '$prj_uid');
         $this->validateActUid($sTaskUID);
         $iType = 2;
         $aUsers = array();
         $sDelimiter = \DBAdapter::getStringDelimiter();
         $oCriteria = new \Criteria('workflow');
         $oCriteria->addAsColumn('GRP_TITLE', 'C.CON_VALUE');
         $oCriteria->addSelectColumn(\TaskUserPeer::TAS_UID);
         $oCriteria->addSelectColumn(\TaskUserPeer::USR_UID);
         $oCriteria->addSelectColumn(\TaskUserPeer::TU_TYPE);
         $oCriteria->addSelectColumn(\TaskUserPeer::TU_RELATION);
         $oCriteria->addAlias('C', 'CONTENT');
         $aConditions = array();
         $aConditions[] = array(\TaskUserPeer::USR_UID, 'C.CON_ID');
         $aConditions[] = array('C.CON_CATEGORY', $sDelimiter . 'GRP_TITLE' . $sDelimiter);
         $aConditions[] = array('C.CON_LANG', $sDelimiter . SYS_LANG . $sDelimiter);
         $oCriteria->addJoinMC($aConditions, \Criteria::LEFT_JOIN);
         $oCriteria->add(\TaskUserPeer::USR_UID, $sAssigneeUID);
         $oCriteria->add(\TaskUserPeer::TAS_UID, $sTaskUID);
         $oCriteria->add(\TaskUserPeer::TU_TYPE, $iType);
         $oCriteria->add(\TaskUserPeer::TU_RELATION, 2);
         $oDataset = \TaskUserPeer::doSelectRS($oCriteria);
         $oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
         $oDataset->next();
         $c = 0;
         $oTasks = new \Tasks();
         $aAux = $oTasks->getGroupsOfTask($sTaskUID, 2);
         $aUIDS1 = array();
         foreach ($aAux as $aGroup) {
             $aUIDS1[] = $aGroup['GRP_UID'];
         }
         $criteria = new \Criteria('workflow');
         $criteria->addSelectColumn(\GroupwfPeer::GRP_UID);
         $criteria->addSelectColumn(\GroupwfPeer::GRP_STATUS);
         $criteria->addSelectColumn(\GroupwfPeer::GRP_UX);
         $criteria->addAsColumn('GRP_TITLE', \ContentPeer::CON_VALUE);
         $criteria->addJoin(\GroupwfPeer::GRP_UID, \ContentPeer::CON_ID, \Criteria::LEFT_JOIN);
         $criteria->add(\ContentPeer::CON_CATEGORY, 'GRP_TITLE');
         $criteria->add(\ContentPeer::CON_LANG, SYS_LANG);
         $criteria->add(\GroupwfPeer::GRP_UID, $sAssigneeUID);
         $criteria->addAscendingOrderByColumn(\ContentPeer::CON_VALUE);
         $oDataset = \GroupwfPeer::doSelectRS($criteria);
         $oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
         $groups = array();
         while ($oDataset->next()) {
             $groups[] = $oDataset->getRow();
         }
         $result = array('rows' => $groups);
         foreach ($result['rows'] as $results) {
             if (in_array($results['GRP_UID'], $aUIDS1)) {
                 $c++;
                 $oCriteria = new \Criteria('workflow');
                 $oCriteria->addSelectColumn('COUNT(*) AS MEMBERS_NUMBER');
                 $oCriteria->add(\GroupUserPeer::GRP_UID, $results['GRP_UID']);
                 $oDataset2 = \GroupUserPeer::doSelectRS($oCriteria);
                 $oDataset2->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
                 $oDataset2->next();
                 $aRow2 = $oDataset2->getRow();
                 $aUsers[] = array('ada_uid' => $results['GRP_UID'], 'ada_name' => !isset($aRow2['GROUP_INACTIVE']) ? $results['GRP_TITLE'] . ' (' . $aRow2['MEMBERS_NUMBER'] . ' ' . ((int) $aRow2['MEMBERS_NUMBER'] == 1 ? \G::LoadTranslation('ID_USER') : \G::LoadTranslation('ID_USERS')) . ')' . '' : $results['GRP_TITLE'] . ' ' . $aRow2['GROUP_INACTIVE'], 'ada_lastname' => "", 'ada_username' => "", 'ada_type' => "group");
             }
         }
         $oCriteria = new \Criteria('workflow');
         $oCriteria->addSelectColumn(\UsersPeer::USR_FIRSTNAME);
         $oCriteria->addSelectColumn(\UsersPeer::USR_LASTNAME);
         $oCriteria->addSelectColumn(\UsersPeer::USR_USERNAME);
         $oCriteria->addSelectColumn(\UsersPeer::USR_EMAIL);
         $oCriteria->addSelectColumn(\TaskUserPeer::TAS_UID);
         $oCriteria->addSelectColumn(\TaskUserPeer::USR_UID);
         $oCriteria->addSelectColumn(\TaskUserPeer::TU_TYPE);
         $oCriteria->addSelectColumn(\TaskUserPeer::TU_RELATION);
         $oCriteria->addJoin(\TaskUserPeer::USR_UID, \UsersPeer::USR_UID, \Criteria::LEFT_JOIN);
         $oCriteria->add(\TaskUserPeer::USR_UID, $sAssigneeUID);
         $oCriteria->add(\TaskUserPeer::TAS_UID, $sTaskUID);
         $oCriteria->add(\TaskUserPeer::TU_TYPE, $iType);
         $oCriteria->add(\TaskUserPeer::TU_RELATION, 1);
         $oDataset = \TaskUserPeer::doSelectRS($oCriteria);
         $oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
         $oDataset->next();
         while ($aRow = $oDataset->getRow()) {
             $aUsers = array('ada_uid' => $aRow['USR_UID'], 'ada_name' => $aRow['USR_FIRSTNAME'], 'ada_lastname' => $aRow['USR_LASTNAME'], 'ada_username' => $aRow['USR_USERNAME'], 'ada_type' => "user");
             $oDataset->next();
         }
         if (empty($aUsers)) {
             throw new \Exception(\G::LoadTranslation("ID_RECORD_NOT_FOUND", array($sAssigneeUID)));
         } else {
             return $aUsers;
         }
     } catch (\Exception $e) {
         throw $e;
     }
 }
Example #19
0
$req = $_POST['request'];
switch ($req) {
    case 'showUsers':
        /* 
        		  $sql = "SELECT USR_UID, USR_EMAIL, CONCAT(USR_FIRSTNAME, ' ' , USR_LASTNAME) AS USR_FULLNAME FROM USERS WHERE USR_STATUS = 'ACTIVE' AND USR_EMAIL <> ''";
        */
        $sDataBase = 'database_' . strtolower(DB_ADAPTER);
        if (G::LoadSystemExist($sDataBase)) {
            G::LoadSystem($sDataBase);
            $oDataBase = new database();
            $sConcat = $oDataBase->concatString("USR_FIRSTNAME", "' '", "USR_LASTNAME");
        }
        $sql = " SELECT USR_UID, USR_EMAIL, " . $sConcat . " AS USR_FULLNAME FROM USERS " . " WHERE USR_STATUS = 'ACTIVE' AND USR_EMAIL <> ''";
        $oCriteria = new Criteria('workflow');
        $del = DBAdapter::getStringDelimiter();
        $con = Propel::getConnection("workflow");
        $stmt = $con->prepareStatement($sql);
        $rs = $stmt->executeQuery();
        $aRows[] = array('USR_UID' => 'char', 'USR_EMAIL' => 'char', 'USR_FULLNAME' => 'char');
        while ($rs->next()) {
            $aRows[] = array('USR_UID' => $rs->getString('USR_UID'), 'USR_EMAIL' => $rs->getString('USR_EMAIL'), 'USR_FULLNAME' => $rs->getString('USR_FULLNAME'));
        }
        //echo '<pre>';		print_r($aRows);
        global $_DBArray;
        $_DBArray['virtualtable'] = $aRows;
        $_SESSION['_DBArray'] = $_DBArray;
        G::LoadClass('ArrayPeer');
        $oCriteria = new Criteria('dbarray');
        $oCriteria->setDBArrayTable('virtualtable');
        $G_PUBLISH = new Publisher();
Example #20
0
    /**
     * Prepare connection parameters.
     * See: http://www.propelorm.org/ticket/1360
     *
     * @param  array $params
     * @return array
     *
     * @throws PropelException
     */
    public function prepareParams($params)
    {
        $params = parent::prepareParams($params);
        // Whitelist based on https://bugs.php.net/bug.php?id=47802
        // And https://bugs.php.net/bug.php?id=47802
        $whitelist = array('ASCII', 'CP1250', 'CP1251', 'CP1252', 'CP1256', 'CP1257', 'GREEK', 'HEBREW', 'LATIN1', 'LATIN2', 'LATIN5', 'LATIN7', 'SWE7', 'UTF8', 'UTF-8');
        if (isset($params['settings']['charset']['value'])) {
            if (version_compare(PHP_VERSION, '5.3.6', '<')) {
                $charset = strtoupper($params['settings']['charset']['value']);
                if (!in_array($charset, $whitelist)) {
                    throw new PropelException(<<<EXCEPTION
Connection option "charset" cannot be used for MySQL connections in PHP versions older than 5.3.6.
    Please refer to http://www.propelorm.org/ticket/1360 for instructions and details about the implications of
    using a SET NAMES statement in the "queries" setting.
EXCEPTION
);
                }
            } else {
                if (strpos($params['dsn'], ';charset=') === false) {
                    $params['dsn'] .= ';charset=' . $params['settings']['charset']['value'];
                    unset($params['settings']['charset']);
                }
            }
        }
        return $params;
    }
Example #21
0
 public function getDepartmentsForUser($userUid)
 {
     $criteria = new Criteria('workflow');
     $criteria->addSelectColumn(UsersPeer::DEP_UID);
     $criteria->addAsColumn('DEP_TITLE', 'C.CON_VALUE');
     $criteria->addAlias('C', 'CONTENT');
     $criteria->addJoin(UsersPeer::DEP_UID, DepartmentPeer::DEP_UID, Criteria::LEFT_JOIN);
     $delimiter = DBAdapter::getStringDelimiter();
     $conditions = array();
     $conditions[] = array(DepartmentPeer::DEP_UID, 'C.CON_ID');
     $conditions[] = array('C.CON_CATEGORY', $delimiter . 'DEPO_TITLE' . $delimiter);
     $conditions[] = array('C.CON_LANG', $delimiter . SYS_LANG . $delimiter);
     $criteria->addJoinMC($conditions, Criteria::LEFT_JOIN);
     $criteria->add(UsersPeer::USR_UID, $userUid);
     $criteria->add(UsersPeer::DEP_UID, '', Criteria::NOT_EQUAL);
     $dataset = DepartmentPeer::doSelectRS($criteria);
     $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
     $dataset->next();
     $departments = array();
     while ($row = $dataset->getRow()) {
         if (!isset($departments[$row['DEP_UID']])) {
             $departments[$row['DEP_UID']] = $row;
         }
         $dataset->next();
     }
     return $departments;
 }
Example #22
0
 public static function clearCache()
 {
     self::$cachedResult = array();
     if (function_exists('__tcSqlLogBegin')) {
         __tcSqlLogBegin("Cache cleared");
         __tcSqlLogEnd(null, 2);
     }
 }
Example #23
0
 /**
  * Setup the adapters needed.  An adapter must be defined for each database connection.
  * Generally the adapter will be the same as the PEAR phpname; e.g. for MySQL, use the
  * 'mysql' adapter.
  * @param      array $configuration the Configuration representing the properties file
  * @throws     PropelException Any exceptions caught during processing will be
  *		 rethrown wrapped into a PropelException.
  */
 private static function initAdapters($configuration)
 {
     self::$adapterMap = array();
     $c = isset($configuration['datasources']) ? $configuration['datasources'] : null;
     if (!empty($c)) {
         try {
             foreach ($c as $handle => $properties) {
                 if (is_array($properties) && isset($properties['adapter'])) {
                     $db = DBAdapter::factory($properties['adapter']);
                     // register the adapter for this name
                     self::$adapterMap[$handle] = $db;
                 }
             }
         } catch (Exception $e) {
             throw new PropelException("Unable to initialize adapters.", $e);
         }
     } else {
         self::log("There were no adapters in the configuration.", self::LOG_WARNING);
     }
 }
Example #24
0
 /**
  * Returns database adapter for a specific datasource.
  *
  * @param      string The datasource name.
  *
  * @return     DBAdapter The corresponding database adapter.
  *
  * @throws     PropelException If unable to find DBdapter for specified db.
  */
 public static function getDB($name = null)
 {
     if ($name === null) {
         $name = self::getDefaultDB();
     }
     if (!isset(self::$adapterMap[$name])) {
         if (!isset(self::$configuration['datasources'][$name]['adapter'])) {
             throw new PropelException("Unable to find adapter for datasource [" . $name . "].");
         }
         $db = DBAdapter::factory(self::$configuration['datasources'][$name]['adapter']);
         // register the adapter for this name
         self::$adapterMap[$name] = $db;
     }
     return self::$adapterMap[$name];
 }
Example #25
0
<?php

session_start();
//変数初期化モジュール
require 'module/module_initialization.php';
if (!isset($_SESSION["user"])) {
    header("Location: login.php");
} else {
    $user = $_SESSION["user"];
}
if (isset($_GET['user_id'])) {
    $your_user = $_GET['user_id'];
    require_once "DBAdapter.class.php";
    $db = new DBAdapter();
    $db->friend_data($your_user);
    $friend_data = $db->frienddata_get();
} else {
    $your_user = array();
}
?>

 <!DOCTYPE html>
 <html>
 <head>
	 <meta charset="utf-8" />
	 <meta name="viewport" content="width=device-width initial-scale=1.0 maximum-scale=1.0 user-scalable=yes" />
	 <title>bis</title>
	 <?php 
require_once 'module/head.php';
?>
	 <link rel="stylesheet" href="css/profile.css">
Example #26
0
    public function getAdvancedSearch($sCase, $sProcess, $sTask, $sCurrentUser, $sSentby, $sLastModFrom, $sLastModTo, $sStatus, $permisse, $userlogged, $aSupervisor)

    {

        $sTypeList = '';

        $sUIDUserLogged = '';



        $c = new Criteria('workflow');

        $c->clearSelectColumns();

        $c->addSelectColumn(ApplicationPeer::APP_UID);

        $c->addSelectColumn(ApplicationPeer::APP_NUMBER);

        $c->addSelectColumn(ApplicationPeer::APP_UPDATE_DATE);

        $c->addSelectColumn(AppDelegationPeer::DEL_PRIORITY);

        //$c->addSelectColumn(AppDelegationPeer::DEL_TASK_DUE_DATE);

        $c->addAsColumn(

                'DEL_TASK_DUE_DATE', " IF (" . AppDelegationPeer::DEL_TASK_DUE_DATE . " <= NOW(), CONCAT('<span style=\'color:red\';>', " .

                AppDelegationPeer::DEL_TASK_DUE_DATE . ", '</span>'), " . AppDelegationPeer::DEL_TASK_DUE_DATE . ") ");

        $c->addSelectColumn(AppDelegationPeer::DEL_INDEX);

        $c->addSelectColumn(AppDelegationPeer::TAS_UID);

        $c->addSelectColumn(AppDelegationPeer::DEL_INIT_DATE);

        $c->addSelectColumn(AppDelegationPeer::DEL_FINISH_DATE);

        $c->addSelectColumn(UsersPeer::USR_UID);

        $c->addAsColumn('APP_CURRENT_USER', "CONCAT(USERS.USR_LASTNAME, ' ', USERS.USR_FIRSTNAME)");

        $c->addSelectColumn(ApplicationPeer::APP_STATUS);

        $c->addAsColumn('APP_TITLE', 'APP_TITLE.CON_VALUE');

        $c->addAsColumn('APP_PRO_TITLE', 'PRO_TITLE.CON_VALUE');

        $c->addAsColumn('APP_TAS_TITLE', 'TAS_TITLE.CON_VALUE');

        //$c->addAsColumn('APP_DEL_PREVIOUS_USER', 'APP_LAST_USER.USR_USERNAME');

        $c->addAsColumn(

                'APP_DEL_PREVIOUS_USER', "CONCAT(APP_LAST_USER.USR_LASTNAME, ' ', APP_LAST_USER.USR_FIRSTNAME)"

        );



        $c->addAlias("APP_TITLE", 'CONTENT');

        $c->addAlias("PRO_TITLE", 'CONTENT');

        $c->addAlias("TAS_TITLE", 'CONTENT');

        $c->addAlias("APP_PREV_DEL", 'APP_DELEGATION');

        $c->addAlias("APP_LAST_USER", 'USERS');



        $c->addJoin(ApplicationPeer::APP_UID, AppDelegationPeer::APP_UID, Criteria::LEFT_JOIN);

        $c->addJoin(AppDelegationPeer::TAS_UID, TaskPeer::TAS_UID, Criteria::LEFT_JOIN);

        $appThreadConds[] = array(ApplicationPeer::APP_UID, AppThreadPeer::APP_UID);

        $appThreadConds[] = array(AppDelegationPeer::DEL_INDEX, AppThreadPeer::DEL_INDEX);

        $c->addJoinMC($appThreadConds, Criteria::LEFT_JOIN);

        $c->addJoin(AppDelegationPeer::USR_UID, UsersPeer::USR_UID, Criteria::LEFT_JOIN);



        $del = DBAdapter::getStringDelimiter();

        $appTitleConds = array();

        $appTitleConds[] = array(ApplicationPeer::APP_UID, 'APP_TITLE.CON_ID');

        $appTitleConds[] = array('APP_TITLE.CON_CATEGORY', $del . 'APP_TITLE' . $del);

        $appTitleConds[] = array('APP_TITLE.CON_LANG', $del . SYS_LANG . $del);

        $c->addJoinMC($appTitleConds, Criteria::LEFT_JOIN);



        $proTitleConds = array();

        $proTitleConds[] = array(ApplicationPeer::PRO_UID, 'PRO_TITLE.CON_ID');

        $proTitleConds[] = array('PRO_TITLE.CON_CATEGORY', $del . 'PRO_TITLE' . $del);

        $proTitleConds[] = array('PRO_TITLE.CON_LANG', $del . SYS_LANG . $del);

        $c->addJoinMC($proTitleConds, Criteria::LEFT_JOIN);



        $tasTitleConds = array();

        $tasTitleConds[] = array(AppDelegationPeer::TAS_UID, 'TAS_TITLE.CON_ID');

        $tasTitleConds[] = array('TAS_TITLE.CON_CATEGORY', $del . 'TAS_TITLE' . $del);

        $tasTitleConds[] = array('TAS_TITLE.CON_LANG', $del . SYS_LANG . $del);

        $c->addJoinMC($tasTitleConds, Criteria::LEFT_JOIN);



        $prevConds = array();

        $prevConds[] = array(ApplicationPeer::APP_UID, 'APP_PREV_DEL.APP_UID');

        $prevConds[] = array('APP_PREV_DEL.DEL_INDEX', AppDelegationPeer::DEL_PREVIOUS);

        $c->addJoinMC($prevConds, Criteria::LEFT_JOIN);



        $usrConds = array();

        $usrConds[] = array('APP_PREV_DEL.USR_UID', 'APP_LAST_USER.USR_UID');

        $c->addJoinMC($usrConds, Criteria::LEFT_JOIN);



        $c->add(TaskPeer::TAS_TYPE, 'SUBPROCESS', Criteria::NOT_EQUAL);



        $c->add(

                $c->getNewCriterion(AppThreadPeer::APP_THREAD_STATUS, 'OPEN')->

                        addOr($c->getNewCriterion(ApplicationPeer::APP_STATUS, 'COMPLETED')->

                                addAnd($c->getNewCriterion(AppDelegationPeer::DEL_PREVIOUS, 0)))

        );



        if ($sCase != '') {

            $c->add(ApplicationPeer::APP_NUMBER, $sCase);

        }

        if ($sProcess != '') {

            $c->add(ApplicationPeer::PRO_UID, $sProcess);

        }

        if ($sTask != '' && $sTask != "0" && $sTask != 0) {

            $c->add(AppDelegationPeer::TAS_UID, $sTask);

        }

        if ($sCurrentUser != '') {

            $c->add(ApplicationPeer::APP_CUR_USER, $sCurrentUser);

        }

        if ($sSentby != '') {

            $c->add('APP_PREV_DEL.USR_UID', $sSentby);

        }

        if ($sLastModFrom != '0000-00-00' && $sLastModTo != '0000-00-00' && $sLastModFrom != '' && $sLastModTo != '') {

            $c->add(

                    $c->getNewCriterion(ApplicationPeer::APP_UPDATE_DATE, $sLastModFrom . ' 00:00:00', Criteria::GREATER_EQUAL)->

                            addAnd($c->getNewCriterion(ApplicationPeer::APP_UPDATE_DATE, $sLastModTo . ' 23:59:59', Criteria::LESS_EQUAL))

            );

        }

        if ($sStatus != '') {

            if ($sStatus != 'gral') {

                $c->add(ApplicationPeer::APP_STATUS, $sStatus);

            }

        }



        if ($permisse != 0) {

            $c->add(

                    $c->getNewCriterion(AppDelegationPeer::USR_UID, $userlogged)->

                            addOr($c->getNewCriterion(AppDelegationPeer::PRO_UID, $aSupervisor, Criteria::IN))

            );

        }



        $c->addDescendingOrderByColumn(ApplicationPeer::APP_NUMBER);



        return $c;

    }
Example #27
0
 /**
  * Performs DB-specific ignore case, but only if the column type necessitates it.
  * @param      string $str The expression we want to apply the ignore case formatting to (e.g. the column name).
  * @param      DBAdapter $db
  */
 public function ignoreCase($str, DBAdapter $db)
 {
     if ($this->isText()) {
         return $db->ignoreCase($str);
     } else {
         return $str;
     }
 }
Example #28
0
     echo '<li>', _text('기존 에디터로 작성된 글을 새 에디터로 편집 가능하도록 이전합니다.'), ': ';
     $pool->reset("Entries");
     $pool->setAttribute("contentformatter", "ttml", true);
     $pool->setAttribute("contenteditor", "tinyMCE", true);
     $pool->setQualifier("contentformatter", "eq", "ttml", true);
     $pool->setQualifier("contenteditor", "eq", "modern", true);
     if ($pool->update()) {
         showCheckupMessage(true);
     } else {
         showCheckupMessage(false);
     }
 }
 if (!DBAdapter::queryExistence("DESC {$database['prefix']}Sessions expires")) {
     $changed = true;
     echo '<li>', _text('자동 로그인을 위해 세션 테이블 구조를 수정합니다.'), ': ';
     if (DBAdapter::execute("ALTER TABLE {$database['prefix']}Sessions ADD expires int(11) NOT NULL DEFAULT 0 AFTER updated")) {
         showCheckupMessage(true);
     } else {
         showCheckupMessage(false);
     }
 }
 if (!doesExistTable($database['prefix'] . "Properties")) {
     $changed = true;
     echo '<li>', _text('프로퍼티 저장을 위한 테이블을 추가합니다.'), ': ';
     $pool = DBModel::getInstance();
     $pool->reset("Properties");
     $pool->structure = array("blogid" => array("type" => "integer", "length" => 11, "isNull" => false), "namespace" => array("type" => "varchar", "length" => 32, "isNull" => false, "default" => 'global'), "keyname" => array("type" => "varchar", "length" => 32, "isNull" => false), "value" => array("type" => "text", "isNull" => false));
     $pool->option['primary'] = array("blogid", "namespace", "keyname");
     if ($pool->create()) {
         showCheckupMessage(true);
     } else {
Example #29
0
 function getProcessArray($action, $userUid)
 {
     global $oAppCache;
     $processes = array();
     $processes[] = array("", G::LoadTranslation("ID_ALL_PROCESS"));
     switch ($action) {
         case "simple_search":
         case "search":
             //In search action, the query to obtain all process is too slow, so we need to query directly to
             //process and content tables, and for that reason we need the current language in AppCacheView.
             G::loadClass("configuration");
             $oConf = new Configurations();
             $oConf->loadConfig($x, "APP_CACHE_VIEW_ENGINE", "", "", "", "");
             $appCacheViewEngine = $oConf->aConfig;
             $lang = isset($appCacheViewEngine["LANG"]) ? $appCacheViewEngine["LANG"] : "en";
             $cProcess = new Criteria("workflow");
             $cProcess->clearSelectColumns();
             $cProcess->addSelectColumn(ProcessPeer::PRO_UID);
             $cProcess->addSelectColumn(ContentPeer::CON_VALUE);
             $del = DBAdapter::getStringDelimiter();
             $conds = array();
             $conds[] = array(ProcessPeer::PRO_UID, ContentPeer::CON_ID);
             $conds[] = array(ContentPeer::CON_CATEGORY, $del . "PRO_TITLE" . $del);
             $conds[] = array(ContentPeer::CON_LANG, $del . $lang . $del);
             $cProcess->addJoinMC($conds, Criteria::LEFT_JOIN);
             $cProcess->add(ProcessPeer::PRO_STATUS, "ACTIVE");
             $oDataset = ProcessPeer::doSelectRS($cProcess);
             $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
             $oDataset->next();
             while ($aRow = $oDataset->getRow()) {
                 $processes[] = array($aRow["PRO_UID"], $aRow["CON_VALUE"]);
                 $oDataset->next();
             }
             return $processes;
             break;
         case "consolidated":
         default:
             $cProcess = $oAppCache->getToDoListCriteria($userUid);
             //fast enough
             break;
     }
     $cProcess->clearSelectColumns();
     $cProcess->setDistinct();
     $cProcess->addSelectColumn(AppCacheViewPeer::PRO_UID);
     $cProcess->addSelectColumn(AppCacheViewPeer::APP_PRO_TITLE);
     $oDataset = AppCacheViewPeer::doSelectRS($cProcess);
     $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
     $oDataset->next();
     while ($aRow = $oDataset->getRow()) {
         $processes[] = array($aRow["PRO_UID"], $aRow["APP_PRO_TITLE"]);
         $oDataset->next();
     }
     return $processes;
 }
Example #30
0
 public function sendNoteNotification($appUid, $usrUid, $noteContent, $noteRecipients, $sFrom = "")
 {
     try {
         require_once 'classes/model/Configuration.php';
         $oConfiguration = new Configuration();
         $sDelimiter = DBAdapter::getStringDelimiter();
         $oCriteria = new Criteria('workflow');
         $oCriteria->add(ConfigurationPeer::CFG_UID, 'Emails');
         $oCriteria->add(ConfigurationPeer::OBJ_UID, '');
         $oCriteria->add(ConfigurationPeer::PRO_UID, '');
         $oCriteria->add(ConfigurationPeer::USR_UID, '');
         $oCriteria->add(ConfigurationPeer::APP_UID, '');
         if (ConfigurationPeer::doCount($oCriteria) == 0) {
             $oConfiguration->create(array('CFG_UID' => 'Emails', 'OBJ_UID' => '', 'CFG_VALUE' => '', 'PRO_UID' => '', 'USR_UID' => '', 'APP_UID' => ''));
             $aConfiguration = array();
         } else {
             $aConfiguration = $oConfiguration->load('Emails', '', '', '', '');
             if ($aConfiguration['CFG_VALUE'] != '') {
                 $aConfiguration = unserialize($aConfiguration['CFG_VALUE']);
                 $passwd = $aConfiguration['MESS_PASSWORD'];
                 $passwdDec = G::decrypt($passwd, 'EMAILENCRYPT');
                 $auxPass = explode('hash:', $passwdDec);
                 if (count($auxPass) > 1) {
                     if (count($auxPass) == 2) {
                         $passwd = $auxPass[1];
                     } else {
                         array_shift($auxPass);
                         $passwd = implode('', $auxPass);
                     }
                 }
                 $aConfiguration['MESS_PASSWORD'] = $passwd;
             } else {
                 $aConfiguration = array();
             }
         }
         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}";
         /*
         if ($sFrom == '') {
             $sFrom = '"ProcessMaker"';
         }
         */
         if (isset($aConfiguration['MESS_FROM_NAME']) && $aConfiguration['MESS_FROM_NAME'] != '') {
             $sFrom = $aConfiguration['MESS_FROM_NAME'];
         }
         $hasEmailFrom = preg_match('/(.+)@(.+)\\.(.+)/', $sFrom, $match);
         if (!$hasEmailFrom || strpos($sFrom, $aConfiguration['MESS_ACCOUNT']) === false) {
             if ($aConfiguration['MESS_ENGINE'] != 'MAIL' && $aConfiguration['MESS_ACCOUNT'] != '') {
                 $sFrom .= ' <' . $aConfiguration['MESS_ACCOUNT'] . '>';
             } else {
                 if ($aConfiguration['MESS_ENGINE'] == 'MAIL') {
                     $sFrom .= ' <info@' . gethostbyaddr('127.0.0.1') . '>';
                 } else {
                     if ($aConfiguration['MESS_SERVER'] != '') {
                         if ($sAux = @gethostbyaddr($aConfiguration['MESS_SERVER'])) {
                             $sFrom .= ' <info@' . $sAux . '>';
                         } else {
                             $sFrom .= ' <info@' . $aConfiguration['MESS_SERVER'] . '>';
                         }
                     } else {
                         $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();
             if ($aConfiguration['MESS_RAUTH'] == false || is_string($aConfiguration['MESS_RAUTH']) && $aConfiguration['MESS_RAUTH'] == 'false') {
                 $aConfiguration['MESS_RAUTH'] = 0;
             } else {
                 $aConfiguration['MESS_RAUTH'] = 1;
             }
             $oSpool->setConfig(array('MESS_ENGINE' => $aConfiguration['MESS_ENGINE'], 'MESS_SERVER' => $aConfiguration['MESS_SERVER'], 'MESS_PORT' => $aConfiguration['MESS_PORT'], 'MESS_ACCOUNT' => $aConfiguration['MESS_ACCOUNT'], 'MESS_PASSWORD' => $aConfiguration['MESS_PASSWORD'], 'SMTPAuth' => $aConfiguration['MESS_RAUTH'] == '1' ? true : false, 'SMTPSecure' => isset($aConfiguration['SMTPSecure']) ? $aConfiguration['SMTPSecure'] : ''));
             $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;
     }
 }