本文整理匯總了PHP中data_entry_helper::array_to_query_string方法的典型用法代碼示例。如果您正苦於以下問題:PHP data_entry_helper::array_to_query_string方法的具體用法?PHP data_entry_helper::array_to_query_string怎麽用?PHP data_entry_helper::array_to_query_string使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類data_entry_helper
的用法示例。
在下文中一共展示了data_entry_helper::array_to_query_string方法的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: subscribe
/**
* Method called when posting the form. Saves the subscription details to the warehouse.
* @param $args
* @param $auth
* @throws \exception
*/
private static function subscribe($args, $auth)
{
$url = data_entry_helper::$base_url . 'index.php/services/species_alerts/register?';
$params = array('auth_token' => $auth['write_tokens']['auth_token'], 'nonce' => $auth['write_tokens']['nonce'], 'first_name' => $_POST['first_name'], 'surname' => $_POST['surname'], 'email' => $_POST['email'], 'website_id' => $args['website_id'], 'alert_on_entry' => $_POST['species_alert:alert_on_entry'] ? 't' : 'f', 'alert_on_verify' => $_POST['species_alert:alert_on_verify'] ? 't' : 'f');
if (!empty($_POST['species_alert:id'])) {
$params['id'] = $_POST['species_alert:id'];
}
if (!empty($_POST['species_alert:taxon_list_id'])) {
$params['taxon_list_id'] = $_POST['species_alert:taxon_list_id'];
}
if (!empty($_POST['species_alert:location_id'])) {
$params['location_id'] = $_POST['species_alert:location_id'];
}
if (!empty($_POST['user_id'])) {
$params['user_id'] = $_POST['user_id'];
}
if (!empty($_POST['taxa_taxon_list_id'])) {
// We've got a taxa_taxon_list_id in the post data. But, it is better to subscribe via a taxon
// meaning ID, or even better, the external key.
$taxon = data_entry_helper::get_population_data(array('table' => 'taxa_taxon_list', 'extraParams' => $auth['read'] + array('id' => $_POST['taxa_taxon_list_id'], 'view' => 'cache')));
if (count($taxon) !== 1) {
throw new exception('Unable to find unique taxon when attempting to subscribe');
}
$taxon = $taxon[0];
if (!empty($taxon['external_key'])) {
$params['external_key'] = $taxon['external_key'];
} else {
$params['taxon_meaning_id'] = $taxon['taxon_meaning_id'];
}
} elseif (!empty($_POST['species_alert:external_key'])) {
$params['external_key'] = $_POST['species_alert:external_key'];
} elseif (!empty($_POST['species_alert:taxon_meaning_id'])) {
$params['taxon_meaning_id'] = $_POST['species_alert:taxon_meaning_id'];
}
$url .= data_entry_helper::array_to_query_string($params, true);
$result = data_entry_helper::http_post($url);
if ($result['result']) {
hostsite_show_message(lang::get('Your subscription has been saved.'));
} else {
hostsite_show_message(lang::get('There was a problem saving your subscription.'));
if (function_exists('watchdog')) {
watchdog('iform', 'Species alert error on save: ' . print_r($result, true));
}
}
}
示例2: get_success_page
private static function get_success_page($args, $auth, $sample_id)
{
$reload = data_entry_helper::get_reload_link_parts();
if (isset($reload['params']['occurrence_id'])) {
unset($reload['params']['occurrence_id']);
}
if (isset($reload['params']['sample_id'])) {
unset($reload['params']['sample_id']);
}
$reload['params']['new'] = "1";
$newPath = $reload['path'] . '?' . data_entry_helper::array_to_query_string($reload['params']);
unset($reload['params']['new']);
$reload['params']['sample_id'] = $sample_id;
$reloadPath = $reload['path'] . '?' . data_entry_helper::array_to_query_string($reload['params']);
$attributes = data_entry_helper::getAttributes(array('valuetable' => 'sample_attribute_value', 'attrtable' => 'sample_attribute', 'key' => 'sample_id', 'fieldprefix' => 'smpAttr', 'extraParams' => $auth['read'] + array("untranslatedCaption" => "Shore Height"), 'survey_id' => $args['survey_id'], 'sample_method_id' => $args['transect_level_sample_method_id'], 'id' => $sample_id));
$shore = '';
foreach ($attributes as $attribute) {
if ($attribute['untranslatedCaption'] == 'Shore Height') {
$shore = ' (' . $attribute['displayValue'] . ' ' . $attribute['caption'] . ')';
}
}
$r = '<h1>' . lang::get('Thank you!') . '</h1>' . '<h2>' . lang::get('Your survey data is a valuable contribution to the Capturing Our Coast programme.') . '</h2>' . '<p>' . str_replace(array('{name}', '{date}', '{shore}'), array(data_entry_helper::$entity_to_load['sample:location_name'], data_entry_helper::$entity_to_load['sample:date'], $shore), lang::get('You have completed entering your data for Transect "{name}" {shore} on {date}. ' . 'You can now choose to do one of several different things:')) . '</p><ul>' . '<li>' . str_replace('{newpath}', $newPath, lang::get('You can enter visit details for a new Transect by clicking <a href="{newpath}">here</a>.')) . '</li>' . '<li>' . str_replace('{reloadpath}', $reloadPath, lang::get('You can go back into the Transect you have just entered, to modify the data or upload photos, by clicking <a href="{reloadpath}">here</a>.')) . '</li>' . '<li>' . lang::get('Alternatively, you can choose one of the options in the main menu above, e.g. to explore your records.') . '</li>' . '</ul>';
return $r;
}
示例3: get_form
/**
* Return the generated form output.
* @param array $args List of parameter values passed through to the form depending on how the form has been configured.
* This array always contains a value for language.
* @param object $node The Drupal node object.
* @param array $response When this form is reloading after saving a submission, contains the response from the service call.
* Note this does not apply when redirecting (in this case the details of the saved object are in the $_GET data).
* @return Form HTML.
*/
public static function get_form($args, $node, $response = null)
{
if (!($user_id = hostsite_get_user_field('indicia_user_id'))) {
return self::abort('Please ensure that you\'ve filled in your surname on your user profile before leaving a group.', $args);
}
if (empty($_GET['group_id'])) {
return self::abort('This form must be called with a group_id in the URL parameters.', $args);
}
$r = '';
$auth = data_entry_helper::get_read_write_auth($args['website_id'], $args['password']);
$group = data_entry_helper::get_population_data(array('table' => 'group', 'extraParams' => $auth['read'] + array('id' => $_GET['group_id']), 'nocache' => true));
if (count($group) !== 1) {
return self::abort('The group you\'ve requested membership of does not exist.', $args);
}
iform_load_helpers(array('submission_builder'));
$group = $group[0];
// Check for an existing group user record
$existing = data_entry_helper::get_population_data(array('table' => 'groups_user', 'extraParams' => $auth['read'] + array('group_id' => $_GET['group_id'], 'user_id' => $user_id), 'nocache' => true));
if (count($existing) !== 1) {
return self::abort('You are not a member of this group.', $args);
}
if (!empty($_POST['response']) && $_POST['response'] === lang::get('Cancel')) {
drupal_goto($args['groups_page_path']);
} elseif (!empty($_POST['response']) && $_POST['response'] === lang::get('Confirm')) {
$data = array('groups_user:id' => $existing[0]['id'], 'groups_user:group_id' => $group['id'], 'groups_user:user_id' => $user_id, 'deleted' => 't');
$wrap = submission_builder::wrap($data, 'groups_user');
$response = data_entry_helper::forward_post_to('groups_user', $wrap, $auth['write_tokens']);
if (isset($response['success'])) {
hostsite_show_message("You are no longer participating in {$group['title']}!");
drupal_goto($args['groups_page_path']);
} else {
return self::abort('An error occurred whilst trying to update your group membership.');
}
} else {
// First access of the form. Let's get confirmation
$reload = data_entry_helper::get_reload_link_parts();
$reloadpath = $reload['path'] . '?' . data_entry_helper::array_to_query_string($reload['params']);
$r = '<form action="' . $reloadpath . '" method="POST"><fieldset>';
$r .= '<legend>' . lang::get('Confirmation') . '</legend>';
$r .= '<input type="hidden" name="leave" value="1" />';
$r .= '<p>' . lang::get('Are you sure you want to stop participating in {1}?', $group['title']) . '</p>';
$r .= '<input type="submit" value="' . lang::get('Confirm') . '" name="response" />';
$r .= '<input type="submit" value="' . lang::get('Cancel') . '" name="response" />';
$r .= '</fieldset></form>';
}
return $r;
}
示例4: get_redirect_on_success
/**
* Save button takes us to the next transect.
*/
public static function get_redirect_on_success($values, $args)
{
if (!empty($values['next-zone']) && !empty($values['next-transect'])) {
return $args['redirect_on_success'] . '?' . data_entry_helper::array_to_query_string(array('table' => 'sample', 'id' => $values['sample:parent_id'], 'zone' => $values['next-zone'], 'transect' => $values['next-transect']));
} else {
return $args['front_page_path'];
}
}
示例5: report_picker
public static function report_picker($args, $node, $readAuth)
{
$r = '<ul class="categories">';
$available = self::get_reports();
$regionTerm = self::get_region_term($args, $readAuth);
foreach ($available as $catName => $catDef) {
$catDef['title'] = str_replace('#main_location_layer_type#', $regionTerm, $catDef['title']);
$catTitleDone = false;
foreach ($catDef['reports'] as $report => $reportDef) {
$reportDef['title'] = str_replace('#main_location_layer_type#', $regionTerm, $reportDef['title']);
$reportDef['description'] = str_replace('#main_location_layer_type#', $regionTerm, $reportDef['description']);
$argName = "report_{$catName}_{$report}";
if (!empty($args[$argName]) && $args[$argName]) {
if (!$catTitleDone) {
$r .= "<li>\n";
$r .= "<h2>{$catDef['title']}</h2>\n<ul class=\"reports\">";
$catTitleDone = true;
}
$r .= "<li><h3>{$reportDef['title']}</h3><p>{$reportDef['description']}</p>";
$reload = data_entry_helper::get_reload_link_parts();
$path = $reload['path'] . '?' . data_entry_helper::array_to_query_string($reload['params'] + array('catname' => $catName, 'report' => $report));
$r .= '<ul class="report-outputs">';
foreach ($reportDef['outputs'] as $idx => $output) {
$outputLabel = str_replace('_', ' ', $output);
$r .= "<li><a class=\"link-{$output}\" href=\"{$path}&output={$output}\"/>View {$outputLabel}</a></li>";
}
$r .= '</ul>';
$r .= '</li>';
}
}
if ($catTitleDone) {
$r .= '</ul></li>';
}
}
$r .= '</ul>';
return $r;
}
示例6: upload_mappings_form
/**
* Outputs the form for mapping columns to the import fields.
* @param array $options Options array passed to the import control.
*/
private static function upload_mappings_form($options)
{
//The Shorewatch importer only supports 4326 as this is required for the occurrence sample grid reference
//calculations to work. This can be hardcoded.
$_POST['sample:entered_sref_system'] = 4326;
$_SESSION['importSettingsToCarryForward'] = $_POST;
if (!file_exists($_SESSION['uploaded_file'])) {
return lang::get('upload_not_available');
}
data_entry_helper::add_resource('jquery_ui');
$filename = basename($_SESSION['uploaded_file']);
// If the last step was skipped because the user did not have any settings to supply, presetSettings contains the presets.
// Otherwise we'll use the settings form content which already in $_POST so will overwrite presetSettings.
if (isset($options['presetSettings'])) {
$settings = array_merge($options['presetSettings'], $_POST);
} else {
$settings = $_POST;
}
// only want defaults that actually have a value - others can be set on a per-row basis by mapping to a column
foreach ($settings as $key => $value) {
if (empty($value)) {
unset($settings[$key]);
}
}
//The Shorewatch importer only supports 4326 as this is required for the occurrence sample grid reference
//calculations to work. This can be hardcoded.
$settings['sample:entered_sref_system'] = 4326;
// cache the mappings
$metadata = array('settings' => json_encode($settings));
$post = array_merge($options['auth']['write_tokens'], $metadata);
$request = data_entry_helper::$base_url . "index.php/services/import/cache_upload_metadata?uploaded_csv={$filename}";
$response = data_entry_helper::http_post($request, $post);
if (!isset($response['output']) || $response['output'] != 'OK') {
return "Could not upload the settings metadata. <br/>" . print_r($response, true);
}
$request = data_entry_helper::$base_url . "index.php/services/import/get_import_fields/" . $options['model'];
$request .= '?' . data_entry_helper::array_to_query_string($options['auth']['read']);
// include survey and website information in the request if available, as this limits the availability of custom attributes
if (!empty($settings['website_id'])) {
$request .= '&website_id=' . trim($settings['website_id']);
}
if (!empty($settings['survey_id'])) {
$request .= '&survey_id=' . trim($settings['survey_id']);
}
$response = data_entry_helper::http_post($request, array());
$fields = json_decode($response['output'], true);
if (!is_array($fields)) {
return "curl request to {$request} failed. Response " . print_r($response, true);
}
$request = str_replace('get_import_fields', 'get_required_fields', $request);
$response = data_entry_helper::http_post($request);
$responseIds = json_decode($response['output'], true);
if (!is_array($responseIds)) {
return "curl request to {$request} failed. Response " . print_r($response, true);
}
$model_required_fields = self::expand_ids_to_fks($responseIds);
if (!empty($settings)) {
$preset_fields = self::expand_ids_to_fks(array_keys($settings));
} else {
$preset_fields = array();
}
if (!empty($preset_fields)) {
$unlinked_fields = array_diff_key($fields, array_combine($preset_fields, $preset_fields));
} else {
$unlinked_fields = $fields;
}
// only use the required fields that are available for selection - the rest are handled somehow else
$unlinked_required_fields = array_intersect($model_required_fields, array_keys($unlinked_fields));
ini_set('auto_detect_line_endings', 1);
$handle = fopen($_SESSION['uploaded_file'], "r");
$columns = fgetcsv($handle, 1000, ",");
$reload = data_entry_helper::get_reload_link_parts();
$reloadpath = $reload['path'] . '?' . data_entry_helper::array_to_query_string($reload['params']);
self::clear_website_survey_fields($unlinked_fields, $settings);
self::clear_website_survey_fields($unlinked_required_fields, $settings);
$savedFieldMappings = array();
// Note the Shorewatch importer doesn't currently support remembered fields, so set this to false (we are reusing a lot of the import_helper code, so leave the variable in the code as it already has proven reliability).
self::$rememberingMappings = false;
// if the user checked the Remember All checkbox, save it in a variable
if (isset($savedFieldMappings['RememberAll'])) {
$checked['RememberAll'] = 'checked';
}
$r = "<form method=\"post\" id=\"entry_form\" action=\"{$reloadpath}\" class=\"iform\">\n" . '<p>' . lang::get('column_mapping_instructions') . '</p>' . '<div class="ui-helper-clearfix import-mappings-table"><table class="ui-widget ui-widget-content">' . '<thead class="ui-widget-header">' . "<tr><th>Column in CSV File</th><th>Maps to attribute</th>";
if (self::$rememberingMappings) {
$r .= "<th id='remember-all-header' name='remember-all-header'>" . lang::get('Remember choice?') . "<br/><input type='checkbox' name='RememberAll' id='RememberAll' value='1' title='Tick all boxes to remember every column mapping next time you import.' {$checked['RememberAll']} onclick='\n if (this.checked) {\n \$(\".rememberField\").attr(\"checked\",\"checked\")\n } else {\n \$(\".rememberField\").removeAttr(\"checked\")\n }'/></th>";
}
$r .= '</tr></thead><tbody>';
foreach ($columns as $column) {
$colFieldName = preg_replace('/[^A-Za-z0-9]/', '_', $column);
$r .= "<tr><td>{$column}</td><td><select name=\"{$colFieldName}\" id=\"{$colFieldName}\">";
$r .= self::get_column_options($options['model'], $unlinked_fields, $column, ' ', $savedFieldMappings);
$r .= "</select></td></tr>\n";
}
$r .= '</tbody>';
$r .= '</table>';
$r .= '<div id="required-instructions" class="import-mappings-instructions"><h2>' . lang::get('Tasks') . '</h2><span>' . lang::get('The following database attributes must be matched to a column in your import file before you can continue') . ':</span><ul></ul><br/></div>';
//.........這裏部分代碼省略.........
示例7: report_filter_panel
//.........這裏部分代碼省略.........
if ($survey_ids) {
$def['survey_list'] = implode(',', array_filter($survey_ids));
}
$contextDefs['default'] = $def;
}
}
}
if (!empty($_GET['context_id'])) {
$options['context_id'] = $_GET['context_id'];
}
if (!empty($_GET['filter_id'])) {
$options['filter_id'] = $_GET['filter_id'];
}
if (!empty($_GET['filters_user_id'])) {
$options['filters_user_id'] = $_GET['filters_user_id'];
}
foreach ($filterData as $filter) {
if ($filter['defines_permissions'] === 't') {
$selected = !empty($options['context_id']) && $options['context_id'] == $filter['id'] ? 'selected="selected" ' : '';
$contexts .= "<option value=\"{$filter['id']}\" {$selected}>{$filter['title']}</option>";
$contextDefs[$filter['id']] = json_decode($filter['definition']);
} else {
$selected = !empty($options['filter_id']) && $options['filter_id'] == $filter['id'] ? 'selected="selected" ' : '';
$existing .= "<option value=\"{$filter['id']}\" {$selected}>{$filter['title']}</option>";
}
}
$r = '<div id="standard-params" class="ui-widget">';
if ($options['allowSave'] && $options['admin']) {
if (empty($_GET['filters_user_id'])) {
// new filter to create, so sharing type can be edited
$reload = data_entry_helper::get_reload_link_parts();
$reloadPath = $reload['path'];
if (count($reload['params'])) {
$reloadPath .= '?' . data_entry_helper::array_to_query_string($reload['params']);
}
$r .= "<form action=\"{$reloadPath}\" method=\"post\" >";
$r .= data_entry_helper::select(array('label' => lang::get('Select filter type'), 'fieldname' => 'filter:sharing', 'lookupValues' => $options['adminCanSetSharingTo'], 'afterControl' => '<input type="submit" value="Go"/>', 'default' => $options['sharingCode']));
$r .= '</form>';
} else {
// existing filter to edit, type is therefore fixed. JS will fill these values in.
$r .= '<p>' . lang::get('This filter is for <span id="sharing-type-label"></span>.') . '</p>';
$r .= data_entry_helper::hidden_text(array('fieldname' => 'filter:sharing'));
}
}
if ($options['allowLoad']) {
$r .= '<div class="header ui-toolbar ui-widget-header ui-helper-clearfix"><div><span id="active-filter-label">' . lang::get('New report') . '</span></div><span class="changed" style="display:none" title="This filter has been changed">*</span>';
$r .= '<div>';
if ($contexts) {
data_entry_helper::$javascript .= "indiciaData.filterContextDefs = " . json_encode($contextDefs) . ";\n";
if (count($contextDefs) > 1) {
$r .= '<label for="context-filter">' . lang::get('Context:') . "</label><select id=\"context-filter\">{$contexts}</select>";
} else {
$keys = array_keys($contextDefs);
$r .= '<input type="hidden" id="context-filter" value="' . $keys[0] . '" />';
}
}
$r .= '<label for="select-filter">' . lang::get('Filter:') . '</label><select id="select-filter"><option value="" selected="selected">' . lang::get('Select filter') . "...</option>{$existing}</select>";
$r .= '<button type="button" id="filter-apply">' . lang::get('Apply') . '</button>';
$r .= '<button type="button" id="filter-reset" class="disabled">' . lang::get('Reset') . '</button>';
$r .= '<button type="button" id="filter-build">' . lang::get('Create a filter') . '</button></div>';
$r .= '</div>';
$r .= '<div id="filter-details" style="display: none">';
$r .= '<img src="' . data_entry_helper::$images_path . 'nuvola/close-22px.png" width="22" height="22" alt="Close filter builder" title="Close filter builder" class="button" id="filter-done"/>' . "\n";
} else {
$r .= '<div id="filter-details">';
if (!empty($options['filter_id'])) {