/** * Update out_org_id * * @param Doctrine_Record $rec * @param array $data */ protected function air_update($rec, $data) { // check perms if (!$rec->user_may_write($this->user)) { throw new Rframe_Exception(Rframe::BAD_DATA, "You do not have permission to update this PINfluence."); return; } // unset bulk_op vars $this->bulk_op = null; $this->bulk_rs = null; if (isset($data['org_uuid']) && $data['org_uuid']) { $o = AIR2_Record::find('Organization', $data['org_uuid']); if (!$o) { throw new Rframe_Exception(Rframe::BAD_DATA, 'Invalid org_uuid'); } $rec->out_org_id = $o->org_id; $rec->Organization = $o; } $bulk_op = ''; foreach ($this->BULK_OPS as $op) { if (isset($data[$op])) { $bulk_op = $op; break; } } if ($bulk_op) { // sanity if (count($data) > 1) { throw new Rframe_Exception(Rframe::BAD_DATA, "Bulk operation " . "{$bulk_op} cannot run with any other updates!"); } $this->run_bulk($rec, $bulk_op, $data[$bulk_op]); // touch timestamp, since bulk ops usually don't $rec->out_upd_user = $this->user->user_id; $rec->out_upd_dtim = air2_date(); } }