本文整理汇总了PHP中ca_objects::update方法的典型用法代码示例。如果您正苦于以下问题:PHP ca_objects::update方法的具体用法?PHP ca_objects::update怎么用?PHP ca_objects::update使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ca_objects
的用法示例。
在下文中一共展示了ca_objects::update方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: renumberObjects
/**
*
*
* @return boolean
*/
public function renumberObjects($po_application_plugin_manager = null)
{
if (!$this->getPrimaryKey()) {
return false;
}
if ($va_non_conforming_objects = $this->getObjectsWithNonConformingIdnos()) {
$va_objects = $this->getObjects();
$vs_lot_num = $this->get('idno_stub');
$t_object = new ca_objects();
$vb_web_set_transaction = false;
if (!$this->inTransaction()) {
$o_trans = new Transaction($this->getDb());
$vb_web_set_transaction = true;
} else {
$o_trans = $this->getTransaction();
}
$t_object->setTransaction($o_trans);
$t_idno = $t_object->getIDNoPlugInInstance();
$vs_separator = $t_idno->getSeparator();
$vn_i = 1;
foreach ($va_objects as $vn_object_id => $va_object_info) {
if ($t_object->load($vn_object_id)) {
if ($po_application_plugin_manager) {
$po_application_plugin_manager->hookBeforeSaveItem(array('id' => $vn_object_id, 'table_num' => $t_object->tableNum(), 'table_name' => $t_object->tableName(), 'instance' => $t_object));
}
$t_object->setMode(ACCESS_WRITE);
$t_object->set('idno', $vs_lot_num . $vs_separator . $vn_i);
$t_object->update();
if ($t_object->numErrors()) {
$t->rollback();
$this->errors = $t_object->errors;
return false;
}
if ($po_application_plugin_manager) {
$po_application_plugin_manager->hookSaveItem(array('id' => $vn_object_id, 'table_num' => $t_object->tableNum(), 'table_name' => $t_object->tableName(), 'instance' => $t_object));
}
$vn_i++;
}
}
if ($vb_web_set_transaction) {
$o_trans->commit();
}
}
return true;
}
示例2: getObjectID
//.........这里部分代码省略.........
$vn_id = ca_objects::find($va_find_arr, array('returnAs' => 'firstId', 'transaction' => $pa_options['transaction']));
}
}
if (!$vn_id) {
if (isset($pa_options['dontCreate']) && $pa_options['dontCreate']) {
return false;
}
if ($o_event) {
$o_event->beginItem($vs_event_source, 'ca_objects', 'I');
}
$t_object->setMode(ACCESS_WRITE);
$t_object->set('locale_id', $pn_locale_id);
$t_object->set('type_id', $pn_type_id);
$t_object->set('parent_id', $pn_parent_id);
$t_object->set('source_id', isset($pa_values['source_id']) ? $pa_values['source_id'] : null);
$t_object->set('access', isset($pa_values['access']) ? $pa_values['access'] : 0);
$t_object->set('status', isset($pa_values['status']) ? $pa_values['status'] : 0);
$t_object->set('idno', $vs_idno);
$t_object->set('hier_object_id', isset($pa_values['hier_object_id']) ? $pa_values['hier_object_id'] : null);
$t_object->insert();
if ($t_object->numErrors()) {
if (isset($pa_options['outputErrors']) && $pa_options['outputErrors']) {
print "[Error] " . _t("Could not insert object %1: %2", $ps_object_name, join('; ', $t_object->getErrors())) . "\n";
}
if ($o_log) {
$o_log->logError(_t("Could not insert object %1: %2", $ps_object_name, join('; ', $t_object->getErrors())));
}
return null;
}
$vb_label_errors = false;
$t_object->addLabel(array('name' => $ps_object_name), $pn_locale_id, null, true);
if ($t_object->numErrors()) {
if (isset($pa_options['outputErrors']) && $pa_options['outputErrors']) {
print "[Error] " . _t("Could not set preferred label for object %1: %2", $ps_object_name, join('; ', $t_object->getErrors())) . "\n";
}
if ($o_log) {
$o_log->logError(_t("Could not set preferred label for object %1: %2", $ps_object_name, join('; ', $t_object->getErrors())));
}
$vb_label_errors = true;
}
unset($pa_values['access']);
unset($pa_values['status']);
unset($pa_values['idno']);
unset($pa_values['source_id']);
unset($pa_values['hier_object_id']);
$vb_attr_errors = false;
if (is_array($pa_values)) {
foreach ($pa_values as $vs_element => $va_value) {
if (is_array($va_value)) {
// array of values (complex multi-valued attribute)
$t_object->addAttribute(array_merge($va_value, array('locale_id' => $pn_locale_id)), $vs_element);
} else {
// scalar value (simple single value attribute)
if ($va_value) {
$t_object->addAttribute(array('locale_id' => $pn_locale_id, $vs_element => $va_value), $vs_element);
}
}
}
}
$t_object->update();
if ($t_object->numErrors()) {
if (isset($pa_options['outputErrors']) && $pa_options['outputErrors']) {
print "[Error] " . _t("Could not set values for object %1: %2", $ps_object_name, join('; ', $t_object->getErrors())) . "\n";
}
if ($o_log) {
$o_log->logError(_t("Could not set values for object %1: %2", $ps_object_name, join('; ', $t_object->getErrors())));
}
$vb_attr_errors = true;
}
$vn_object_id = $t_object->getPrimaryKey();
if ($o_event) {
if ($vb_attr_errors || $vb_label_errors) {
$o_event->endItem($vn_object_id, __CA_DATA_IMPORT_ITEM_PARTIAL_SUCCESS__, _t("Errors setting field values: %1", join('; ', $t_object->getErrors())));
} else {
$o_event->endItem($vn_object_id, __CA_DATA_IMPORT_ITEM_SUCCESS__, '');
}
}
if ($o_log) {
$o_log->logInfo(_t("Created new object %1", $ps_object_name));
}
if (isset($pa_options['returnInstance']) && $pa_options['returnInstance']) {
return $t_object;
}
} else {
if ($o_event) {
$o_event->beginItem($vs_event_source, 'ca_objects', 'U');
}
$vn_object_id = $vn_id;
if ($o_event) {
$o_event->endItem($vn_object_id, __CA_DATA_IMPORT_ITEM_SUCCESS__, '');
}
if ($o_log) {
$o_log->logDebug(_t("Found existing object %1 in DataMigrationUtils::getObjectID(); total of %2 objects were found", $ps_collection_name, sizeof($va_object_ids) + 1));
}
if (isset($pa_options['returnInstance']) && $pa_options['returnInstance']) {
return new ca_objects($vn_object_id);
}
}
return $vn_object_id;
}
示例3: commandImportSIPs
//.........这里部分代码省略.........
// Create parent record
$vn_image_count = 0;
$o_progress->next(_t('Processing %1', $vs_archive_file));
$o_progress->setMessage(_t("Creating reel for %1", $vs_idno));
$va_ids = ca_objects::find(array('idno' => $vs_idno, 'deleted' => 0, 'type_id' => 'reel'), array('returnAs' => 'ids'));
if (!is_array($va_ids) || !sizeof($va_ids)) {
$t_object = new ca_objects();
$t_object->setMode(ACCESS_WRITE);
$t_object->set(array('status' => 5, 'type_id' => 'reel', 'idno' => $vs_idno));
$vn_object_id = $t_object->insert();
if ($t_object->numErrors()) {
if ($o_log) {
$o_log->logError(_t("Could not add reel record %1: %2", $vs_idno, join("; ", $t_object->getErrors())));
}
}
$t_object->addLabel(array('name' => $vs_idno_padded), $pn_locale_id, null, true);
if ($t_object->numErrors()) {
if ($o_log) {
$o_log->logError(_t("Could not add label to reel record %1: %2", $vs_idno, join("; ", $t_object->getErrors())));
}
}
if ($t_object->numErrors()) {
if ($o_log) {
$o_log->logError(_t("Could not add artifct media %1 to reel %2: %3", pathinfo($vs_artifact, PATHINFO_BASENAME), $vs_idno, join("; ", $t_object->getErrors())));
}
}
} else {
if ($o_log) {
$o_log->logDebug(_t("Found existing reel record %1 for %2", $va_ids[0], $vs_idno));
}
$t_object = new ca_objects($vn_object_id = $va_ids[0]);
$t_object->setMode(ACCESS_WRITE);
$t_object->set('status', 5);
$t_object->update();
if (($vn_image_count = $t_object->numberOfRepresentationsOfClass("image")) > 0) {
// skip reels that have images already
//if ($o_log) { $o_log->logDebug(_t("Skipped existing reel record %1 because it already has %2 images", $vs_idno, $vn_image_count)); }
//if ($o_progress) { $o_progress->setError(_t("Skipped existing reel record %1 because it already has %2 images", $vs_idno, $vn_image_count)); }
//continue;
}
$t_object->setMode(ACCESS_WRITE);
}
//print "[7] ".$t->getTime(4)."\n";
if ($vn_image_count > 0) {
$t_object->removeAllRepresentations();
if ($t_object->numErrors()) {
if ($o_log) {
$o_log->logError(_t("Could not add remove existing media from reel %1: %2", $vs_idno, join("; ", $t_object->getErrors())));
}
}
}
$o_progress->setMessage(_t("Linking artifact images for %1", $vs_idno));
foreach ($va_artifacts as $vs_artifact) {
$o_progress->next(_t('Processing artifact image %1', $vs_artifact));
copy($vs_artifact, $vs_tmp_filepath = "/tmp/pbc" . md5(time()));
$t_object->addRepresentation($vs_tmp_filepath, 'front', $pn_locale_id, 0, 1, 1);
$o_progress->setMessage(_t("Added artifact image %1 for %2", $vs_artifact, $vs_idno));
if ($t_object->numErrors()) {
if ($o_log) {
$o_log->logError(_t("Could not add artifact media %1 to reel %2: %3", pathinfo($vs_artifact, PATHINFO_BASENAME), $vs_idno, join("; ", $t_object->getErrors())));
}
}
// remove tmp file
@unlink($vs_tmp_filepath);
}
//
示例4: getObjectID
//.........这里部分代码省略.........
$t_object->set('hier_object_id', isset($pa_values['hier_object_id']) ? $pa_values['hier_object_id'] : null);
$t_object->insert();
if ($t_object->numErrors()) {
if (isset($pa_options['outputErrors']) && $pa_options['outputErrors']) {
print "[Error] " . _t("Could not insert object %1: %2", $ps_object_name, join('; ', $t_object->getErrors())) . "\n";
}
if ($o_log) {
$o_log->logError(_t("Could not insert object %1: %2", $ps_object_name, join('; ', $t_object->getErrors())));
}
return null;
}
$vb_label_errors = false;
$t_object->addLabel(array('name' => $ps_object_name), $pn_locale_id, null, true);
if ($t_object->numErrors()) {
if (isset($pa_options['outputErrors']) && $pa_options['outputErrors']) {
print "[Error] " . _t("Could not set preferred label for object %1: %2", $ps_object_name, join('; ', $t_object->getErrors())) . "\n";
}
if ($o_log) {
$o_log->logError(_t("Could not set preferred label for object %1: %2", $ps_object_name, join('; ', $t_object->getErrors())));
}
$vb_label_errors = true;
}
/** @var IIDNumbering $o_idno */
if ($o_idno = $t_object->getIDNoPlugInInstance()) {
$va_values = $o_idno->htmlFormValuesAsArray('idno', $vs_idno);
if (!is_array($va_values)) {
$va_values = array($va_values);
}
if (!($vs_sep = $o_idno->getSeparator())) {
$vs_sep = '';
}
if (($vs_proc_idno = join($vs_sep, $va_values)) && $vs_proc_idno != $vs_idno) {
$t_object->set('idno', $vs_proc_idno);
$t_object->update();
if ($t_object->numErrors()) {
if (isset($pa_options['outputErrors']) && $pa_options['outputErrors']) {
print "[Error] " . _t("Could not update idno for %1: %2", $ps_object_name, join('; ', $t_object->getErrors())) . "\n";
}
if ($o_log) {
$o_log->logError(_t("Could not object idno for %1: %2", $ps_object_name, join('; ', $t_object->getErrors())));
}
return null;
}
}
}
unset($pa_values['access']);
unset($pa_values['status']);
unset($pa_values['idno']);
unset($pa_values['source_id']);
unset($pa_values['hier_object_id']);
$vb_attr_errors = false;
if (is_array($pa_values)) {
foreach ($pa_values as $vs_element => $va_values) {
if (!caIsIndexedArray($va_values)) {
$va_values = array($va_values);
}
foreach ($va_values as $va_value) {
if (is_array($va_value)) {
// array of values (complex multi-valued attribute)
$t_object->addAttribute(array_merge($va_value, array('locale_id' => $pn_locale_id)), $vs_element);
} else {
// scalar value (simple single value attribute)
if ($va_value) {
$t_object->addAttribute(array('locale_id' => $pn_locale_id, $vs_element => $va_value), $vs_element);
}
}
示例5: reserve
/**
*
*/
public function reserve($pn_object_id, $pn_user_id, $ps_note, $pa_options = null)
{
global $g_ui_locale_id;
$vb_we_set_transaction = false;
if ($this->inTransaction()) {
$o_trans = $this->getTransaction();
} else {
$vb_we_set_transaction = true;
$this->setTransaction($o_trans = new Transaction());
}
$o_request = caGetOption('request', $pa_options, null);
$t_object = new ca_objects($pn_object_id);
$t_object->setTransaction($o_trans);
if (!$t_object->getPrimaryKey()) {
return null;
}
if ($o_request && !$t_object->isReadable($o_request)) {
return null;
}
// is object out?
if ($t_object->getCheckoutStatus() === __CA_OBJECTS_CHECKOUT_STATUS_AVAILABLE__) {
throw new Exception(_t('Item is not out'));
}
$va_reservations = $this->objectHasReservations($pn_object_id);
// is object already reserved by this user?
if (is_array($va_reservations)) {
foreach ($va_reservations as $va_reservation) {
if ($va_reservation['user_id'] == $pn_user_id) {
throw new Exception(_t('Item is already reserved by this user'));
}
}
}
$vs_uuid = $this->getTransactionUUID();
$va_checkout_config = ca_object_checkouts::getObjectCheckoutConfigForType($t_object->getTypeCode());
$this->setMode(ACCESS_WRITE);
$this->set(array('group_uuid' => $vs_uuid, 'object_id' => $pn_object_id, 'user_id' => $pn_user_id, 'checkout_notes' => $ps_notes));
// Do we need to set values?
if (is_array($va_checkout_config['set_values']) && sizeof($va_checkout_config['set_values'])) {
$t_object->setMode(ACCESS_WRITE);
foreach ($va_checkout_config['set_values'] as $vs_attr => $va_attr_values_by_event) {
if (!is_array($va_attr_values_by_event['reserve'])) {
if ($t_object->hasField($vs_attr)) {
// Intrinsic
$t_object->set($vs_attr, $va_attr_values_by_event['reserve']);
}
} else {
$va_attr_values['locale_id'] = $g_ui_locale_id;
$t_object->replaceAttribute($va_attr_values_by_event['reserve'], $vs_attr);
}
$t_object->update();
if ($t_object->numErrors()) {
$this->errors = $t_object->errors;
if ($vb_we_set_transaction) {
$o_trans->rollback();
}
return false;
}
}
}
$vn_rc = $this->insert();
if ($vb_we_set_transaction) {
$vn_rc ? $o_trans->commit() : $o_trans->rollback();
}
return $vn_rc;
}