Example #1
0
 public static function doUpdateAllModerations($selectCriteria, $values, $con = null)
 {
     if ($con === null) {
         $con = Propel::getConnection(self::DATABASE_NAME);
     }
     return BasePeer::doUpdate($selectCriteria, $values, $con);
 }
Example #2
0
 public function delete(PropelPDO $con = null)
 {
     if ($con === null) {
         $con = Propel::getConnection(sfGuardGroupPeer::DATABASE_NAME, Propel::CONNECTION_WRITE);
     }
     if ($this->isDefaultGroup()) {
         throw new sfException('Cannot remove default group (ID ' . $this->id . ')!');
         return false;
     }
     /*
      * get default group
      *
      */
     $default_group = sfGuardGroupPeer::getDefaultGroup();
     //get default group
     /*
      * check if servers has this group
      * If servers found remove reference to group to be deleted
      */
     $con->beginTransaction();
     try {
         //select from...
         $c1 = new Criteria();
         $c1->add(EtvaServerPeer::SF_GUARD_GROUP_ID, $this->getId());
         //update set
         $c2 = new Criteria();
         $c2->add(EtvaServerPeer::SF_GUARD_GROUP_ID, $default_group->getId());
         BasePeer::doUpdate($c1, $c2, $con);
         parent::delete($con);
         $con->commit();
     } catch (PropelException $e) {
         $con->rollBack();
         throw $e;
     }
 }
 protected function execute($arguments = array(), $options = array())
 {
     $context = sfContext::createInstance(sfProjectConfiguration::getApplicationConfiguration('app', 'dev', true));
     parent::execute($arguments, $options);
     // initialize the database connection
     $databaseManager = new sfDatabaseManager($this->configuration);
     $con = $databaseManager->getDatabase($options['connection'])->getConnection();
     // add your code here
     $this->log('[INFO] Checking VirtAgents state...' . "\n");
     $offset = sfConfig::get('app_node_keepalive_update') + sfConfig::get('app_node_keepalive_update_offset');
     $total_nodes = EtvaNodePeer::doCount(new Criteria());
     if ($total_nodes > 0) {
         $con->beginTransaction();
         $affected = 0;
         try {
             $offset_date = date("c", time() - $offset);
             /*
              * get nodes that have last_keepalive field outdated
              */
             $c1 = new Criteria();
             $c1->add(EtvaNodePeer::LAST_KEEPALIVE, $offset_date, Criteria::LESS_THAN);
             $c1->add(EtvaNodePeer::STATE, EtvaNode::NODE_ACTIVE);
             // only active
             //update statement
             $c2 = new Criteria();
             $c2->add(EtvaNodePeer::STATE, EtvaNode::NODE_INACTIVE);
             $affected += BasePeer::doUpdate($c1, $c2, $con);
             // update maintenance and running to maintenance
             $c1 = new Criteria();
             $c1->add(EtvaNodePeer::LAST_KEEPALIVE, $offset_date, Criteria::LESS_THAN);
             $c1->add(EtvaNodePeer::STATE, EtvaNode::NODE_MAINTENANCE_UP);
             //update statement
             $c2 = new Criteria();
             $c2->add(EtvaNodePeer::STATE, EtvaNode::NODE_MAINTENANCE);
             $affected += BasePeer::doUpdate($c1, $c2, $con);
             // update fail and running to fail
             $c1 = new Criteria();
             $c1->add(EtvaNodePeer::LAST_KEEPALIVE, $offset_date, Criteria::LESS_THAN);
             $c1->add(EtvaNodePeer::STATE, EtvaNode::NODE_FAIL_UP);
             // only active
             //update statement
             $c2 = new Criteria();
             $c2->add(EtvaNodePeer::STATE, EtvaNode::NODE_FAIL);
             $affected += BasePeer::doUpdate($c1, $c2, $con);
             $con->commit();
             $message = sprintf('%d Node(s) NOT received update in time offset of %d seconds', $affected, $offset);
             if ($affected > 0) {
                 $context->getEventDispatcher()->notify(new sfEvent(sfConfig::get('config_acronym'), 'event.log', array('message' => $message, 'priority' => EtvaEventLogger::ERR)));
             }
             $this->log('[INFO]' . $message);
         } catch (PropelException $e) {
             $con->rollBack();
             throw $e;
         }
     }
     $logger = new sfFileLogger($context->getEventDispatcher(), array('file' => sfConfig::get("sf_log_dir") . '/cron_status.log'));
     // log the message!
     $logger->log("[INFO] The check virtAgents task ran!", 6);
 }
 public function testDoUpdate()
 {
     try {
         $c1 = new Criteria();
         $c1->setPrimaryTableName(BookPeer::TABLE_NAME);
         $c1->add(BookPeer::ID, 12, ' BAD SQL');
         $c2 = new Criteria();
         $c2->add(BookPeer::TITLE, 'Foo');
         BasePeer::doUpdate($c1, $c2, Propel::getConnection());
     } catch (PropelException $e) {
         $this->assertContains('[UPDATE `book` SET `TITLE`=:p1 WHERE book.ID BAD SQL:p2]', $e->getMessage(), 'SQL query is written in the exception message');
     }
 }
 /**
  * @param int $entryId
  */
 protected function entryDeleted($entryId)
 {
     $c = new Criteria();
     $c->add(CuePointPeer::ENTRY_ID, $entryId);
     CuePointPeer::setUseCriteriaFilter(false);
     $cuePoints = CuePointPeer::doSelect($c);
     $update = new Criteria();
     $update->add(CuePointPeer::STATUS, CuePointStatus::DELETED);
     $con = Propel::getConnection(myDbHelper::DB_HELPER_CONN_MASTER);
     BasePeer::doUpdate($c, $update, $con);
     foreach ($cuePoints as $cuePoint) {
         kEventsManager::raiseEvent(new kObjectDeletedEvent($cuePoint));
     }
 }
Example #6
0
 /**
  * @param int $entryId
  */
 protected function entryDeleted($entryId)
 {
     $c = new Criteria();
     $c->add(AnnotationPeer::ENTRY_ID, $entryId);
     $c->add(AnnotationPeer::STATUS, AnnotationStatus::ANNOTATION_STATUS_DELETED, Criteria::NOT_EQUAL);
     AnnotationPeer::setUseCriteriaFilter(false);
     $annotations = AnnotationPeer::doSelect($c);
     foreach ($annotations as $annotation) {
         kEventsManager::raiseEvent(new kObjectDeletedEvent($annotation));
     }
     $update = new Criteria();
     $update->add(AnnotationPeer::STATUS, AnnotationStatus::ANNOTATION_STATUS_DELETED);
     $con = Propel::getConnection(AnnotationPeer::DATABASE_NAME, Propel::CONNECTION_READ);
     BasePeer::doUpdate($c, $update, $con);
 }
 /**
  * @param int $objectType
  * @param string $objectId
  */
 protected function deleteMetadataObjects($objectType, $objectId)
 {
     $c = new Criteria();
     $c->add(MetadataPeer::OBJECT_TYPE, $objectType);
     $c->add(MetadataPeer::OBJECT_ID, $objectId);
     $c->add(MetadataPeer::STATUS, Metadata::STATUS_DELETED, Criteria::NOT_EQUAL);
     $peer = null;
     MetadataPeer::setUseCriteriaFilter(false);
     $metadatas = MetadataPeer::doSelect($c);
     foreach ($metadatas as $metadata) {
         kEventsManager::raiseEvent(new kObjectDeletedEvent($metadata));
     }
     $update = new Criteria();
     $update->add(MetadataPeer::STATUS, Metadata::STATUS_DELETED);
     $con = Propel::getConnection(MetadataPeer::DATABASE_NAME, Propel::CONNECTION_READ);
     BasePeer::doUpdate($c, $update, $con);
 }
Example #8
0
 public static function setJobStateIds($jobs, $stateId)
 {
     $c1 = new Criteria();
     $c2 = new Criteria();
     $c1->add(JobPeer::ID, $jobs, Criteria::IN);
     $c2->add(JobPeer::STATUS_ID, $stateId);
     BasePeer::doUpdate($c1, $c2, Propel::getConnection());
     $state = StatusPeer::retrieveByPK($stateId);
     foreach ($jobs as $id) {
         $logEntry = new Log();
         $logEntry->setWhen(time());
         $logEntry->setPropelClass("Job");
         $logEntry->setSfGuardUserProfileId(sfContext::getInstance()->getUser()->getUserId());
         $logEntry->setMessage("Changed job state to " . $state->getState());
         $logEntry->setLogMessageTypeId(sfConfig::get("app_log_type_change_status"));
         $logEntry->setPropelId($id);
         $logEntry->save();
     }
 }
 private static function lockObjects(kExclusiveLockKey $lockKey, array $objects, $max_execution_time)
 {
     $exclusive_objects = array();
     // make sure the objects where not taken -
     $con = Propel::getConnection();
     $not_exclusive_count = 0;
     foreach ($objects as $object) {
         $lock_version = $object->getLockVersion();
         $criteria_for_exclusive_update = new Criteria();
         $criteria_for_exclusive_update->add(BatchJobPeer::ID, $object->getId());
         $criteria_for_exclusive_update->add(BatchJobPeer::LOCK_VERSION, $lock_version);
         $update = new Criteria();
         // increment the lock_version - this will make sure it's exclusive
         $update->add(BatchJobPeer::LOCK_VERSION, $lock_version + 1);
         // increment the execution_attempts
         $update->add(BatchJobPeer::EXECUTION_ATTEMPTS, $object->getExecutionAttempts() + 1);
         $update->add(BatchJobPeer::SCHEDULER_ID, $lockKey->getSchedulerId());
         $update->add(BatchJobPeer::WORKER_ID, $lockKey->getWorkerId());
         $update->add(BatchJobPeer::BATCH_INDEX, $lockKey->getBatchIndex());
         $update->add(BatchJobPeer::LAST_SCHEDULER_ID, $lockKey->getSchedulerId());
         $update->add(BatchJobPeer::LAST_WORKER_ID, $lockKey->getWorkerId());
         $processor_expiration = time() + $max_execution_time;
         $update->add(BatchJobPeer::PROCESSOR_EXPIRATION, $processor_expiration);
         $affectedRows = BasePeer::doUpdate($criteria_for_exclusive_update, $update, $con);
         KalturaLog::log("Lock update affected rows [{$affectedRows}] on job id [" . $object->getId() . "] lock version [{$lock_version}]");
         if ($affectedRows == 1) {
             // fix the object to reflect what is in the DB
             $object->setLockVersion($lock_version + 1);
             $object->setExecutionAttempts($object->getExecutionAttempts() + 1);
             $object->setSchedulerId($lockKey->getSchedulerId());
             $object->setWorkerId($lockKey->getWorkerId());
             $object->setBatchIndex($lockKey->getBatchIndex());
             $object->setProcessorExpiration($processor_expiration);
             KalturaLog::log("Job id [" . $object->getId() . "] locked and returned");
             $exclusive_objects[] = $object;
         } else {
             $not_exclusive_count++;
             KalturaLog::log("Object not exclusive: [" . get_class($object) . "] id [" . $object->getId() . "]");
         }
     }
     return $exclusive_objects;
 }
 public function executeImpl($partner_id, $subp_id, $puser_id, $partner_prefix, $puser_kuser)
 {
     $job_type = $this->getPM("job_type");
     $processor_name = $this->getPM("processor_name");
     $processor_timeout = $this->getPM("processor_timeout");
     $over_quota_partners = $this->getPM("over_quota_partners");
     $defered_partners = $this->getPM("defered_partners");
     $con = Propel::getConnection();
     // fetch one pending row of a given job_type
     // where the over_quota_partner requests are dropped
     // and defered_partners request are of less priority
     $query = "SELECT " . BatchJobPeer::ID . " FROM " . BatchJobPeer::TABLE_NAME . " WHERE " . BatchJobPeer::STATUS . "=" . BatchJob::BATCHJOB_STATUS_PENDING . " AND " . BatchJobPeer::JOB_TYPE . "=" . $job_type . " " . (count($over_quota_partners) ? " AND " . BatchJobPeer::PARTNER_ID . " NOT IN ({$over_quota_partners}) " : "") . " ORDER BY " . (count($defered_partners) ? BatchJobPeer::PARTNER_ID . " IN ({$defered_partners}), " : "") . BatchJobPeer::CREATED_AT . " LIMIT 1";
     $statement = $con->prepareStatement($query);
     $resultset = $statement->executeQuery();
     $batch_job = null;
     while ($resultset->next()) {
         $batch_job = BatchJobPeer::retrieveByPK($resultset->getInt('ID'));
     }
     $batch_job = BatchJobPeer::doSelectOne($c);
     if ($batch_job) {
         // force update to work on the currently selected row and ensure it is still in pending status
         $c->add(BatchJobPeer::ID, $batch_job->getId());
         $c->add(BatchJobPeer::STATUS, BatchJob::BATCHJOB_STATUS_PENDING);
         $update = new Criteria();
         $update->add(BatchJobPeer::STATUS, BatchJob::BATCHJOB_STATUS_QUEUED);
         $update->add(BatchJobPeer::PROCESSOR_NAME, $processor_name);
         $update->add(BatchJobPeer::PROCESSOR_EXPIRATION, time() + $processor_timeout);
         $affectedRows = BasePeer::doUpdate($c, $update, $con);
         if ($affectedRows != 1) {
             $batch_job = null;
         }
     }
     if (!$batch_job) {
         //xx$this->addError ( APIErrors::INVALID_ENTRY_ID, $this->getObjectPrefix() , $entry_id );
     } else {
         $wrapper = objectWrapperBase::getWrapperClass($batch_job, objectWrapperBase::DETAIL_LEVEL_REGULAR);
         // TODO - remove this code when cache works properly when saving objects (in their save method)
         $wrapper->removeFromCache("batch_job", $batch_job->getId());
         $this->addMsg("batchjob", $wrapper);
     }
 }
Example #11
0
function lockJob($object)
{
    global $jobStatus;
    $con = Propel::getConnection();
    $lock_version = $object->getVersion();
    $criteria_for_exclusive_update = new Criteria();
    $criteria_for_exclusive_update->add(BatchJobLockPeer::ID, $object->getId());
    $criteria_for_exclusive_update->add(BatchJobLockPeer::VERSION, $lock_version);
    $criteria_for_exclusive_update->add(BatchJobLockPeer::STATUS, $jobStatus);
    $update = new Criteria();
    // increment the lock_version - this will make sure it's exclusive
    $update->add(BatchJobLockPeer::VERSION, $lock_version + 1);
    $update->add(BatchJobLockPeer::STATUS, TEMP_JOB_STATUS);
    $affectedRows = BasePeer::doUpdate($criteria_for_exclusive_update, $update, $con);
    if ($affectedRows != 1) {
        return false;
    }
    // update $object with what is in the database
    $object->setVersion($lock_version + 1);
    $object->setStatus(TEMP_JOB_STATUS);
    return true;
}
Example #12
0
 public function setDefaultGroup()
 {
     $con = Propel::getConnection(sfGuardGroupPeer::DATABASE_NAME);
     $criteria = new Criteria();
     $criteria->add(self::NAME, 'Admin');
     $group = self::doSelectOne($criteria);
     $new = false;
     if (!$group) {
         $group = new sfGuardGroup();
         $new = true;
     }
     $group->setName('Admin');
     $group->setDescription('Admin Group');
     if ($new) {
         $group->save();
     }
     $selectCriteria = $group->buildPkeyCriteria();
     // update values are also stored in Criteria object
     $group->setId(self::DEFAULT_GROUP_ID);
     $updateValues = $group->buildCriteria();
     BasePeer::doUpdate($selectCriteria, $updateValues, $con);
     return $group;
 }
Example #13
0
 public function saveVNCkeymap(PropelPDO $con = null)
 {
     if ($con === null) {
         $con = Propel::getConnection(EtvaSettingPeer::DATABASE_NAME, Propel::CONNECTION_WRITE);
     }
     $con->beginTransaction();
     $isInsert = $this->isNew();
     try {
         parent::save($con);
         //select statement
         $c1 = new Criteria();
         $c1->add(EtvaServerPeer::VNC_KEYMAP_DEFAULT, 1, Criteria::EQUAL);
         //update statement
         $c2 = new Criteria();
         $c2->add(EtvaServerPeer::VNC_KEYMAP, $this->getValue());
         BasePeer::doUpdate($c1, $c2, $con);
         $con->commit();
         return true;
     } catch (PropelException $e) {
         $con->rollBack();
         throw $e;
     }
 }
	/**
	 * Method to soft delete all rows from the a_traitements table.
	 *
	 * @param			 PropelPDO $con the connection to use
	 * @return		 int The number of affected rows (if supported by underlying database driver).
	 * @throws		 PropelException Any exceptions caught during processing will be
	 *							rethrown wrapped into a PropelException.
	 */
	public static function doSoftDeleteAll(PropelPDO $con = null)
	{
		if ($con === null) {
			$con = Propel::getConnection(AbsenceEleveTraitementPeer::DATABASE_NAME, Propel::CONNECTION_WRITE);
		}
		$selectCriteria = new Criteria();
		$selectCriteria->add(AbsenceEleveTraitementPeer::DELETED_AT, null, Criteria::ISNULL);
		$selectCriteria->setDbName(AbsenceEleveTraitementPeer::DATABASE_NAME);
		$modifyCriteria = new Criteria();
		$modifyCriteria->add(AbsenceEleveTraitementPeer::DELETED_AT, time());
		return BasePeer::doUpdate($selectCriteria, $modifyCriteria, $con);
	}
Example #15
0
 public static function doUpdate($values, $con = null)
 {
     foreach (sfMixer::getCallables('BasenahoWikiPagePeer:doUpdate:pre') as $callable) {
         $ret = call_user_func($callable, 'BasenahoWikiPagePeer', $values, $con);
         if (false !== $ret) {
             return $ret;
         }
     }
     if ($con === null) {
         $con = Propel::getConnection(self::DATABASE_NAME);
     }
     $selectCriteria = new Criteria(self::DATABASE_NAME);
     if ($values instanceof Criteria) {
         $criteria = clone $values;
         $comparison = $criteria->getComparison(nahoWikiPagePeer::ID);
         $selectCriteria->add(nahoWikiPagePeer::ID, $criteria->remove(nahoWikiPagePeer::ID), $comparison);
     } else {
         $criteria = $values->buildCriteria();
         $selectCriteria = $values->buildPkeyCriteria();
     }
     $criteria->setDbName(self::DATABASE_NAME);
     $ret = BasePeer::doUpdate($selectCriteria, $criteria, $con);
     foreach (sfMixer::getCallables('BasenahoWikiPagePeer:doUpdate:post') as $callable) {
         call_user_func($callable, 'BasenahoWikiPagePeer', $values, $con, $ret);
     }
     return $ret;
 }
 /**
  * Method perform an UPDATE on the database, given a PcBlogComment or Criteria object.
  *
  * @param      mixed $values Criteria or PcBlogComment object containing data that is used to create the UPDATE statement.
  * @param      PropelPDO $con The connection to use (specify PropelPDO connection object to exert more control over transactions).
  * @return     int The number of affected rows (if supported by underlying database driver).
  * @throws     PropelException Any exceptions caught during processing will be
  *		 rethrown wrapped into a PropelException.
  */
 public static function doUpdate($values, PropelPDO $con = null)
 {
     // symfony_behaviors behavior
     foreach (sfMixer::getCallables('BasePcBlogCommentPeer:doUpdate:pre') as $sf_hook) {
         if (false !== ($sf_hook_retval = call_user_func($sf_hook, 'BasePcBlogCommentPeer', $values, $con))) {
             return $sf_hook_retval;
         }
     }
     if ($con === null) {
         $con = Propel::getConnection(PcBlogCommentPeer::DATABASE_NAME, Propel::CONNECTION_WRITE);
     }
     $selectCriteria = new Criteria(self::DATABASE_NAME);
     if ($values instanceof Criteria) {
         $criteria = clone $values;
         // rename for clarity
         $comparison = $criteria->getComparison(PcBlogCommentPeer::ID);
         $selectCriteria->add(PcBlogCommentPeer::ID, $criteria->remove(PcBlogCommentPeer::ID), $comparison);
     } else {
         // $values is PcBlogComment object
         $criteria = $values->buildCriteria();
         // gets full criteria
         $selectCriteria = $values->buildPkeyCriteria();
         // gets criteria w/ primary key(s)
     }
     // set the correct dbName
     $criteria->setDbName(self::DATABASE_NAME);
     $ret = BasePeer::doUpdate($selectCriteria, $criteria, $con);
     // symfony_behaviors behavior
     foreach (sfMixer::getCallables('BasePcBlogCommentPeer:doUpdate:post') as $sf_hook) {
         call_user_func($sf_hook, 'BasePcBlogCommentPeer', $values, $con, $ret);
     }
     return $ret;
 }
 /**
  * Performs an UPDATE on the database, given a Proveedor or Criteria object.
  *
  * @param      mixed $values Criteria or Proveedor object containing data that is used to create the UPDATE statement.
  * @param      PropelPDO $con The connection to use (specify PropelPDO connection object to exert more control over transactions).
  * @return     int The number of affected rows (if supported by underlying database driver).
  * @throws     PropelException Any exceptions caught during processing will be
  *		 rethrown wrapped into a PropelException.
  */
 public static function doUpdate($values, PropelPDO $con = null)
 {
     if ($con === null) {
         $con = Propel::getConnection(ProveedorPeer::DATABASE_NAME, Propel::CONNECTION_WRITE);
     }
     $selectCriteria = new Criteria(self::DATABASE_NAME);
     if ($values instanceof Criteria) {
         $criteria = clone $values;
         // rename for clarity
         $comparison = $criteria->getComparison(ProveedorPeer::IDPROVEEDOR);
         $value = $criteria->remove(ProveedorPeer::IDPROVEEDOR);
         if ($value) {
             $selectCriteria->add(ProveedorPeer::IDPROVEEDOR, $value, $comparison);
         } else {
             $selectCriteria->setPrimaryTableName(ProveedorPeer::TABLE_NAME);
         }
     } else {
         // $values is Proveedor object
         $criteria = $values->buildCriteria();
         // gets full criteria
         $selectCriteria = $values->buildPkeyCriteria();
         // gets criteria w/ primary key(s)
     }
     // set the correct dbName
     $criteria->setDbName(self::DATABASE_NAME);
     return BasePeer::doUpdate($selectCriteria, $criteria, $con);
 }
Example #18
0
 /**
  * Update the row in the database.
  *
  * @param      PropelPDO $con
  *
  * @see        doSave()
  */
 protected function doUpdate(PropelPDO $con)
 {
     $selectCriteria = $this->buildPkeyCriteria();
     $valuesCriteria = $this->buildCriteria();
     BasePeer::doUpdate($selectCriteria, $valuesCriteria, $con);
 }
 protected function update($connection = null)
 {
     if (!isset($connection)) {
         $connection = QubitTransactionFilter::getConnection(QubitOaiHarvest::DATABASE_NAME);
     }
     $offset = 0;
     foreach ($this->tables as $table) {
         $criteria = new Criteria();
         $selectCriteria = new Criteria();
         foreach ($table->getColumns() as $column) {
             if (!array_key_exists($column->getPhpName(), $this->values)) {
                 if ('updatedAt' == $column->getPhpName()) {
                     $this->values['updatedAt'] = new DateTime();
                 }
             }
             if (array_key_exists($column->getPhpName(), $this->values)) {
                 if ('serialNumber' == $column->getPhpName()) {
                     $selectCriteria->add($column->getFullyQualifiedName(), $this->values[$column->getPhpName()]++);
                 }
                 $criteria->add($column->getFullyQualifiedName(), $this->param($column));
             }
             if ($column->isPrimaryKey()) {
                 $selectCriteria->add($column->getFullyQualifiedName(), $this->keys[$column->getPhpName()]);
             }
             $offset++;
         }
         if (0 < $criteria->size()) {
             BasePeer::doUpdate($selectCriteria, $criteria, $connection);
         }
     }
     return $this;
 }
Example #20
0
    /**
     * Create List Completed Table
     *
     * @param type $data
     * @return type
     *
     */
    public function create($data)
    {
        $criteria = new Criteria();
        $criteria->addSelectColumn(ListCompletedPeer::APP_UID);
        $criteria->add( ListCompletedPeer::APP_UID, $data['APP_UID'], Criteria::EQUAL );
        $dataset = ListCompletedPeer::doSelectRS($criteria);
        $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
        if ($dataset->next()) {
            return 1;
        }

        $criteria = new Criteria();
        $criteria->addSelectColumn(ContentPeer::CON_VALUE);
        $criteria->add( ContentPeer::CON_ID, $data['APP_UID'], Criteria::EQUAL );
        $criteria->add( ContentPeer::CON_CATEGORY, 'APP_TITLE', Criteria::EQUAL );
        $criteria->add( ContentPeer::CON_LANG, SYS_LANG, Criteria::EQUAL );
        $dataset = ContentPeer::doSelectRS($criteria);
        $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
        $dataset->next();
        $aRow = $dataset->getRow();
        $data['APP_TITLE'] = $aRow['CON_VALUE'];


        $criteria = new Criteria();
        $criteria->addSelectColumn(ContentPeer::CON_VALUE);
        $criteria->add( ContentPeer::CON_ID, $data['PRO_UID'], Criteria::EQUAL );
        $criteria->add( ContentPeer::CON_CATEGORY, 'PRO_TITLE', Criteria::EQUAL );
        $criteria->add( ContentPeer::CON_LANG, SYS_LANG, Criteria::EQUAL );
        $dataset = ContentPeer::doSelectRS($criteria);
        $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
        $dataset->next();
        $aRow = $dataset->getRow();
        $data['APP_PRO_TITLE'] = $aRow['CON_VALUE'];


        $criteria = new Criteria();
        $criteria->addSelectColumn(ContentPeer::CON_VALUE);
        $criteria->add( ContentPeer::CON_ID, $data['TAS_UID'], Criteria::EQUAL );
        $criteria->add( ContentPeer::CON_CATEGORY, 'TAS_TITLE', Criteria::EQUAL );
        $criteria->add( ContentPeer::CON_LANG, SYS_LANG, Criteria::EQUAL );
        $dataset = ContentPeer::doSelectRS($criteria);
        $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
        $dataset->next();
        $aRow = $dataset->getRow();
        $data['APP_TAS_TITLE'] = $aRow['CON_VALUE'];


        $criteria = new Criteria();
        $criteria->addSelectColumn(UsersPeer::USR_USERNAME);
        $criteria->addSelectColumn(UsersPeer::USR_FIRSTNAME);
        $criteria->addSelectColumn(UsersPeer::USR_LASTNAME);
        $criteria->add( UsersPeer::USR_UID, $data['USR_UID'], Criteria::EQUAL );
        $dataset = UsersPeer::doSelectRS($criteria);
        $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
        $dataset->next();
        $aRow = $dataset->getRow();
        $data['DEL_CURRENT_USR_USERNAME']  = $aRow['USR_USERNAME'];
        $data['DEL_CURRENT_USR_FIRSTNAME'] = $aRow['USR_FIRSTNAME'];
        $data['DEL_CURRENT_USR_LASTNAME']  = $aRow['USR_LASTNAME'];
        $data['DEL_PREVIOUS'] = isset($data['DEL_PREVIOUS']) ? $data['DEL_PREVIOUS'] : "";

        if ($data['DEL_PREVIOUS'] != 0) {
            $criteria = new Criteria();
            $criteria->addSelectColumn(AppDelegationPeer::USR_UID);
            $criteria->add( AppDelegationPeer::DEL_INDEX, $data['DEL_PREVIOUS'], Criteria::EQUAL );
            $dataset = UsersPeer::doSelectRS($criteria);
            $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
            $dataset->next();
            $aRow = $dataset->getRow();
            $data['DEL_PREVIOUS_USR_UID']  = $aRow['USR_UID'];
        }

        //Update - WHERE
        $criteriaWhere = new Criteria("workflow");
        $criteriaWhere->add(ListParticipatedLastPeer::APP_UID, $data["APP_UID"], Criteria::EQUAL);
        //Update - SET
        $criteriaSet = new Criteria("workflow");
        $criteriaSet->add(ListParticipatedLastPeer::APP_STATUS, 'COMPLETED');
        BasePeer::doUpdate($criteriaWhere, $criteriaSet, Propel::getConnection("workflow"));

        $users = new Users();
        $users->refreshTotal($data['USR_UID'], 'add', 'completed');
        if ($data['DEL_PREVIOUS'] != 0) {
            $criteria = new Criteria();
            $criteria->addSelectColumn(TaskPeer::TAS_TYPE);
            $criteria->add( TaskPeer::TAS_UID, $data['TAS_UID'], Criteria::EQUAL );
            $dataset = TaskPeer::doSelectRS($criteria);
            $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
            $dataset->next();
            $aRow = $dataset->getRow();
            if ($aRow['TAS_TYPE'] != 'SUBPROCESS') {
                $users->refreshTotal($data['USR_UID'], 'remove', 'inbox');
            }
        } else {
            $criteria = new Criteria();
            $criteria->addSelectColumn(SubApplicationPeer::APP_UID);
            $criteria->add( SubApplicationPeer::APP_UID, $data['APP_UID'], Criteria::EQUAL );
            $dataset = SubApplicationPeer::doSelectRS($criteria);
            $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
            if ($dataset->next()) {
                $users->refreshTotal($data['USR_UID'], 'remove', 'inbox');
            } else {
                $users->refreshTotal($data['USR_UID'], 'remove', 'draft');
            }
        }

        $con = Propel::getConnection( ListCompletedPeer::DATABASE_NAME );
        try {
            $this->fromArray( $data, BasePeer::TYPE_FIELDNAME );
            if ($this->validate()) {
                $result = $this->save();
            } else {
                $e = new Exception( "Failed Validation in class " . get_class( $this ) . "." );
                $e->aValidationFailures = $this->getValidationFailures();
                throw ($e);
            }
            $con->commit();
            return $result;
        } catch(Exception $e) {
            $con->rollback();
            throw ($e);
        }
    }
Example #21
0
 public static function doUpdate($values, $con = null)
 {
     if ($con === null) {
         $con = Propel::getConnection(self::DATABASE_NAME);
     }
     $selectCriteria = new Criteria(self::DATABASE_NAME);
     if ($values instanceof Criteria) {
         $criteria = clone $values;
         $comparison = $criteria->getComparison(VOpacPeer::CATALOG_ID);
         $selectCriteria->add(VOpacPeer::CATALOG_ID, $criteria->remove(VOpacPeer::CATALOG_ID), $comparison);
         $comparison = $criteria->getComparison(VOpacPeer::DEPARTMENT_ID);
         $selectCriteria->add(VOpacPeer::DEPARTMENT_ID, $criteria->remove(VOpacPeer::DEPARTMENT_ID), $comparison);
         $comparison = $criteria->getComparison(VOpacPeer::CAT_CATEGORY_ID);
         $selectCriteria->add(VOpacPeer::CAT_CATEGORY_ID, $criteria->remove(VOpacPeer::CAT_CATEGORY_ID), $comparison);
         $comparison = $criteria->getComparison(VOpacPeer::COL_STATUS_ID);
         $selectCriteria->add(VOpacPeer::COL_STATUS_ID, $criteria->remove(VOpacPeer::COL_STATUS_ID), $comparison);
         $comparison = $criteria->getComparison(VOpacPeer::COL_LOCATION_ID);
         $selectCriteria->add(VOpacPeer::COL_LOCATION_ID, $criteria->remove(VOpacPeer::COL_LOCATION_ID), $comparison);
     } else {
         $criteria = $values->buildCriteria();
         $selectCriteria = $values->buildPkeyCriteria();
     }
     $criteria->setDbName(self::DATABASE_NAME);
     return BasePeer::doUpdate($selectCriteria, $criteria, $con);
 }
 /**
  * Method perform an UPDATE on the database, given a ExamCommentDig or Criteria object.
  *
  * @param      mixed $values Criteria or ExamCommentDig object containing data that is used to create the UPDATE statement.
  * @param      PropelPDO $con The connection to use (specify PropelPDO connection object to exert more control over transactions).
  * @return     int The number of affected rows (if supported by underlying database driver).
  * @throws     PropelException Any exceptions caught during processing will be
  *		 rethrown wrapped into a PropelException.
  */
 public static function doUpdate($values, PropelPDO $con = null)
 {
     foreach (sfMixer::getCallables('BaseExamCommentDigPeer:doUpdate:pre') as $callable) {
         $ret = call_user_func($callable, 'BaseExamCommentDigPeer', $values, $con);
         if (false !== $ret) {
             return $ret;
         }
     }
     if ($con === null) {
         $con = Propel::getConnection(ExamCommentDigPeer::DATABASE_NAME, Propel::CONNECTION_WRITE);
     }
     $selectCriteria = new Criteria(self::DATABASE_NAME);
     if ($values instanceof Criteria) {
         $criteria = clone $values;
         // rename for clarity
         $comparison = $criteria->getComparison(ExamCommentDigPeer::IP);
         $selectCriteria->add(ExamCommentDigPeer::IP, $criteria->remove(ExamCommentDigPeer::IP), $comparison);
         $comparison = $criteria->getComparison(ExamCommentDigPeer::COMMENT_ID);
         $selectCriteria->add(ExamCommentDigPeer::COMMENT_ID, $criteria->remove(ExamCommentDigPeer::COMMENT_ID), $comparison);
     } else {
         // $values is ExamCommentDig object
         $criteria = $values->buildCriteria();
         // gets full criteria
         $selectCriteria = $values->buildPkeyCriteria();
         // gets criteria w/ primary key(s)
     }
     // set the correct dbName
     $criteria->setDbName(self::DATABASE_NAME);
     $ret = BasePeer::doUpdate($selectCriteria, $criteria, $con);
     foreach (sfMixer::getCallables('BaseExamCommentDigPeer:doUpdate:post') as $callable) {
         call_user_func($callable, 'BaseExamCommentDigPeer', $values, $con, $ret);
     }
     return $ret;
 }
Example #23
0
 public static function postProcessCuePoints($liveEntry, $cuePointsIds = null)
 {
     $select = new Criteria();
     if ($cuePointsIds) {
         $select->add(CuePointPeer::ID, $cuePointsIds, Criteria::IN);
     } else {
         /* @var $liveEntry LiveEntry */
         $select->add(CuePointPeer::ENTRY_ID, $liveEntry->getId());
         $select->add(CuePointPeer::STATUS, CuePointStatus::READY);
         $cuePoints = CuePointPeer::doSelect($select);
         $cuePointsIds = array();
         foreach ($cuePoints as $cuePoint) {
             /* @var $cuePoint CuePoint */
             $cuePointsIds[] = $cuePoint->getId();
         }
     }
     $update = new Criteria();
     $update->add(CuePointPeer::STATUS, CuePointStatus::HANDLED);
     $con = Propel::getConnection(MetadataPeer::DATABASE_NAME);
     BasePeer::doUpdate($select, $update, $con);
     $cuePoints = CuePointPeer::retrieveByPKs($cuePointsIds);
     foreach ($cuePoints as $cuePoint) {
         /* @var $cuePoint CuePoint */
         $cuePoint->indexToSearchIndex();
     }
 }
Example #24
0
 /**
  * This is a method for emulating ON DELETE SET NULL DBs that don't support this
  * feature (like MySQL or SQLite).
  *
  * This method is not very speedy because it must perform a query first to get
  * the implicated records and then perform the deletes by calling those Peer classes.
  *
  * This method should be used within a transaction if possible.
  *
  * @param      Criteria $criteria
  * @param      PropelPDO $con
  * @return     void
  */
 protected static function doOnDeleteSetNull(Criteria $criteria, PropelPDO $con)
 {
     // first find the objects that are implicated by the $criteria
     $objects = UsuarisPeer::doSelect($criteria, $con);
     foreach ($objects as $obj) {
         // set fkey col in related Log rows to NULL
         $selectCriteria = new Criteria(UsuarisPeer::DATABASE_NAME);
         $updateValues = new Criteria(UsuarisPeer::DATABASE_NAME);
         $selectCriteria->add(LogPeer::USUARIID, $obj->getUsuariid());
         $updateValues->add(LogPeer::USUARIID, null);
         BasePeer::doUpdate($selectCriteria, $updateValues, $con);
         // use BasePeer because generated Peer doUpdate() methods only update using pkey
         // set fkey col in related Personal rows to NULL
         $selectCriteria = new Criteria(UsuarisPeer::DATABASE_NAME);
         $updateValues = new Criteria(UsuarisPeer::DATABASE_NAME);
         $selectCriteria->add(PersonalPeer::USUARIUPDATEID, $obj->getUsuariid());
         $updateValues->add(PersonalPeer::USUARIUPDATEID, null);
         BasePeer::doUpdate($selectCriteria, $updateValues, $con);
         // use BasePeer because generated Peer doUpdate() methods only update using pkey
     }
 }
 /**
  * Method perform an UPDATE on the database, given a MetadataProfile or Criteria object.
  *
  * @param      mixed $values Criteria or MetadataProfile object containing data that is used to create the UPDATE statement.
  * @param      PropelPDO $con The connection to use (specify PropelPDO connection object to exert more control over transactions).
  * @return     int The number of affected rows (if supported by underlying database driver).
  * @throws     PropelException Any exceptions caught during processing will be
  *		 rethrown wrapped into a PropelException.
  */
 public static function doUpdate($values, PropelPDO $con = null)
 {
     if ($con === null) {
         $con = Propel::getConnection(MetadataProfilePeer::DATABASE_NAME, Propel::CONNECTION_WRITE);
     }
     $selectCriteria = new Criteria(self::DATABASE_NAME);
     if ($values instanceof Criteria) {
         $criteria = clone $values;
         // rename for clarity
         $comparison = $criteria->getComparison(MetadataProfilePeer::ID);
         $selectCriteria->add(MetadataProfilePeer::ID, $criteria->remove(MetadataProfilePeer::ID), $comparison);
     } else {
         // $values is MetadataProfile object
         $criteria = $values->buildCriteria();
         // gets full criteria
         $selectCriteria = $values->buildPkeyCriteria();
         // gets criteria w/ primary key(s)
     }
     // set the correct dbName
     $criteria->setDbName(self::DATABASE_NAME);
     return BasePeer::doUpdate($selectCriteria, $criteria, $con);
 }
Example #26
0
    /**
     *  Update List Inbox Table
     *
     * @param type $data
     * @return type
     * @throws type
     */
    public function update($data, $isSelfService = false)
    {
        if ($isSelfService) {
            $users = new Users();
            $users->refreshTotal($data['USR_UID'], 'add', 'inbox');

            $listParticipatedLast = new ListParticipatedLast();
            $listParticipatedLast->remove($data['APP_UID'], $data['USR_UID'], $data['DEL_INDEX']);

            //Update - WHERE
            $criteriaWhere = new Criteria("workflow");
            $criteriaWhere->add(ListParticipatedLastPeer::APP_UID, $data["APP_UID"], Criteria::EQUAL);
            $criteriaWhere->add(ListParticipatedLastPeer::USR_UID, 'SELF_SERVICES', Criteria::EQUAL);
            $criteriaWhere->add(ListParticipatedLastPeer::DEL_INDEX, $data["DEL_INDEX"], Criteria::EQUAL);

            //Update - SET
            $criteriaSet = new Criteria("workflow");
            $criteriaSet->add(ListParticipatedLastPeer::USR_UID, $data['USR_UID']);
            BasePeer::doUpdate($criteriaWhere, $criteriaSet, Propel::getConnection("workflow"));

            $listParticipatedLast = new ListParticipatedLast();
            $listParticipatedLast->refresh($data);
            $users = new Users();
            $users->refreshTotal($data['USR_UID'], 'add', 'participated');
        }
        $con = Propel::getConnection( ListInboxPeer::DATABASE_NAME );
        try {
            $con->begin();
            $this->setNew( false );
            $this->fromArray( $data, BasePeer::TYPE_FIELDNAME );
            if ($this->validate()) {
                $result = $this->save();
                $con->commit();

                // update participated history
                $listParticipatedHistory = new ListParticipatedHistory();
                $listParticipatedHistory->update($data);
                return $result;
            } else {
                $con->rollback();
                throw (new Exception( "Failed Validation in class " . get_class( $this ) . "." ));
            }
        } catch (Exception $e) {
            $con->rollback();
            throw ($e);
        }
    }
 /**
  * Method perform an UPDATE on the database, given a BpmnProject or Criteria object.
  *
  * @param      mixed $values Criteria or BpmnProject object containing data create the UPDATE statement.
  * @param      Connection $con The connection to use (specify Connection exert more control over transactions).
  * @return     int The number of affected rows (if supported by underlying database driver).
  * @throws     PropelException Any exceptions caught during processing will be
  *       rethrown wrapped into a PropelException.
  */
 public static function doUpdate($values, $con = null)
 {
     if ($con === null) {
         $con = Propel::getConnection(self::DATABASE_NAME);
     }
     $selectCriteria = new Criteria(self::DATABASE_NAME);
     if ($values instanceof Criteria) {
         $criteria = clone $values;
         // rename for clarity
         $comparison = $criteria->getComparison(BpmnProjectPeer::PRJ_UID);
         $selectCriteria->add(BpmnProjectPeer::PRJ_UID, $criteria->remove(BpmnProjectPeer::PRJ_UID), $comparison);
     } else {
         $criteria = $values->buildCriteria();
         // gets full criteria
         $selectCriteria = $values->buildPkeyCriteria();
         // gets criteria w/ primary key(s)
     }
     // set the correct dbName
     $criteria->setDbName(self::DATABASE_NAME);
     return BasePeer::doUpdate($selectCriteria, $criteria, $con);
 }
 $response = $oPmLicenseManager->installLicense($dir . $aInfoLoadFile["name"]);
 ///////
 //This command also find the following file "AddonsStore.php"
 $licenseManager =& pmLicenseManager::getSingleton();
 preg_match("/^license_(.*).dat\$/", $licenseManager->file, $matches);
 $realId = urlencode($matches[1]);
 $workspace = isset($licenseManager->workspace) ? $licenseManager->workspace : 'pmLicenseSrv';
 $addonLocation = "http://{$licenseManager->server}/sys" . $workspace . "/en/green/services/addonsStore?action=getInfo&licId={$realId}";
 ///////
 $cnn = Propel::getConnection("workflow");
 $oCriteriaSelect = new Criteria("workflow");
 $oCriteriaSelect->add(AddonsStorePeer::STORE_ID, $licenseManager->id);
 $oCriteriaUpdate = new Criteria("workflow");
 $oCriteriaUpdate->add(AddonsStorePeer::STORE_ID, $licenseManager->id);
 $oCriteriaUpdate->add(AddonsStorePeer::STORE_LOCATION, $addonLocation);
 BasePeer::doUpdate($oCriteriaSelect, $oCriteriaUpdate, $cnn);
 ///////
 //$licenseManager = &pmLicenseManager::getSingleton();
 //plugin.singleton //are all the plugins that are enabled in the SYS_SYS
 $pluginRegistry =& PMPluginRegistry::getSingleton();
 $arrayAddon = array();
 //ee //all plugins enterprise installed in /processmaker/workflow/engine/plugins (no matter if they are enabled/disabled)
 if (file_exists(PATH_DATA_SITE . "ee")) {
     $arrayAddon = unserialize(trim(file_get_contents(PATH_DATA_SITE . "ee")));
 }
 foreach ($arrayAddon as $addon) {
     $sFileName = substr($addon["sFilename"], 0, strpos($addon["sFilename"], "-"));
     if (file_exists(PATH_PLUGINS . $sFileName . ".php")) {
         $addonDetails = $pluginRegistry->getPluginDetails($sFileName . ".php");
         $enabled = 0;
         if ($addonDetails) {
 public static function doUpdate($values, $con = null)
 {
     if ($con === null) {
         $con = Propel::getConnection(self::DATABASE_NAME);
     }
     $selectCriteria = new Criteria(self::DATABASE_NAME);
     if ($values instanceof Criteria) {
         $criteria = clone $values;
         $comparison = $criteria->getComparison(LorfieldsPeer::ID);
         $selectCriteria->add(LorfieldsPeer::ID, $criteria->remove(LorfieldsPeer::ID), $comparison);
     } else {
         $criteria = $values->buildCriteria();
         $selectCriteria = $values->buildPkeyCriteria();
     }
     $criteria->setDbName(self::DATABASE_NAME);
     return BasePeer::doUpdate($selectCriteria, $criteria, $con);
 }
Example #30
0
 /**
  * Issue an UPDATE query based the current ModelCriteria and a list of changes.
  * This method is called by ModelCriteria::update() inside a transaction.
  *
  * @param      array $values Associative array of keys and values to replace
  * @param      PropelPDO $con a connection object
  * @param      boolean $forceIndividualSaves If false (default), the resulting call is a BasePeer::doUpdate(), ortherwise it is a series of save() calls on all the found objects
  *
  * @return     Integer Number of updated rows
  */
 public function doUpdate($values, $con, $forceIndividualSaves = false)
 {
     if ($forceIndividualSaves) {
         // Update rows one by one
         $objects = $this->setFormatter(ModelCriteria::FORMAT_OBJECT)->find($con);
         foreach ($objects as $object) {
             foreach ($values as $key => $value) {
                 $object->setByName($key, $value);
             }
         }
         $objects->save($con);
         $affectedRows = count($objects);
     } else {
         // update rows in a single query
         $set = new Criteria($this->getDbName());
         foreach ($values as $columnName => $value) {
             $realColumnName = $this->getTableMap()->getColumnByPhpName($columnName)->getFullyQualifiedName();
             $set->add($realColumnName, $value);
         }
         $affectedRows = BasePeer::doUpdate($this, $set, $con);
         call_user_func(array($this->modelPeerName, 'clearInstancePool'));
         call_user_func(array($this->modelPeerName, 'clearRelatedInstancePool'));
     }
     return $affectedRows;
 }