本文整理汇总了PHP中ca_metadata_elements::getSetting方法的典型用法代码示例。如果您正苦于以下问题:PHP ca_metadata_elements::getSetting方法的具体用法?PHP ca_metadata_elements::getSetting怎么用?PHP ca_metadata_elements::getSetting使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ca_metadata_elements
的用法示例。
在下文中一共展示了ca_metadata_elements::getSetting方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: Get
public function Get($pa_additional_query_params = null, $pa_options = null)
{
$ps_query = $this->request->getParameter('term', pString);
$ps_bundle = $this->request->getParameter('bundle', pString);
$va_tmp = explode('.', $ps_bundle);
$o_dm = Datamodel::load();
if (!($t_table = $o_dm->getInstanceByTableName($va_tmp[0], true))) {
// bad table name
print _t("Invalid table name");
return null;
}
$t_element = new ca_metadata_elements();
if (!$t_element->load(array('element_code' => $va_tmp[1]))) {
print _t("Invalid element code");
return null;
}
if ((int) $t_element->getSetting('suggestExistingValues') !== 1) {
print _t("Value suggestion is not supported for this metadata element");
return null;
}
if ($this->request->user->getBundleAccessLevel($va_tmp[0], $va_tmp[1]) == __CA_BUNDLE_ACCESS_NONE__) {
print _t("You do not have access to this bundle");
return null;
}
$va_type_restrictions = $t_element->getTypeRestrictions($t_table->tableNum());
if (!$va_type_restrictions || !is_array($va_type_restrictions) || !sizeof($va_type_restrictions)) {
print _t("Element code is not bound to the specified table");
return null;
}
$o_db = new Db();
switch ($t_element->getSetting('suggestExistingValueSort')) {
case 'recent':
// date/time entered
$vs_sort_field = 'value_id DESC';
$vn_max_returned_values = 10;
break;
default:
// alphabetically
$vs_sort_field = 'value_longtext1 ASC';
$vn_max_returned_values = 50;
break;
}
$qr_res = $o_db->query("\n\t\t\t\tSELECT DISTINCT value_longtext1\n\t\t\t\tFROM ca_attribute_values\n\t\t\t\tWHERE\n\t\t\t\t\telement_id = ?\n\t\t\t\t\tAND\n\t\t\t\t\t(value_longtext1 LIKE ?)\n\t\t\t\tORDER BY\n\t\t\t\t\t{$vs_sort_field}\n\t\t\t\tLIMIT {$vn_max_returned_values}\n\t\t\t", (int) $t_element->getPrimaryKey(), (string) $ps_query . '%');
$this->view->setVar('attribute_value_list', $qr_res->getAllFieldValues('value_longtext1'));
return $this->render('ajax_attribute_value_list_html.php');
}
示例2: Get
public function Get()
{
$ps_query = $this->request->getParameter('q', pString);
$ps_type = $this->request->getParameter('type', pString);
$va_vocs = array();
$vs_voc_query = '';
if ($vn_element_id = $this->request->getParameter('element_id', pInteger)) {
$t_element = new ca_metadata_elements($vn_element_id);
if ($vs_voc = $t_element->getSetting('vocabulary')) {
$vs_voc_query .= '&q=' . urlencode($vs_voc);
}
}
$va_items = array();
if (unicode_strlen($ps_query) >= 3) {
try {
//
// Get up to 50 suggestions as ATOM feed
//
$vs_data = @file_get_contents($x = "http://id.loc.gov/search/?q=" . urlencode($ps_query) . $vs_voc_query . '&format=atom&count=50');
if ($vs_data) {
$o_xml = @simplexml_load_string($vs_data);
if ($o_xml) {
$o_entries = $o_xml->{'entry'};
if ($o_entries && sizeof($o_entries)) {
foreach ($o_entries as $o_entry) {
$o_links = $o_entry->{'link'};
$va_attr = $o_links[0]->attributes();
$vs_url = (string) $va_attr->{'href'};
$va_items[$vs_url] = array('displayname' => (string) $o_entry->{'title'}, 'idno' => (string) $o_entry->{'id'});
}
}
}
}
} catch (Exception $e) {
$va_items['error'] = array('displayname' => _t('ERROR') . ':' . $e->getMessage(), 'idno' => '');
}
}
$this->view->setVar('lcsh_list', $va_items);
return $this->render('ajax_lcsh_list_html.php');
}
示例3: Get
public function Get($pa_additional_query_params = null, $pa_options = null)
{
if (!($ps_query = $this->request->getParameter('q', pString))) {
$ps_query = $this->request->getParameter('term', pString);
}
$ps_type = $this->request->getParameter('type', pString);
$va_vocs = array();
$vs_voc_query = '';
if ($vn_element_id = $this->request->getParameter('element_id', pInteger)) {
$t_element = new ca_metadata_elements($vn_element_id);
if ($vs_voc = $t_element->getSetting('vocabulary')) {
$vs_voc_query .= '&q=' . rawurlencode($vs_voc);
}
}
$vo_conf = Configuration::load();
$va_items = array();
if (unicode_strlen($ps_query) >= 3) {
try {
$vs_data = caQueryExternalWebservice('http://id.loc.gov/search/?q=' . urlencode('"' . $ps_query . '"') . $vs_voc_query . '&format=atom&count=150');
if ($vs_data) {
$o_xml = @simplexml_load_string($vs_data);
if ($o_xml) {
$o_entries = $o_xml->{'entry'};
if ($o_entries && sizeof($o_entries)) {
foreach ($o_entries as $o_entry) {
$o_links = $o_entry->{'link'};
$va_attr = $o_links[0]->attributes();
$vs_url = (string) $va_attr->{'href'};
$va_items[] = array('label' => (string) $o_entry->{'title'}, 'idno' => (string) $o_entry->{'id'}, 'url' => $vs_url);
}
}
}
}
} catch (Exception $e) {
$va_items['error'] = array('displayname' => _t('ERROR') . ':' . $e->getMessage(), 'idno' => '');
}
}
$this->view->setVar('lcsh_list', $va_items);
return $this->render('ajax_lcsh_list_html.php');
}
示例4: GetDetail
/**
* Fetch details on an item from a remote data source and output results of the 'display' key in the response.
*
*/
public function GetDetail()
{
$pn_element_id = $this->request->getParameter('element_id', pInteger);
$t_element = new ca_metadata_elements($pn_element_id);
$va_data = array();
if (!$t_element->getPrimaryKey()) {
// error
$va_items['error'] = array('label' => _t('ERROR: Invalid element_id'), 'idno' => '');
} else {
$vs_service = $t_element->getSetting('service');
$va_settings = $t_element->getSettings();
$pn_attribute_id = $this->request->getParameter('id', pInteger);
$t_attr_val = new ca_attribute_values();
if ($t_attr_val->load(array('attribute_id' => $pn_attribute_id, 'element_id' => $pn_element_id))) {
$t_attr = new ca_attributes();
if ($t_attr->load($pn_attribute_id)) {
if (!caCanRead($this->request->getUserID(), $t_attr->get('table_num'), $t_attr->get('row_id'), $t_element->get('element_code'))) {
$va_items['error'] = array('label' => _t('ERROR: You do not have access to this item'), 'idno' => '');
} else {
$vs_url = $t_attr_val->get('value_longtext2');
if (!($o_plugin = InformationServiceManager::getInformationServiceInstance($vs_service))) {
$va_items['error'] = array('label' => _t('ERROR: Invalid service'), 'idno' => '');
} else {
$vs_cache_key = md5(print_r($va_settings, true) . $vs_url);
if (CompositeCache::contains($vs_cache_key, 'InformationServiceExtendedInfo')) {
$va_data = CompositeCache::fetch($vs_cache_key, 'InformationServiceExtendedInfo');
} else {
$va_data = $o_plugin->getExtendedInformation($va_settings, $vs_url);
CompositeCache::save($vs_cache_key, $va_data, 'InformationServiceExtendedInfo');
}
}
}
}
}
}
$this->view->setVar('detail', $va_data);
return $this->render('ajax_information_service_detail_html.php');
}