本文整理汇总了PHP中unicode_strlen函数的典型用法代码示例。如果您正苦于以下问题:PHP unicode_strlen函数的具体用法?PHP unicode_strlen怎么用?PHP unicode_strlen使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了unicode_strlen函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: Get
public function Get()
{
global $g_ui_locale_id;
$ps_query = $this->request->getParameter('q', pString);
$ps_type = $this->request->getParameter('type', pString);
$vo_conf = Configuration::load();
$vs_user = trim($vo_conf->get("geonames_user"));
$va_items = array();
if (unicode_strlen($ps_query) >= 3) {
$vs_base = "http://api.geonames.org/search";
$t_locale = new ca_locales($g_ui_locale_id);
$vs_lang = $t_locale->get("language");
$va_params = array("q" => $ps_query, "lang" => $vs_lang, 'style' => 'full', 'username' => $vs_user);
foreach ($va_params as $vs_key => $vs_value) {
$vs_query_string .= "{$vs_key}=" . urlencode($vs_value) . "&";
}
try {
$vo_xml = new SimpleXMLElement(@file_get_contents("{$vs_base}?{$vs_query_string}"));
//var_dump($vo_result);
foreach ($vo_xml->children() as $vo_child) {
if ($vo_child->getName() != "totalResultsCount") {
$va_items[$vo_child->geonameId . ""] = array('displayname' => $vo_child->name, 'country' => $vo_child->countryName ? $vo_child->countryName : null, 'continent' => $vo_child->continentCode ? $vo_child->continentCode : null, 'fcl' => $vo_child->fclName ? $vo_child->fclName : null, 'lat' => $vo_child->lat ? $vo_child->lat : null, 'lng' => $vo_child->lng ? $vo_child->lng : null, 'idno' => $vo_child->geonameId);
}
}
} catch (Exception $e) {
$va_items[0] = array('displayname' => _t('Could not connect to GeoNames'), 'country' => '', 'continent' => '', 'fcl' => '', 'lat' => '', 'lng' => '', 'idno' => '');
}
}
$this->view->setVar('geonames_list', $va_items);
return $this->render('ajax_geonames_list_html.php');
}
示例2: parseValue
public function parseValue($ps_value, $pa_element_info, $pa_options = null)
{
$ps_value = trim($ps_value);
$va_settings = $this->getSettingValuesFromElementArray($pa_element_info, array('minChars', 'maxChars', 'minValue', 'maxValue', 'regex', 'mustNotBeBlank'));
$vn_strlen = unicode_strlen($ps_value);
if ($va_settings['minChars'] && $vn_strlen < $va_settings['minChars']) {
// length is too short
$vs_err_msg = $va_settings['minChars'] == 1 ? _t('%1 must be at least 1 character long', $pa_element_info['displayLabel']) : _t('%1 must be at least %2 characters long', $pa_element_info['displayLabel'], $va_settings['minChars']);
$this->postError(1970, $vs_err_msg, 'IntegerAttributeValue->parseValue()');
return false;
}
if ($va_settings['maxChars'] && $vn_strlen > $va_settings['maxChars']) {
// length is too long
$vs_err_msg = $va_settings['maxChars'] == 1 ? _t('%1 must be no more than 1 character long', $pa_element_info['displayLabel']) : _t('%1 must be no more than %2 characters long', $pa_element_info['displayLabel'], $va_settings['maxChars']);
$this->postError(1970, $vs_err_msg, 'IntegerAttributeValue->parseValue()');
return false;
}
if (strlen($ps_value) && !is_numeric($ps_value)) {
// value is not numeric
$vs_err_str = _t('%1 must a number', $pa_element_info['displayLabel']);
$this->postError(1970, $vs_err_str, 'NumericAttributeValue->parseValue()');
return false;
}
if (strlen($ps_value) == 0) {
if ((bool) $va_settings['mustNotBeBlank']) {
$this->postError(1970, _t('%1 must not be empty', $pa_element_info['displayLabel']), 'IntegerAttributeValue->parseValue()');
return false;
} else {
return null;
}
}
$pn_value = intval($ps_value);
if (strlen($va_settings['minValue']) && $pn_value < $va_settings['minValue']) {
// value is too small
$vs_err_str = _t('%1 must be at least %2', $pa_element_info['displayLabel'], $va_settings['minValue']);
$this->postError(1970, $vs_err_str, 'NumericAttributeValue->parseValue()');
return false;
}
if (strlen($va_settings['maxValue']) && $pn_value > $va_settings['maxValue']) {
// value is too large
$vs_err_str = _t('%1 must be no more than %2', $pa_element_info['displayLabel'], $va_settings['maxValue']);
$this->postError(1970, $vs_err_str, 'NumericAttributeValue->parseValue()');
return false;
}
if ($va_settings['regex'] && !preg_match("!" . $va_settings['regex'] . "!", $ps_value)) {
// regex failed
// TODO: need more descriptive error message
$this->postError(1970, _t('%1 does not conform to required format', $pa_element_info['displayLabel']), 'IntegerAttributeValue->parseValue()');
return false;
}
if (!preg_match('/^\\d*$/', $ps_value)) {
//this is not an integer, it contains symbols other than [0-9]
$this->postError(1970, _t('%1 is not an integer value', $pa_element_info['displayLabel']), 'IntegerAttributeValue->parseValue()');
return false;
}
return array('value_longtext1' => $pn_value, 'value_integer1' => $pn_value);
}
示例3: Get
public function Get($pa_additional_query_params = null, $pa_options = null)
{
global $g_ui_locale_id;
$vn_max = $this->request->getParameter('maxRows', pInteger) ? $this->request->getParameter('maxRows', pInteger) : 20;
$ps_query = $this->request->getParameter('term', pString);
$ps_gn_elements = urldecode($this->request->getParameter('gnElements', pString));
$ps_gn_delimiter = urldecode($this->request->getParameter('gnDelimiter', pString));
$pa_elements = explode(',', $ps_gn_elements);
$vo_conf = Configuration::load();
$vs_user = trim($vo_conf->get("geonames_user"));
$va_items = array();
if (unicode_strlen($ps_query) >= 3) {
$vs_base = $vo_conf->get('geonames_api_base_url') . '/search';
$t_locale = new ca_locales($g_ui_locale_id);
$vs_lang = $t_locale->get("language");
$va_params = array("q" => $ps_query, "lang" => $vs_lang, 'style' => 'full', 'username' => $vs_user, 'maxRows' => $vn_max);
$vs_query_string = '';
foreach ($va_params as $vs_key => $vs_value) {
$vs_query_string .= "{$vs_key}=" . urlencode($vs_value) . "&";
}
try {
$vs_xml = caQueryExternalWebservice("{$vs_base}?{$vs_query_string}");
$vo_xml = new SimpleXMLElement($vs_xml);
$va_attr = $vo_xml->status ? $vo_xml->status->attributes() : null;
if ($va_attr && isset($va_attr['value']) && (int) $va_attr['value'] > 0) {
$va_items[0] = array('displayname' => _t('Connection to GeoNames with username "%1" was rejected with the message "%2". Check your configuration and make sure your GeoNames.org account is enabled for web services.', $vs_user, $va_attr['message']), 'lat' => '', 'lng' => '');
$va_items[0]['label'] = $va_items[0]['displayname'];
} else {
foreach ($vo_xml->children() as $vo_child) {
if ($vo_child->getName() == "geoname") {
$va_elements = array();
foreach ($pa_elements as $ps_element) {
$vs_val = $vo_child->{trim($ps_element)};
if (strlen(trim($vs_val)) > 0) {
$va_elements[] = trim($vs_val);
}
}
$va_items[(string) $vo_child->geonameId] = array('displayname' => $vo_child->name, 'label' => join($ps_gn_delimiter, $va_elements) . ($vo_child->lat ? " [" . $vo_child->lat . "," : '') . ($vo_child->lng ? $vo_child->lng . "]" : ''), 'lat' => $vo_child->lat ? $vo_child->lat : null, 'lng' => $vo_child->lng ? $vo_child->lng : null, 'id' => (string) $vo_child->geonameId);
}
}
}
} catch (Exception $e) {
$va_items[0] = array('displayname' => _t('Could not connect to GeoNames'), 'lat' => '', 'lng' => '', 'id' => 0);
$va_items[0]['label'] = $va_items[0]['displayname'];
}
}
$this->view->setVar('geonames_list', $va_items);
return $this->render('ajax_geonames_list_html.php');
}
示例4: 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');
}
示例5: 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');
}
示例6: parseValue
public function parseValue($ps_value, $pa_element_info, $pa_options = null)
{
$va_settings = $this->getSettingValuesFromElementArray($pa_element_info, array('minChars', 'maxChars', 'regex'));
$vn_strlen = unicode_strlen($ps_value);
if ($vn_strlen < $va_settings['minChars']) {
// text is too short
$vs_err_msg = $va_settings['minChars'] == 1 ? _t('%1 must be at least 1 character long', $pa_element_info['displayLabel']) : _t('%1 must be at least %2 characters long', $pa_element_info['displayLabel'], $va_settings['minChars']);
$this->postError(1970, $vs_err_msg, 'TextAttributeValue->parseValue()');
return false;
}
if ($vn_strlen > $va_settings['maxChars']) {
// text is too short
$vs_err_msg = $va_settings['maxChars'] == 1 ? _t('%1 must be no more than 1 character long', $pa_element_info['displayLabel']) : _t('%1 must be no more than %2 characters long', $pa_element_info['displayLabel'], $va_settings['maxChars']);
$this->postError(1970, $vs_err_msg, 'TextAttributeValue->parseValue()');
return false;
}
if ($va_settings['regex'] && !preg_match("!" . $va_settings['regex'] . "!", $ps_value)) {
// regex failed
$this->postError(1970, _t('%1 does not conform to required format', $pa_element_info['displayLabel']), 'TextAttributeValue->parseValue()');
return false;
}
return array('value_longtext1' => $ps_value);
}
示例7: Get
/**
* Perform lookup on a remote data service and return matched values
*
* @param array $pa_additional_query_params
* @param array $pa_options
*/
public function Get($pa_additional_query_params = null, $pa_options = null)
{
$o_config = Configuration::load();
if (!($ps_query = $this->request->getParameter('q', pString))) {
$ps_query = $this->request->getParameter('term', pString);
}
$ps_type = $this->request->getParameter('type', pString);
$pn_element_id = $this->request->getParameter('element_id', pInteger);
$t_element = new ca_metadata_elements($pn_element_id);
if (!$t_element->getPrimaryKey()) {
// error
$va_items['error'] = array('label' => _t('ERROR: Invalid element_id'), 'idno' => '');
} else {
$vs_service = $t_element->getSetting('service');
$va_items = array();
if (unicode_strlen($ps_query) >= 3) {
try {
// Load plugin and connect to information service
if (!($o_plugin = InformationServiceManager::getInformationServiceInstance($vs_service))) {
$va_items['error'] = array('label' => _t('ERROR: Invalid service'), 'idno' => '');
} else {
$va_data = $o_plugin->lookup($t_element->getSettings(), $ps_query, array('element_id' => $pn_element_id));
if ($va_data && isset($va_data['results']) && is_array($va_data['results'])) {
foreach ($va_data['results'] as $va_result) {
$va_items[] = array('label' => (string) $va_result['label'], 'idno' => (string) $va_result['idno'], 'url' => (string) $va_result['url']);
}
}
}
} catch (Exception $e) {
$va_items['error'] = array('label' => _t('ERROR') . ': ' . $e->getMessage(), 'idno' => '');
}
}
}
$this->view->setVar('information_service_list', $va_items);
return $this->render('ajax_information_service_list_html.php');
}
示例8: _t
<table class="listtable" width="100%" border="0" cellpadding="0" cellspacing="1">
<thead>
<tr>
<th style="width:10px; text-align:center;" class='list-header-nosort'>
<input type='checkbox' name='record' value='' id='addItemToSetSelectAllControl' class='addItemToSetControl' onchange="jQuery('.addItemToSetControl').attr('checked', (jQuery('#addItemToSetSelectAllControl').attr('checked') == 'checked'));"/>
</th>
<th class='list-header-nosort'>
<?php
print $vs_default_action == "Edit" ? _t("Edit") : _t("View");
?>
</th>
<?php
// output headers
$vn_id_count = 0;
foreach ($va_display_list as $va_display_item) {
$vs_item_display_str = unicode_strlen($va_display_item['display']) > 30 ? strip_tags(mb_substr($va_display_item['display'], 0, 27)) . "..." : $va_display_item['display'];
if ($va_display_item['is_sortable']) {
if ($vs_current_sort == $va_display_item['bundle_sort']) {
if ($vs_current_sort_dir == 'desc') {
$vs_th_class = 'list-header-sorted-desc';
$vs_new_sort_direction = 'asc';
} else {
$vs_th_class = 'list-header-sorted-asc';
$vs_new_sort_direction = 'desc';
}
print "<th class='{$vs_th_class}'><span id='listHeader" . $vn_id_count . "'><nobr>" . caNavLink($this->request, $vs_item_display_str, '', $this->request->getModulePath(), $this->request->getController(), 'Index', array('sort' => $va_display_item['bundle_sort'], 'direction' => $vs_new_sort_direction)) . "</nobr></span></th>";
TooltipManager::add('#listHeader' . $vn_id_count, _t("Currently sorting by ") . $va_display_item['display']);
} else {
print "<th class='list-header-unsorted'><span id='listHeader1" . $vn_id_count . "'><nobr>" . caNavLink($this->request, $vs_item_display_str, '', $this->request->getModulePath(), $this->request->getController(), 'Index', array('sort' => $va_display_item['bundle_sort'])) . "</nobr></span></th>";
TooltipManager::add('#listHeader1' . $vn_id_count, _t("Click to sort by ") . $va_display_item['display']);
}
示例9: parseValue
public function parseValue($ps_value, $pa_element_info, $pa_options = null)
{
$ps_value = trim($ps_value);
$va_settings = $this->getSettingValuesFromElementArray($pa_element_info, array('minChars', 'maxChars', 'regex', 'requireValue'));
if (!$va_settings['requireValue'] && !$ps_value) {
return array('value_longtext1' => '');
}
$vn_strlen = unicode_strlen($ps_value);
if ($vn_strlen < $va_settings['minChars']) {
// text is too short
$vs_err_msg = $va_settings['minChars'] == 1 ? _t('%1 must be at least 1 character long', $pa_element_info['displayLabel']) : _t('%1 must be at least %2 characters long', $pa_element_info['displayLabel'], $va_settings['minChars']);
$this->postError(1970, $vs_err_msg, 'UrlAttributeValue->parseValue()');
return false;
}
if ($vn_strlen > $va_settings['maxChars']) {
// text is too short
$vs_err_msg = $va_settings['maxChars'] == 1 ? _t('%1 must be no more than 1 character long', $pa_element_info['displayLabel']) : _t('%1 be no more than %2 characters long', $pa_element_info['displayLabel'], $va_settings['maxChars']);
$this->postError(1970, $vs_err_msg, 'UrlAttributeValue->parseValue()');
return false;
}
if (!$va_settings['regex']) {
$va_settings['regex'] = "(http|ftp|https|rtmp|rtsp):\\/\\/[\\w\\-_]+(\\.[\\w\\-_]+)+([\\w\\-\\.,@?^=%&;:/~\\+#]*[\\w\\-\\@?^=%&/~\\+#])?";
}
if ($va_settings['regex'] && !preg_match("!" . $va_settings['regex'] . "!", $ps_value)) {
// default to http if it's just a hostname + path
if (!preg_match("!^[A-Za-z]+:\\/\\/!", $ps_value)) {
$ps_value = "http://{$ps_value}";
} else {
// regex failed
$this->postError(1970, _t('%1 is not a valid url', $pa_element_info['displayLabel']), 'UrlAttributeValue->parseValue()');
return false;
}
}
return array('value_longtext1' => $ps_value);
}
示例10: _t
// print "<option value='".$vs_view."' ".(($vs_view == $vs_current_view) ? "SELECTED='1'" : "").">".$vs_name."</option>\n";
// }
// }
// print "</select>\n";
// print "</div>";
$va_search_history = $this->getVar('search_history');
$vs_cur_search = $vo_result_context->getSearchExpression();
if (is_array($va_search_history) && sizeof($va_search_history) > 0) {
print "<div class='col'>";
print _t("Search history:") . " ";
print caFormTag($this->request, 'Index', 'caSearchHistoryForm');
print "<select name='search' onchange='this.form.submit();'>\n";
foreach (array_reverse($va_search_history) as $vs_search => $va_search_info) {
$SELECTED = $vs_cur_search == $va_search_info['display'] ? 'SELECTED="1"' : '';
$vs_display = strip_tags($va_search_info['display']);
if (unicode_strlen($vs_display) > 15) {
$vs_display = unicode_substr($vs_display, 0, 12) . '...';
}
print "<option value='" . htmlspecialchars($vs_search, ENT_QUOTES, 'UTF-8') . "' {$SELECTED}>" . $vs_display . " (" . $va_search_info['hits'] . ")</option>\n";
}
print "</select>\n";
print "</form>\n";
print "</div>";
}
print "</form>\n";
?>
<a href='#' id='hideOptions' onclick='$("#searchOptionsBox").slideUp(250); $("#showOptions").slideDown(1); return false;'><?php
print _t("Hide");
?>
› </a>
<div style='clear:both;height:1px;'> </div>
示例11: _t
print "<option value='" . $vs_view . "' " . ($vs_view == $vs_current_view ? "SELECTED='1'" : "") . ">" . $vs_name . "</option>\n";
}
}
print "</select>\n";
print "</div>";
$va_search_history = $this->getVar('search_history');
$vs_cur_search = $vo_result_context->getSearchExpression();
if (is_array($va_search_history) && sizeof($va_search_history) > 0) {
print "<div class='col'>";
print _t("Search history:") . " ";
print caFormTag($this->request, 'Index', 'caSearchHistoryForm');
print "<select name='search' onchange='this.form.submit();'>\n";
foreach (array_reverse($va_search_history) as $vs_search => $va_search_info) {
$SELECTED = $vs_cur_search == $va_search_info['display'] ? 'SELECTED="1"' : '';
$vs_display = strip_tags($va_search_info['display']);
if (unicode_strlen($vs_display) > 20) {
$vs_display = unicode_substr($vs_display, 0, 17) . '...';
}
print "<option value='" . htmlspecialchars($vs_search, ENT_QUOTES, 'UTF-8') . "' {$SELECTED}>" . $vs_display . " (" . $va_search_info['hits'] . ")</option>\n";
}
print "</select>\n";
print "</form>\n";
print "</div>";
}
print "</form>\n";
?>
<a href='#' id='hideOptions' onclick='$("#searchOptionsBox").slideUp(250); $("#showOptions").slideDown(1); return false;'><?php
print _t("Hide");
?>
<img src="<?php
print $this->request->getThemeUrlPath();
示例12: foreach
</th>
<?php
// output headers
$vn_id_count = 0;
foreach ($va_display_list as $va_display_item) {
if ($va_display_item['is_sortable']) {
if ($vs_current_sort == $va_display_item['bundle_sort']) {
print "<th class='list-header-sorted-asc'><span id='listHeader" . $vn_id_count . "'><nobr>" . (unicode_strlen($va_display_item['display']) > 17 ? strip_tags(mb_substr($va_display_item['display'], 0, 15)) . "..." : $va_display_item['display']) . "</nobr></span></th>";
TooltipManager::add('#listHeader' . $vn_id_count, _t("Currently sorting by ") . $va_display_item['display']);
} else {
print "<th class='list-header-unsorted'><span id='listHeader1" . $vn_id_count . "'><nobr>" . caNavLink($this->request, unicode_strlen($va_display_item['display']) > 17 ? strip_tags(mb_substr($va_display_item['display'], 0, 15)) . "..." : $va_display_item['display'], '', $this->request->getModulePath(), $this->request->getController(), 'Index', array('sort' => $va_display_item['bundle_sort'])) . "</nobr></span></th>";
TooltipManager::add('#listHeader1' . $vn_id_count, _t("Click to sort by ") . $va_display_item['display']);
}
} else {
print "<th class='list-header-nosort'><span id='listHeader2" . $vn_id_count . "'><nobr>" . (unicode_strlen($va_display_item['display']) > 17 ? strip_tags(mb_substr($va_display_item['display'], 0, 15)) . "..." : $va_display_item['display']) . "</nobr></span></th>";
TooltipManager::add('#listHeader2' . $vn_id_count, $va_display_item['display']);
}
$vn_id_count++;
}
?>
</tr></thead><tbody>
<?php
$i = 0;
$vn_item_count = 0;
while ($vn_item_count < $vn_items_per_page && $vo_result->nextHit()) {
$vn_entity_id = $vo_result->get('entity_id');
if ($vo_ar->userCanAccess($this->request->user->getUserID(), array("editor", "entities"), "EntityEditor", "Edit", array("entity_id" => $vn_entity_id))) {
$vs_action = "Edit";
} else {
$vs_action = "Summary";
示例13: unicode_strlen
* GNU General Public License. (http://www.gnu.org/copyleft/gpl.html). See
* the "license.txt" file for details, or visit the CollectiveAccess web site at
* http://www.CollectiveAccess.org
*
* ----------------------------------------------------------------------
*/
?>
<div class="tooltipImage">
<?php
print $this->getVar('tooltip_representation');
?>
</div>
<div class="tooltipCaption">
<?php
if ($this->getVar('tooltip_title')) {
print "<div><b>TITLE:</b> ";
print unicode_strlen($this->getVar('tooltip_title')) > 200 ? substr(strip_tags($this->getVar('tooltip_title')), '0', '200') . "..." : $this->getVar('tooltip_title');
print "</div>";
}
if ($this->getVar('tooltip_idno')) {
print "<div><b>ID:</b> ";
print $this->getVar('tooltip_idno');
print "</div>";
}
if ($this->getVar('tooltip_altid')) {
print "<div><b>Alternate ID:</b> ";
print $this->getVar('tooltip_altid');
print "</div>";
}
?>
</div>
示例14: Get
public function Get()
{
//$tt = new Timer();
$ps_query = $this->request->getParameter('q', pString);
//file_put_contents("/tmp/times", "### QUERY: {$ps_query}\n", FILE_APPEND);
$va_items = array();
if (unicode_strlen($ps_query) >= 3) {
try {
$vo_ctx = stream_context_create(array('http' => array('timeout' => 5)));
/* // ITIS
$i = 0;
$vo_doc = new DOMDocument();
//$t = new Timer();
$vs_result = @file_get_contents("http://www.itis.gov/ITISWebService/services/ITISService/searchForAnyMatch?srchKey={$ps_query}",0,$vo_ctx);
//file_put_contents("/tmp/times", "ITIS: {$t->getTime(2)}\n", FILE_APPEND);
if(strlen($vs_result)>0){
$vo_doc->loadXML($vs_result);
$vo_resultlist = $vo_doc->getElementsByTagName("anyMatchList");
foreach($vo_resultlist as $vo_result){
$vs_cn = $vs_sn = $vs_id = "";
foreach($vo_result->childNodes as $vo_field){
switch($vo_field->nodeName){
case "ax23:commonNameList":
foreach($vo_field->childNodes as $vo_cns){
if($vo_cns->nodeName == "ax23:commonNames"){
foreach($vo_cns->childNodes as $vo_cn){
if($vo_cn->nodeName == "ax23:commonName"){
$vs_cn = $vo_cn->textContent;
}
}
}
}
break;
case "ax23:tsn":
$vs_id = $vo_field->textContent;
break;
case "ax23:sciName":
$vs_sn = $vo_field->textContent;
break;
default:
break;
}
}
if(strlen($vs_id)>0){
$va_items["itis".$vs_id] = array(
"idno" => "ITIS:{$vs_id}",
"common_name" => $vs_cn,
"sci_name" => $vs_sn
);
if(++$i == 50){ // let's limit to 50 results, right?
break;
}
}
}
} else {
$va_items['error_itis'] = array(
'msg' => _t('ERROR: ITIS web service query failed.'),
);
}*/
// uBio
$vo_conf = new Configuration();
$vs_ubio_keycode = trim($vo_conf->get("ubio_keycode"));
if (strlen($vs_ubio_keycode) > 0) {
$vo_doc = new DOMDocument();
//$t = new Timer();
$vs_result = @file_get_contents("http://www.ubio.org/webservices/service.php?function=namebank_search&searchName={$ps_query}&sci=1&vern=1&keyCode={$vs_ubio_keycode}", 0, $vo_ctx);
//file_put_contents("/tmp/times", "uBIO: {$t->getTime(2)}\n", FILE_APPEND);
if (strlen($vs_result) > 0) {
$vo_doc->loadXML($vs_result);
$vo_resultlist = $vo_doc->getElementsByTagName("value");
$i = 0;
foreach ($vo_resultlist as $vo_result) {
$vs_name = $vs_id = $vs_package = $vs_cn = "";
if ($vo_result->parentNode->nodeName == "scientificNames") {
foreach ($vo_result->childNodes as $vo_field) {
switch ($vo_field->nodeName) {
case "nameString":
$vs_name = base64_decode($vo_field->textContent);
break;
case "namebankID":
$vs_id = $vo_field->textContent;
break;
case "packageName":
$vs_package = $vo_field->textContent;
break;
default:
break;
}
}
} elseif ($vo_result->parentNode->nodeName == "vernacularNames") {
foreach ($vo_result->childNodes as $vo_field) {
switch ($vo_field->nodeName) {
case "fullNameStringLink":
$vs_name = base64_decode($vo_field->textContent);
break;
case "namebankIDLink":
$vs_id = $vo_field->textContent;
break;
case "packageName":
$vs_package = $vo_field->textContent;
//.........这里部分代码省略.........
示例15: caNavLink
'>
<div id='setItemContainer<?php
print $vn_item_id;
?>
' class='imagecontainer'>
<div class='remove'><a href='#' class='setDeleteButton' id='setItemDelete<?php
print $vn_item_id;
?>
'>X</a></div>
<div class='setItemThumbnail'>
<?php
if ($va_item['representation_tag_thumbnail']) {
print caNavLink($this->request, $va_item['representation_tag_thumbnail'], '', 'Detail', 'Object', 'Show', array('object_id' => $va_item['row_id']));
}
if ($va_item['name']) {
if (unicode_strlen($va_item['name']) > 70) {
$va_title[] = '<em>' . unicode_substr($va_item['name'], 0, 67) . '...</em>';
} else {
$va_title[] = '<em>' . $va_item['name'] . '</em>';
}
}
if ($va_item['idno']) {
$va_title[] = $va_item['idno'];
}
$vs_title = join('<br/>', $va_title);
?>
</div>
<div id='caption<?php
print $vn_item_id;
?>
' class='setItemCaption'><?php