本文整理汇总了PHP中ca_sets::getPrimaryKey方法的典型用法代码示例。如果您正苦于以下问题:PHP ca_sets::getPrimaryKey方法的具体用法?PHP ca_sets::getPrimaryKey怎么用?PHP ca_sets::getPrimaryKey使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ca_sets
的用法示例。
在下文中一共展示了ca_sets::getPrimaryKey方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: setUp
public function setUp()
{
$t_list = new ca_lists();
// add a minimal object for testing
$va_object_types = $t_list->getItemsForList('object_types', array('idsOnly' => true, 'enabledOnly' => true));
$t_object = new ca_objects();
$t_object->setMode(ACCESS_WRITE);
$t_object->set('type_id', array_shift($va_object_types));
$t_object->insert();
$this->opn_object_id = $t_object->getPrimaryKey();
$this->assertGreaterThan(0, $this->opn_object_id, 'Object should have a primary key after insert');
// add minimal set
$va_set_types = $t_list->getItemsForList('set_types', array('idsOnly' => true, 'enabledOnly' => true));
$t_set = new ca_sets();
$t_set->setMode(ACCESS_WRITE);
$t_set->set('type_id', array_shift($va_set_types));
$t_set->set('table_num', $t_object->tableNum());
$t_set->insert();
$this->opn_set_id = $t_set->getPrimaryKey();
$this->assertGreaterThan(0, $this->opn_set_id, 'Set should have a primary key after insert');
}
示例2: insert
/**
*
*/
public function insert($pa_options = null)
{
$t_trans = new ca_commerce_transactions($this->get('transaction_id'));
if ($t_trans->getPrimaryKey()) {
if ($vn_set_id = $t_trans->get('set_id')) {
$t_set = new ca_sets($vn_set_id);
if ($t_set->getPrimaryKey()) {
$va_row_ids = $t_set->getItemRowIDs();
$this->set('set_snapshot', array('table_num' => $t_set->get('table_num'), 'set_id' => $vn_set_id, 'datetime' => time(), 'items' => $va_row_ids));
}
}
return parent::insert($pa_options);
} else {
$this->postError(1500, _t('Transaction does not exist'), 'ca_commerce_communications->insert()');
return false;
}
}
示例3: getSetXML
public function getSetXML()
{
$pn_set_id = $this->request->getParameter('set_id', pInteger);
$t_set = new ca_sets($pn_set_id);
if (!$t_set->getPrimaryKey()) {
$this->notification->addNotification(_t("The collection does not exist"), __NOTIFICATION_TYPE_ERROR__);
$this->Edit();
return;
}
if (!$t_set->haveAccessToSet($this->request->getUserID(), __CA_SET_READ_ACCESS__)) {
$this->notification->addNotification(_t("You cannot view this collection"), __NOTIFICATION_TYPE_INFO__);
$this->response->setRedirect(caNavUrl($this->request, '', 'LoginReg', 'form'));
return;
}
if ($this->request->config->get("dont_enforce_access_settings")) {
$va_access_values = array();
} else {
$va_access_values = caGetUserAccessValues($this->request);
}
$this->view->setVar('set_id', $pn_set_id);
$this->view->setVar('t_set', $t_set);
$this->view->setVar('items', caExtractValuesByUserLocale($t_set->getItems(array('thumbnailVersion' => 'large', 'checkAccess' => $va_access_values, 'user_id' => $this->request->getUserID()))));
$this->render('Sets/xml_set_items.php');
}
示例4: _getSet
/**
* Uses _getSetID() to figure out the ID of the current set, then returns a ca_sets object for it
* and also sets the 'current_set_id' user variable
*/
private function _getSet($vs_access_level = __CA_SET_EDIT_ACCESS__)
{
$t_set = new ca_sets();
$vn_set_id = $this->_getSetID();
if ($vn_set_id) {
$t_set->load($vn_set_id);
if ($t_set->getPrimaryKey() && $t_set->haveAccessToSet($this->request->getUserID(), $vs_access_level)) {
$this->request->user->setVar('current_set_id', $vn_set_id);
# --- pass the access level the user has to the set - needed to display the proper controls in views
$vb_write_access = false;
if ($t_set->haveAccessToSet($this->request->getUserID(), __CA_SET_EDIT_ACCESS__)) {
$vb_write_access = true;
}
$this->view->setVar("write_access", $vb_write_access);
return $t_set;
}
}
return null;
}
示例5: info
/**
* Sets up view variables for upper-left-hand info panel (aka. "inspector"). Actual rendering is performed by calling sub-class.
*
* @param array $pa_parameters Array of parameters as specified in navigation.conf, including primary key value and type_id
*/
public function info($pa_parameters)
{
$vn_set_id = $this->request->getParameter('set_id', pInteger);
$o_dm = Datamodel::load();
$t_set = new ca_sets($vn_set_id);
if (!$t_set->getPrimaryKey()) {
die("Invalid set");
}
// Does user have access to set?
if (!$t_set->haveAccessToSet($this->request->getUserID(), __CA_SET_READ_ACCESS__)) {
die("You don't have access to the set");
}
$t_item = $o_dm->getInstanceByTableNum($t_set->get('table_num'), true);
$this->view->setVar('t_set', $t_set);
$this->view->setVar('t_item', $t_item);
$this->view->setVar('screen', $this->request->getActionExtra());
// name of screen
$this->view->setVar('result_context', $this->getResultContext());
return $this->render('editor/widget_batch_info_html.php', true);
}
示例6: importMediaFromDirectory
/**
* @param array $pa_options
* progressCallback =
* reportCallback =
* sendMail =
*/
public static function importMediaFromDirectory($po_request, $pa_options = null)
{
global $g_ui_locale_id;
$t_object = new ca_objects();
$o_eventlog = new Eventlog();
$t_set = new ca_sets();
$va_notices = $va_errors = array();
$vb_we_set_transaction = false;
$o_trans = isset($pa_options['transaction']) && $pa_options['transaction'] ? $pa_options['transaction'] : null;
if (!$o_trans) {
$vb_we_set_transaction = true;
$o_trans = new Transaction();
}
$o_log = new Batchlog(array('user_id' => $po_request->getUserID(), 'batch_type' => 'MI', 'table_num' => (int) $t_object->tableNum(), 'notes' => '', 'transaction' => $o_trans));
if (!is_dir($pa_options['importFromDirectory'])) {
$o_eventlog->log(array("CODE" => 'ERR', "SOURCE" => "mediaImport", "MESSAGE" => "Specified import directory is invalid"));
return null;
}
$vs_batch_media_import_root_directory = $po_request->config->get('batch_media_import_root_directory');
if (!preg_match("!^{$vs_batch_media_import_root_directory}!", $pa_options['importFromDirectory'])) {
$o_eventlog->log(array("CODE" => 'ERR', "SOURCE" => "mediaImport", "MESSAGE" => "Specified import directory is invalid"));
return null;
}
if (preg_match("!/\\.\\.!", $vs_directory) || preg_match("!\\.\\./!", $pa_options['importFromDirectory'])) {
$o_eventlog->log(array("CODE" => 'ERR', "SOURCE" => "mediaImport", "MESSAGE" => "Specified import directory is invalid"));
return null;
}
$vb_include_subdirectories = (bool) $pa_options['includeSubDirectories'];
$vb_delete_media_on_import = (bool) $pa_options['deleteMediaOnImport'];
$vs_import_mode = $pa_options['importMode'];
$vs_match_mode = $pa_options['matchMode'];
$vn_object_type_id = $pa_options['ca_objects_type_id'];
$vn_rep_type_id = $pa_options['ca_object_representations_type_id'];
$vn_object_access = $pa_options['ca_objects_access'];
$vn_object_representation_access = $pa_options['ca_object_representations_access'];
$vn_object_status = $pa_options['ca_objects_status'];
$vn_object_representation_status = $pa_options['ca_object_representations_status'];
$vs_idno_mode = $pa_options['idnoMode'];
$vs_idno = $pa_options['idno'];
$vs_set_mode = $pa_options['setMode'];
$vs_set_create_name = $pa_options['setCreateName'];
$vn_set_id = $pa_options['set_id'];
$vn_locale_id = $pa_options['locale_id'];
$vs_skip_file_list = $pa_options['skipFileList'];
$va_relationship_type_id_for = array();
if (is_array($va_create_relationship_for = $pa_options['create_relationship_for'])) {
foreach ($va_create_relationship_for as $vs_rel_table) {
$va_relationship_type_id_for[$vs_rel_table] = $pa_options['relationship_type_id_for_' . $vs_rel_table];
}
}
if (!$vn_locale_id) {
$vn_locale_id = $g_ui_locale_id;
}
$va_files_to_process = caGetDirectoryContentsAsList($pa_options['importFromDirectory'], $vb_include_subdirectories);
if ($vs_set_mode == 'add') {
$t_set->load($vn_set_id);
} else {
if ($vs_set_mode == 'create' && $vs_set_create_name) {
$va_set_ids = $t_set->getSets(array('user_id' => $po_request->getUserID(), 'table' => 'ca_objects', 'access' => __CA_SET_EDIT_ACCESS__, 'setIDsOnly' => true, 'name' => $vs_set_create_name));
$vn_set_id = null;
if (is_array($va_set_ids) && sizeof($va_set_ids) > 0) {
$vn_possible_set_id = array_shift($va_set_ids);
if ($t_set->load($vn_possible_set_id)) {
$vn_set_id = $t_set->getPrimaryKey();
}
} else {
$vs_set_code = mb_substr(preg_replace("![^A-Za-z0-9_\\-]+!", "_", $vs_set_create_name), 0, 100);
if ($t_set->load(array('set_code' => $vs_set_code))) {
$vn_set_id = $t_set->getPrimaryKey();
}
}
if (!$t_set->getPrimaryKey()) {
$t_set->setMode(ACCESS_WRITE);
$t_set->set('user_id', $po_request->getUserID());
$t_set->set('type_id', $po_request->config->get('ca_sets_default_type'));
$t_set->set('table_num', $t_object->tableNum());
$t_set->set('set_code', $vs_set_code);
$t_set->insert();
if ($t_set->numErrors()) {
$va_notices['create_set'] = array('idno' => '', 'label' => _t('Create set %1', $vs_set_create_name), 'message' => _t('Failed to create set %1: %2', $vs_set_create_name, join("; ", $t_set->getErrors())), 'status' => 'SET ERROR');
} else {
$t_set->addLabel(array('name' => $vs_set_create_name), $vn_locale_id, null, true);
if ($t_set->numErrors()) {
$va_notices['add_set_label'] = array('idno' => '', 'label' => _t('Add label to set %1', $vs_set_create_name), 'message' => _t('Failed to add label to set: %1', join("; ", $t_set->getErrors())), 'status' => 'SET ERROR');
}
$vn_set_id = $t_set->getPrimaryKey();
}
}
} else {
$vn_set_id = null;
// no set
}
}
if ($t_set->getPrimaryKey() && !$t_set->haveAccessToSet($po_request->getUserID(), __CA_SET_EDIT_ACCESS__)) {
//.........这里部分代码省略.........
示例7: getSetMedia
/**
* Download (accessible) media for all records in this set
*/
public function getSetMedia()
{
set_time_limit(600);
// allow a lot of time for this because the sets can be potentially large
$o_dm = Datamodel::load();
$t_set = new ca_sets($this->request->getParameter('set_id', pInteger));
if (!$t_set->getPrimaryKey()) {
$this->notification->addNotification(_t('No set defined'), __NOTIFICATION_TYPE_ERROR__);
$this->opo_response->setRedirect(caEditorUrl($this->opo_request, 'ca_sets', $t_set->getPrimaryKey()));
return false;
}
$va_record_ids = array_keys($t_set->getItemRowIDs(array('limit' => 100000)));
if (!is_array($va_record_ids) || !sizeof($va_record_ids)) {
$this->notification->addNotification(_t('No media is available for download'), __NOTIFICATION_TYPE_ERROR__);
$this->opo_response->setRedirect(caEditorUrl($this->opo_request, 'ca_sets', $t_set->getPrimaryKey()));
return false;
}
$vs_subject_table = $o_dm->getTableName($t_set->get('table_num'));
$t_instance = $o_dm->getInstanceByTableName($vs_subject_table);
$qr_res = $vs_subject_table::createResultSet($va_record_ids);
$qr_res->filterNonPrimaryRepresentations(false);
$va_paths = array();
while ($qr_res->nextHit()) {
$va_original_paths = $qr_res->getMediaPaths('ca_object_representations.media', 'original');
if (sizeof($va_original_paths) > 0) {
$va_paths[$qr_res->get($t_instance->primaryKey())] = array('idno' => $qr_res->get($t_instance->getProperty('ID_NUMBERING_ID_FIELD')), 'paths' => $va_original_paths);
}
}
if (sizeof($va_paths) > 0) {
$vs_tmp_name = caGetTempFileName('DownloadSetMedia', 'zip');
$o_phar = new PharData($vs_tmp_name, null, null, Phar::ZIP);
foreach ($va_paths as $vn_pk => $va_path_info) {
$vn_c = 1;
foreach ($va_path_info['paths'] as $vs_path) {
if (!file_exists($vs_path)) {
continue;
}
$vs_filename = $va_path_info['idno'] ? $va_path_info['idno'] : $vn_pk;
$vs_filename .= "_{$vn_c}";
if ($vs_ext = pathinfo($vs_path, PATHINFO_EXTENSION)) {
$vs_filename .= ".{$vs_ext}";
}
$o_phar->addFile($vs_path, $vs_filename);
$vn_c++;
}
}
$o_view = new View($this->request, $this->request->getViewsDirectoryPath() . '/bundles/');
// send download
$vs_set_code = $t_set->get('set_code');
$o_view->setVar('tmp_file', $vs_tmp_name);
$o_view->setVar('download_name', 'media_for_' . mb_substr(preg_replace('![^A-Za-z0-9]+!u', '_', $vs_set_code ? $vs_set_code : $t_set->getPrimaryKey()), 0, 20) . '.zip');
$this->response->addContent($o_view->render('ca_sets_download_media.php'));
return;
} else {
$this->notification->addNotification(_t('No media is available for download'), __NOTIFICATION_TYPE_ERROR__);
$this->opo_response->setRedirect(caEditorUrl($this->opo_request, 'ca_sets', $t_set->getPrimaryKey()));
return;
}
return $this->Edit();
}
示例8: getSetsOverlay
/**
* Returns content for overlay containing details for object representation linked to occurrence
*/
public function getSetsOverlay()
{
$this->view->setVar('display_type', 'media_overlay');
$pn_set_id = $this->request->getParameter('set_id', pInteger);
$pn_object_id = $this->request->getParameter('object_id', pInteger);
$this->view->setVar('object_id', $pn_object_id);
$pn_representation_id = $this->request->getParameter('representation_id', pInteger);
$this->opo_plugin_config = Configuration::load($this->request->getAppConfig()->get('application_plugins') . '/simpleGallery/conf/simpleGallery.conf');
$this->view->setVar('set_id', $pn_set_id);
$t_set = new ca_sets($pn_set_id);
$pn_set_item_id = $this->request->getParameter('set_item_id', pInteger);
$this->view->setVar('set_item_id', $pn_set_item_id);
$ps_set_item_description_code = $this->opo_plugin_config->get('set_item_description_element_code');
$this->view->setVar('set_item_description', $ps_set_item_description_code);
$this->view->setVar('object_id', $pn_object_id);
$t_object = new ca_objects($pn_object_id);
$this->view->setVar('t_object', $t_object);
$t_rep = new ca_object_representations($pn_representation_id);
$this->view->setVar('representation_id', $pn_representation_id);
$this->view->setVar('t_object_representation', $t_rep);
if ($this->request->config->get("dont_enforce_access_settings")) {
$va_access_values = array();
} else {
$va_access_values = caGetUserAccessValues($this->request);
}
if (!$t_set->getPrimaryKey()) {
die("Invalid set_id");
}
if (!$t_object->getPrimaryKey()) {
die("Invalid object_id");
}
if (!$t_rep->getPrimaryKey()) {
die("Invalid representation_id");
}
if (sizeof($va_access_values) && !in_array($t_set->get('access'), $va_access_values)) {
die("Invalid set_id");
}
if (sizeof($va_access_values) && !in_array($t_object->get('access'), $va_access_values)) {
die("Invalid object_id");
}
if (sizeof($va_access_values) && !in_array($t_rep->get('access'), $va_access_values)) {
die("Invalid rep_id");
}
// Get media for display using configured rules
$va_rep_display_info = caGetMediaDisplayInfo("media_overlay", $t_rep->getMediaInfo('media', 'INPUT', 'MIMETYPE'));
// set version
$this->view->setVar('version', $va_rep_display_info['display_version']);
unset($va_display_info['display_version']);
// set other options
$this->view->setVar('display_options', $va_rep_display_info);
if (!($ps_containerID = trim($this->request->getParameter('containerID', pString)))) {
$ps_containerID = 'caMediaPanelContentArea';
}
$this->view->setVar("containerID", $ps_containerID);
// Get all objects asscoiated with this set and show primary reps as icons for navigation
$va_set_items = $t_set->getItems(array("checkAccess" => $va_access_values));
#print "<pre>";
#print_r($va_set_items);
#print "</pre>";
if (sizeof($va_set_items) > 0) {
$t_image_objects = new ca_objects();
$i = 1;
foreach ($va_set_items as $vn_rel_id => $va_inter) {
foreach ($va_inter as $id => $va_info) {
$t_image_objects->load($va_info["row_id"]);
if ($t_primary_rep = $t_image_objects->getPrimaryRepresentationInstance()) {
$va_temp = array();
if (!sizeof($va_access_values) || in_array($t_primary_rep->get('access'), $va_access_values)) {
$va_temp["representation_id"] = $t_primary_rep->get("representation_id");
$va_temp["rep_icon"] = $t_primary_rep->getMediaTag('media', 'icon');
$va_temp["rep_tinyicon"] = $t_primary_rep->getMediaTag('media', 'tinyicon');
$va_temp["object_id"] = $va_info["object_id"];
$va_temp["set_item_id"] = $va_info['item_id'];
$va_thumbnails[$va_info["object_id"]] = $va_temp;
if ($vn_getNext == 1) {
$this->view->setVar("next_object_id", $va_info["object_id"]);
$this->view->setVar("next_representation_id", $t_primary_rep->get("representation_id"));
$vn_getNext = 0;
}
if ($va_info["object_id"] == $pn_object_id) {
$this->view->setVar("representation_index", $i);
$this->view->setVar("previous_object_id", $vn_prev_obj_id);
$this->view->setVar("previous_representation_id", $vn_prev_rep_id);
$this->view->setVar("set_item_id", $va_info['item_id']);
$vn_getNext = 1;
}
$vn_prev_obj_id = $va_info["object_id"];
$vn_prev_rep_id = $t_primary_rep->get("representation_id");
$i++;
}
}
}
}
}
$this->view->setVar('reps', $va_thumbnails);
return $this->render($this->ops_theme . "/ajax_ca_sets_media_overlay_html.php");
}
示例9: Index
function Index()
{
// Remove any browse criteria previously set
$this->opo_browse->removeAllCriteria();
parent::Index(true);
JavascriptLoadManager::register('imageScroller');
JavascriptLoadManager::register('browsable');
JavascriptLoadManager::register('tabUI');
$t_object = new ca_objects();
$t_featured = new ca_sets();
if ($this->request->config->get("dont_enforce_access_settings")) {
$va_access_values = array();
} else {
$va_access_values = caGetUserAccessValues($this->request);
}
# --- featured items set - set name assigned in app.conf
$featured_sets = $this->request->config->get('featured_sets');
$len = count($featured_sets);
if ($len > 3) {
$len = 3;
}
for ($i = 0; $i < $len; $i++) {
$t_featured->load(array('set_code' => $featured_sets[$i]));
$set_id = $t_featured->getPrimaryKey();
$set_title = $t_featured->getLabelForDisplay();
$set_desc = $t_featured->getAttributeFromSets('description', array(0 => $set_id));
$va_featured_ids = array_keys(is_array($va_tmp = $t_featured->getItemRowIDs(array('checkAccess' => $va_access_values, 'shuffle' => 0))) ? $va_tmp : array());
// These are the object ids in the set
if (is_array($va_featured_ids) && sizeof($va_featured_ids) > 0) {
$t_object = new ca_objects($va_featured_ids[0]);
$va_rep = $t_object->getPrimaryRepresentation(array('thumbnail', 'small', 'medium', 'mediumlarge', 'preview', 'widepreview'), null, array('return_with_access' => $va_access_values));
$featured_set_id_array[$i] = array('featured_set_code' => $featured_sets[$i], 'featured_content_id' => $va_featured_ids[0], 'featured_content_small' => $va_rep["tags"]["small"], 'featured_content_label' => $set_title, 'featured_content_description' => $set_desc[$set_id][0], 'featured_set_id' => $set_id);
}
}
$this->view->setVar('featured_set_id_array', $featured_set_id_array);
# --- user favorites get the highest ranked objects to display
$va_user_favorites_items = $t_object->getHighestRated(true, 12, $va_access_values);
if (sizeof($va_user_favorites_items) > 0) {
if (is_array($va_user_favorites_items) && sizeof($va_user_favorites_items) > 0) {
$t_object = new ca_objects($va_user_favorites_items[0]);
$va_rep = $t_object->getPrimaryRepresentation(array('thumbnail', 'small', 'preview', 'widepreview'), null, array('return_with_access' => $va_access_values));
$this->view->setVar('user_favorites_id', $va_user_favorites_items[0]);
$this->view->setVar('user_favorites_thumb', $va_rep["tags"]["thumbnail"]);
$this->view->setVar('user_favorites_small', $va_rep["tags"]["small"]);
$this->view->setVar('user_favorites_preview', $va_rep["tags"]["preview"]);
$this->view->setVar('user_favorites_widepreview', $va_rep["tags"]["widepreview"]);
}
} else {
$this->view->setVar('user_favorites_is_random', 1);
# if no ranks set, choose a random object
$va_random_items = $t_object->getRandomItems(1, array('checkAccess' => $va_access_values, 'hasRepresentations' => 1));
$va_labels = $t_object->getPreferredDisplayLabelsForIDs(array_keys($va_random_items));
$va_media = $t_object->getPrimaryMediaForIDs(array_keys($va_random_items), array('small', 'thumbnail', 'preview', 'medium', 'widepreview'), array("checkAccess" => $va_access_values));
foreach ($va_random_items as $vn_object_id => $va_object_info) {
$va_object_info['title'] = $va_labels[$vn_object_id];
$va_object_info['media'] = $va_media[$vn_object_id];
$va_random_items[$vn_object_id] = $va_object_info;
}
$this->view->setVar('random_objects', $va_random_items);
if (is_array($va_random_items) && sizeof($va_random_items) > 0) {
$va_object_info = array_shift($va_random_items);
$this->view->setVar('user_favorites_id', $va_object_info['object_id']);
$this->view->setVar('user_favorites_thumb', $va_media[$va_object_info['object_id']]["tags"]["thumbnail"]);
$this->view->setVar('user_favorites_small', $va_media[$va_object_info['object_id']]["tags"]["small"]);
$this->view->setVar('user_favorites_preview', $va_media[$va_object_info['object_id']]["tags"]["preview"]);
$this->view->setVar('user_favorites_widepreview', $va_media[$va_object_info['object_id']]["tags"]["widepreview"]);
$this->view->setVar('user_favorites_medium', $va_media[$va_object_info['object_id']]["tags"]["medium"]);
}
}
#---- new 'recently added'
$t_set = new ca_sets();
$ra_set_code = $this->request->config->get('recently_added_set_id');
$t_set->load(array('set_code' => $ra_set_code));
$set_id = $t_set->getPrimaryKey();
$ra_items = caExtractValuesByUserLocale($t_set->getItems(array('thumbnailVersions' => array('thumbnail', 'preview'), "checkAccess" => 1)));
$va_recently_added = array();
foreach ($ra_items as $va_item_info) {
$vn_r_object_id = $va_item_info['object_id'];
$t_object->load($vn_r_object_id);
$va_reps = $t_object->getPrimaryRepresentation(array('thumbnail', 'preview'), null, array('return_with_access' => $va_access_values));
$va_recently_added[$vn_r_object_id] = $va_reps["tags"]["preview"];
}
# --- get the 12 most recently added objects to display
/*$va_recently_added_ids = $t_object->getRecentlyAddedItems(15, array('checkAccess' => $va_access_values, 'hasRepresentations' => 1));
if(is_array($va_recently_added_ids) && sizeof($va_recently_added_ids) > 0){
$va_recently_added = array();
foreach($va_recently_added_ids as $va_item_info){
$vn_r_object_id = $va_item_info['object_id'];
$t_object->load($vn_r_object_id);
$va_reps = $t_object->getPrimaryRepresentation(array('thumbnail', 'preview'), null, array('return_with_access' => $va_access_values));
$va_recently_added[$vn_r_object_id] = $va_reps["tags"]["preview"];
}
}*/
$this->view->setVar('recently_added', $va_recently_added);
$this->render('Splash/splash_html.php');
}
示例10: update
public function update($pa_options = null)
{
if (!$this->_preSaveActions()) {
return false;
}
$vn_old_status = $this->getOriginalValue('order_status');
$vn_old_ship_date = $this->getOriginalValue('shipping_date');
$vn_old_shipped_on_date = $this->getOriginalValue('shipped_on_date');
// Move order status automatically to reflect business logic
switch ($this->get('order_status')) {
case 'PROCESSED':
if ($this->get('shipped_on_date') && $this->changed('shipped_on_date') && !$this->requiresDownload()) {
// If it shipped and there's nothing left to fulfill by download then ship status to "complete"
$this->set('order_status', 'COMPLETED');
}
break;
case 'AWAITING_PAYMENT':
if ($this->get('payment_received_on') && $this->changed('payment_received_on') || $this->getTotal() == 0) {
if ($this->get('order_type') == 'L') {
// LOANS
$this->set('order_status', 'PROCESSED');
} else {
// SALES ORDERS
// If it paid for then flip status to "PROCESSED" (if it's all ready to go) or "PROCESSED_AWAITING_DIGITIZATION" if stuff needs to be digitized
if (sizeof($va_items_with_no_media = $this->itemsWithNoDownloadableMedia()) > 0) {
$this->set('order_status', 'PROCESSED_AWAITING_DIGITIZATION');
} else {
// If "original" files are missing then mark as PROCESSED_AWAITING_MEDIA_ACCESS
if (sizeof($va_items_missing_media = $this->itemsMissingDownloadableMedia('original'))) {
$this->set('order_status', 'PROCESSED_AWAITING_MEDIA_ACCESS');
} else {
$this->set('order_status', 'PROCESSED');
}
}
}
}
break;
}
$vb_status_changed = $this->changed('order_status');
$this->set('order_number', ca_commerce_orders::generateOrderNumber($this->getPrimaryKey(), $this->get('created_on', array('GET_DIRECT_DATE' => true))));
if ($vn_rc = parent::update($pa_options)) {
if ($vb_status_changed) {
$this->sendStatusChangeEmailNotification($vn_old_status, $vn_old_ship_date, $vn_old_shipped_on_date);
}
if (in_array($this->get('order_status'), array('PROCESSED', 'PROCESSED_AWAITING_DIGITIZATION', 'PROCESSED_AWAITING_MEDIA_ACCESS', 'COMPLETED'))) {
// Delete originating set if configured to do so
if ($this->opo_client_services_config->get('set_disposal_policy') == 'DELETE_WHEN_ORDER_PROCESSED') {
$t_trans = new ca_commerce_transactions($this->get('transaction_id'));
if ($t_trans->getPrimaryKey()) {
$t_set = new ca_sets($t_trans->get('set_id'));
if ($t_set->getPrimaryKey()) {
$t_set->setMode(ACCESS_WRITE);
$t_set->delete(true);
}
}
}
}
}
return $vn_rc;
}
示例11: importMediaFromDirectory
//.........这里部分代码省略.........
$vn_mapping_id = $pa_options[$vs_import_target . '_mapping_id'];
$vn_object_representation_mapping_id = $pa_options['ca_object_representations_mapping_id'];
$vs_idno_mode = $pa_options['idnoMode'];
$vs_idno = $pa_options['idno'];
$vs_representation_idno_mode = $pa_options['representationIdnoMode'];
$vs_representation_idno = $pa_options['representation_idno'];
$vs_set_mode = $pa_options['setMode'];
$vs_set_create_name = $pa_options['setCreateName'];
$vn_set_id = $pa_options['set_id'];
$vn_locale_id = $pa_options['locale_id'];
$vs_skip_file_list = $pa_options['skipFileList'];
$vs_skip_file_list = $pa_options['skipFileList'];
$vb_allow_duplicate_media = $pa_options['allowDuplicateMedia'];
$va_relationship_type_id_for = array();
if (is_array($va_create_relationship_for = $pa_options['create_relationship_for'])) {
foreach ($va_create_relationship_for as $vs_rel_table) {
$va_relationship_type_id_for[$vs_rel_table] = $pa_options['relationship_type_id_for_' . $vs_rel_table];
}
}
if (!$vn_locale_id) {
$vn_locale_id = $g_ui_locale_id;
}
$va_files_to_process = caGetDirectoryContentsAsList($pa_options['importFromDirectory'], $vb_include_subdirectories);
$o_log->logInfo(_t('Found %1 files in directory \'%2\'', sizeof($va_files_to_process), $pa_options['importFromDirectory']));
if ($vs_set_mode == 'add') {
$t_set->load($vn_set_id);
} else {
if ($vs_set_mode == 'create' && $vs_set_create_name) {
$va_set_ids = $t_set->getSets(array('user_id' => $po_request->getUserID(), 'table' => $t_instance->tableName(), 'access' => __CA_SET_EDIT_ACCESS__, 'setIDsOnly' => true, 'name' => $vs_set_create_name));
$vn_set_id = null;
if (is_array($va_set_ids) && sizeof($va_set_ids) > 0) {
$vn_possible_set_id = array_shift($va_set_ids);
if ($t_set->load($vn_possible_set_id)) {
$vn_set_id = $t_set->getPrimaryKey();
}
} else {
$vs_set_code = mb_substr(preg_replace("![^A-Za-z0-9_\\-]+!", "_", $vs_set_create_name), 0, 100);
if ($t_set->load(array('set_code' => $vs_set_code))) {
$vn_set_id = $t_set->getPrimaryKey();
}
}
if (!$t_set->getPrimaryKey()) {
$t_set->setMode(ACCESS_WRITE);
$t_set->set('user_id', $po_request->getUserID());
$t_set->set('type_id', $po_request->config->get('ca_sets_default_type'));
$t_set->set('table_num', $t_instance->tableNum());
$t_set->set('set_code', $vs_set_code);
$t_set->insert();
if ($t_set->numErrors()) {
$va_notices['create_set'] = array('idno' => '', 'label' => _t('Create set %1', $vs_set_create_name), 'message' => $vs_msg = _t('Failed to create set %1: %2', $vs_set_create_name, join("; ", $t_set->getErrors())), 'status' => 'SET ERROR');
$o_log->logError($vs_msg);
} else {
$t_set->addLabel(array('name' => $vs_set_create_name), $vn_locale_id, null, true);
if ($t_set->numErrors()) {
$va_notices['add_set_label'] = array('idno' => '', 'label' => _t('Add label to set %1', $vs_set_create_name), 'message' => $vs_msg = _t('Failed to add label to set: %1', join("; ", $t_set->getErrors())), 'status' => 'SET ERROR');
$o_log->logError($vs_msg);
}
$vn_set_id = $t_set->getPrimaryKey();
}
}
} else {
$vn_set_id = null;
// no set
}
}
if ($t_set->getPrimaryKey() && !$t_set->haveAccessToSet($po_request->getUserID(), __CA_SET_EDIT_ACCESS__)) {
示例12: RecordRepresentationSelection
public function RecordRepresentationSelection()
{
$pn_item_id = $this->request->getParameter('item_id', pInteger);
$pn_representation_id = $this->request->getParameter('representation_id', pInteger);
$pn_selected = $this->request->getParameter('selected', pInteger);
$va_errors = array();
$t_set_item = new ca_set_items($pn_item_id);
$t_set = new ca_sets($t_set_item->get('set_id'));
if (!$t_set->getPrimaryKey() || !$t_set->haveAccessToSet($this->request->getUserID(), __CA_SET_EDIT_ACCESS__)) {
// TODO: proper error reporting or redirect?
return;
}
if (!$t_set_item->getPrimaryKey()) {
$va_errors[] = _t("Invalid set item");
}
if (!sizeof($va_errors)) {
$t_set = new ca_sets($t_set_item->get('set_id'));
if (!$t_set->getPrimaryKey()) {
$va_errors[] = _t("Invalid set");
}
if (!$t_set->haveAccessToSet($this->request->getUserID(), __CA_SET_EDIT_ACCESS__)) {
$va_errors[] = _t("You do not have access to this set");
}
if (!sizeof($va_errors)) {
if ((bool) $pn_selected) {
$t_set_item->addSelectedRepresentation($pn_representation_id);
} else {
$t_set_item->removeSelectedRepresentation($pn_representation_id);
}
$t_set_item->update();
$va_errors = $t_set_item->getErrors();
}
}
$this->view->setVar("errors", $va_errors);
$this->view->setVar('representation_id', $pn_representation_id);
$this->view->setVar('item_id', $pn_item_id);
$this->render("ajax_select_representation_json.php");
}
示例13: duplicateItemsInSet
/**
* Duplicate all items in this set
* @param int $pn_user_id
* @param array $pa_options
* @return ca_sets|bool
*/
public function duplicateItemsInSet($pn_user_id, $pa_options = array())
{
if (!$this->getPrimaryKey()) {
return false;
}
if ($this->getItemCount() < 1) {
return false;
}
$t_user = new ca_users($pn_user_id);
if (!$t_user->getPrimaryKey()) {
return false;
}
// we need a user for duplication
global $g_ui_locale_id;
if (caGetOption('addToCurrentSet', $pa_options, false)) {
$t_set_to_add_dupes_to = $this;
} else {
// create new set for dupes
$t_set_to_add_dupes_to = new ca_sets();
$t_set_to_add_dupes_to->set('type_id', $this->get('type_id'));
$t_set_to_add_dupes_to->set('table_num', $this->get('table_num'));
$t_set_to_add_dupes_to->set('user_id', $this->get('user_id'));
$t_set_to_add_dupes_to->set('set_code', $this->get('set_code') . '-' . _t('dupes'));
$t_set_to_add_dupes_to->setMode(ACCESS_WRITE);
$t_set_to_add_dupes_to->insert();
if (!$t_set_to_add_dupes_to->getPrimaryKey()) {
$this->errors = $t_set_to_add_dupes_to->errors;
return false;
}
$t_set_to_add_dupes_to->addLabel(array('name' => $this->getLabelForDisplay() . ' ' . _t('[Duplicates]')), $g_ui_locale_id, null, true);
}
$va_items = array_keys($this->getItemRowIDs());
$va_dupes = array();
foreach ($va_items as $vn_row_id) {
/** @var BundlableLabelableBaseModelWithAttributes $t_instance */
$t_instance = $this->getAppDatamodel()->getInstance($this->get('table_num'));
if (!$t_user->canDoAction('can_duplicate_' . $t_instance->tableName())) {
$this->postError(2580, _t('You do not have permission to duplicate these items'), 'ca_sets->duplicateItemsInSet()');
return false;
}
if (!$t_instance->load($vn_row_id)) {
continue;
}
// let's dupe
$t_dupe = $t_instance->duplicate(array('user_id' => $pn_user_id, 'duplicate_nonpreferred_labels' => $t_user->getPreference($t_instance->tableName() . '_duplicate_nonpreferred_labels'), 'duplicate_attributes' => $t_user->getPreference($t_instance->tableName() . '_duplicate_attributes'), 'duplicate_relationships' => $t_user->getPreference($t_instance->tableName() . '_duplicate_relationships'), 'duplicate_media' => $t_user->getPreference($t_instance->tableName() . '_duplicate_media'), 'duplicate_subitems' => $t_user->getPreference($t_instance->tableName() . '_duplicate_subitems')));
if ($t_dupe instanceof BaseModel) {
$va_dupes[] = $t_dupe->getPrimaryKey();
}
}
$t_set_to_add_dupes_to->addItems($va_dupes);
return $t_set_to_add_dupes_to;
}
示例14: count
<div style="clear:left;"></div>
-->
<!--
<h2>Highlights from the Collection</h2>
<?php
$t_featured = new ca_sets();
$featured_sets = $this->request->config->get('featured_sets');
$len = count($featured_sets);
if ($len > 3) {
$len = 3;
}
for ($i = 0; $i < $len; $i++) {
$t_featured->load(array('set_code' => $featured_sets[$i]));
$set_id = $t_featured->getPrimaryKey();
$set_title = $t_featured->getLabelForDisplay();
$set_desc = $t_featured->getAttributeFromSets('description', array(0 => $set_id));
$va_featured_ids = array_keys(is_array($va_tmp = $t_featured->getItemRowIDs(array('checkAccess' => $va_access_values, 'shuffle' => 0))) ? $va_tmp : array());
// These are the object ids in the set
if (is_array($va_featured_ids) && sizeof($va_featured_ids) > 0) {
$t_object = new ca_objects($va_featured_ids[0]);
$va_rep = $t_object->getPrimaryRepresentation(array('preview', 'preview170'), null, array('return_with_access' => $va_access_values));
$featured_set_id_array[$i] = array('featured_set_code' => $featured_sets[$i], 'featured_content_id' => $va_featured_ids[0], 'featured_content_small' => $va_rep["tags"]["preview"], 'featured_content_label' => $set_title, 'featured_content_description' => $set_desc[$set_id][0], 'featured_set_id' => $set_id);
}
}
?>
<?php
if (isset($featured_set_id_array)) {
?>
示例15: _getSetID
/**
* Returns set_id corresponding to set code, or passed back set_id if input in numeric (it doesn't actually verify that a numeric set_id is actually valid)
*
* @param mixed $pm_set_code_or_id
* @return int set_id corresponding to $pm_set_code_or_id
*/
private function _getSetID($pm_set_code_or_id)
{
if (is_numeric($pm_set_code_or_id)) {
$vn_set_id = intval($pm_set_code_or_id);
} else {
$t_set = new ca_sets();
if (!$t_set->load(array('set_code' => $pm_set_code_or_id))) {
return null;
}
$vn_set_id = $t_set->getPrimaryKey();
}
return $vn_set_id;
}