本文整理汇总了PHP中SavedSearch::retrieve方法的典型用法代码示例。如果您正苦于以下问题:PHP SavedSearch::retrieve方法的具体用法?PHP SavedSearch::retrieve怎么用?PHP SavedSearch::retrieve使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SavedSearch
的用法示例。
在下文中一共展示了SavedSearch::retrieve方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: handleDelete
public function handleDelete($id)
{
$savedSearch = new SavedSearch();
$savedSearch->handleDelete($id);
$result = $savedSearch->retrieve($id);
$this->assertEquals(null, $result);
}
示例2: testSaveNumericFields
public function testSaveNumericFields()
{
global $current_user;
require_once 'modules/SavedSearch/SavedSearch.php';
$focus = new SavedSearch();
$focus->retrieve($this->saved_search_id);
$_REQUEST = unserialize(base64_decode($focus->contents));
$_REQUEST['start_range_amount_advanced'] = '$9,500.00';
$_REQUEST['end_range_amount_advanced'] = '$49,500.00';
$mockBean = new Bug42915MockOpportunity();
$focus->handleSave('', false, '', $this->saved_search_id, $mockBean);
//Now retrieve what we have saved and test
$focus->retrieveSavedSearch($this->saved_search_id);
$formatted_data = $focus->contents;
$this->assertEquals(9500, $formatted_data['start_range_amount_advanced'], "Assert that value is unformatted value 9500");
$this->assertEquals(49500, $formatted_data['end_range_amount_advanced'], "Assert that value is unformatted value 49500");
$focus->populateRequest();
$this->assertEquals('$9,500.00', $_REQUEST['start_range_amount_advanced'], "Assert that value is formatted value \$9,500.00");
$this->assertEquals('$49,500.00', $_REQUEST['end_range_amount_advanced'], "Assert that value is formatted value \$49,500.00");
$current_user->setPreference('num_grp_sep', '.');
$current_user->setPreference('dec_sep', ',');
$current_user->save();
//Force reset on dec_sep and num_grp_sep because the dec_sep and num_grp_sep values are stored as static variables
get_number_seperators(true);
$focus = new SavedSearch();
$focus->retrieveSavedSearch($this->saved_search_id);
$focus->populateRequest();
$this->assertEquals('$9.500,00', $_REQUEST['start_range_amount_advanced'], "Assert that value is formatted value \$9,500.00");
$this->assertEquals('$49.500,00', $_REQUEST['end_range_amount_advanced'], "Assert that value is formatted value \$49,500.00");
//Okay so now what happens if they don't specify currency or separator or decimal values?
$_REQUEST['start_range_amount_advanced'] = '9500';
$_REQUEST['end_range_amount_advanced'] = '49500';
//Well then the populated values should be unformatted!
$focus->handleSave('', false, '', $this->saved_search_id, $mockBean);
$focus->retrieveSavedSearch($this->saved_search_id);
$focus->populateRequest();
$this->assertEquals(9500, $_REQUEST['start_range_amount_advanced'], "Assert that value is unformatted value 9500");
$this->assertEquals(49500, $_REQUEST['end_range_amount_advanced'], "Assert that value is unformatted value 49500");
}
示例3: while
function __construct()
{
$result = $GLOBALS['db']->query("SELECT id FROM saved_search");
while ($row = $GLOBALS['db']->fetchByAssoc($result)) {
$focus = new SavedSearch();
$focus->retrieve($row['id']);
$contents = unserialize(base64_decode($focus->contents));
$has_team_name_saved = isset($contents['team_name_advanced']) || isset($contents['team_name_basic']) ? true : false;
//If $contents['searchFormTab'] is set then this is coming from a 4.x saved search
if (isset($contents['searchFormTab']) && $contents['searchFormTab'] == 'saved_views') {
$new_contents = array();
$module = $contents['search_module'];
$advanced = !empty($contents['advanced']);
$field_map = array();
if (file_exists("custom/modules/{$module}/metadata/searchdefs.php")) {
require "custom/modules/{$module}/metadata/searchdefs.php";
$field_map = $advanced ? $searchdefs[$module]['layout']['advanced_search'] : $searchdefs[$module]['layout']['basic_search'];
} else {
if (file_exists("modules/{$module}/metadata/SearchFields.php")) {
require "modules/{$module}/metadata/SearchFields.php";
$field_map = $searchFields[$module];
} else {
$bean = loadBean($module);
$field_map = $bean->field_name_map;
}
}
//Special case for team_id field (from 4.5.x)
if (isset($contents['team_id'])) {
$contents['team_name'] = $contents['team_id'];
unset($contents['team_id']);
}
foreach ($contents as $key => $value) {
if (isset($field_map[$key])) {
$new_key = $key . ($advanced ? '_advanced' : '_basic');
if (preg_match('/^team_name_(advanced|basic)$/', $new_key)) {
if (!is_array($value)) {
$temp_value = array();
$teap_value[] = $value;
$value = $temp_value;
}
$team_results = $GLOBALS['db']->query("SELECT id, name FROM teams where id in ('" . implode("','", $value) . "')");
if (!empty($team_results)) {
$count = 0;
while ($team_row = $GLOBALS['db']->fetchByAssoc($team_results)) {
$team_key = $new_key . '_collection_' . $count;
$new_contents[$team_key] = $team_row['name'];
$new_contents['id_' . $team_key] = $team_row['id'];
$count++;
}
//while
}
//if
//Unset the original key
unset($new_contents[$key]);
//Add the any switch
$new_contents[$new_key . '_type'] = 'any';
} else {
$new_contents[$new_key] = $value;
}
} else {
$new_contents[$key] = $value;
}
}
$new_contents['searchFormTab'] = $advanced ? 'advanced_search' : 'basic_search';
$content = base64_encode(serialize($new_contents));
$GLOBALS['db']->query("UPDATE saved_search SET contents = '{$content}' WHERE id = '{$row['id']}'");
} else {
if ($has_team_name_saved) {
//Otherwise, if the boolean has_team_name_saved is set to true, we also need to parse (coming from 5.x)
if (isset($contents['team_name_advanced'])) {
$team_results = $GLOBALS['db']->query("SELECT name FROM teams where id = '{$contents['team_name_advanced']}'");
if (!empty($team_results)) {
$team_row = $GLOBALS['db']->fetchByAssoc($team_results);
$contents['team_name_advanced_collection_0'] = $team_row['name'];
$contents['id_team_name_advanced_collection_0'] = $contents['team_name_advanced'];
$contents['team_name_advanced_type'] = 'any';
unset($contents['team_name_advanced']);
$content = base64_encode(serialize($contents));
$GLOBALS['db']->query("UPDATE saved_search SET contents = '{$content}' WHERE id = '{$row['id']}'");
}
}
}
}
}
//while
}
示例4: handleSave
function handleSave($prefix, $redirect = true, $useRequired = false, $id = null, $searchModuleBean)
{
global $current_user, $timedate;
$focus = new SavedSearch();
if ($id) {
$focus->retrieve($id);
}
if ($useRequired && !checkRequired($prefix, array_keys($focus->required_fields))) {
return null;
}
$ignored_inputs = array('PHPSESSID', 'module', 'action', 'saved_search_name', 'saved_search_select', 'advanced', 'Calls_divs', 'ACLRoles_divs');
$contents = $_REQUEST;
if ($id == null) {
$focus->name = $contents['saved_search_name'];
}
$focus->search_module = $contents['search_module'];
foreach ($contents as $input => $value) {
if (in_array($input, $ignored_inputs)) {
unset($contents[$input]);
continue;
}
//Filter date fields to ensure it is saved to DB format, but also avoid empty values
if (!empty($value) && preg_match('/^(start_range_|end_range_|range_)?(.*?)(_advanced|_basic)$/', $input, $match)) {
$field = $match[2];
if (isset($searchModuleBean->field_defs[$field]['type'])) {
$type = $searchModuleBean->field_defs[$field]['type'];
//Avoid macro values for the date types
if (($type == 'date' || $type == 'datetime' || $type == 'datetimecombo') && !preg_match('/^\\[.*?\\]$/', $value)) {
$db_format = $timedate->to_db_date($value, false);
$contents[$input] = $db_format;
} else {
if ($type == 'int' || $type == 'currency' || $type == 'decimal' || $type == 'float') {
if (preg_match('/[^\\d]/', $value)) {
require_once 'modules/Currencies/Currency.php';
$contents[$input] = unformat_number($value);
//Flag this value as having been unformatted
$contents[$input . '_unformatted_number'] = true;
//If the type is of currency and there was a currency symbol (non-digit), save the symbol
if ($type == 'currency' && preg_match('/^([^\\d])/', $value, $match)) {
$contents[$input . '_currency_symbol'] = $match[1];
}
} else {
//unset any flags
if (isset($contents[$input . '_unformatted_number'])) {
unset($contents[$input . '_unformatted_number']);
}
if (isset($contents[$input . '_currency_symbol'])) {
unset($contents[$input . '_currency_symbol']);
}
}
}
}
}
}
}
$contents['advanced'] = true;
$focus->contents = base64_encode(serialize($contents));
$focus->assigned_user_id = $current_user->id;
$focus->new_schema = true;
$saved_search_id = $focus->save();
$GLOBALS['log']->debug("Saved record with id of " . $focus->id);
$orderBy = empty($contents['orderBy']) ? 'name' : $contents['orderBy'];
$search_query = "&orderBy=" . $orderBy . "&sortOrder=" . $contents['sortOrder'] . "&query=" . $_REQUEST['query'] . "&searchFormTab=" . $_REQUEST['searchFormTab'] . '&showSSDIV=' . $contents['showSSDIV'];
if ($redirect) {
$this->handleRedirect($focus->search_module, $search_query, $saved_search_id, 'true');
}
}
示例5: testSaveDateFields
/**
* This test captures the scenario for date_modified field where range search is not enabled
*/
public function testSaveDateFields()
{
require_once 'modules/SavedSearch/SavedSearch.php';
$focus = new SavedSearch();
$focus->retrieve($this->saved_search_id);
$_REQUEST = unserialize(base64_decode($focus->contents));
unset($_REQUEST['start_range_date_modified_advanced']);
unset($_REQUEST['end_range_date_modified_advanced']);
unset($_REQUEST['range_date_modified_advanced']);
$_REQUEST['date_modified_advanced'] = '07/03/2009';
//Special date :)
$mockBean = new Bug42377MockOpportunity();
$focus->handleSave('', false, '', $this->saved_search_id, $mockBean);
//Now retrieve what we have saved and test
$focus = new SavedSearch();
$focus->retrieve($this->saved_search_id);
$formatted_data = unserialize(base64_decode($focus->contents));
$this->assertEquals($formatted_data['date_modified_advanced'], '2009-07-03', "Assert that value is in db format ('2009-07-03')");
//Now test that when we populate the search form, we bring it back to user's date format
$focus->retrieveSavedSearch($this->saved_search_id);
$focus->populateRequest();
$this->assertEquals($_REQUEST['date_modified_advanced'], '07/03/2009', "Assert that dates in db format were converted back to user's date preference");
//Take this a step further, assume date format now changes, will date be populated correctly?
global $current_user;
$current_user->setPreference('datef', 'd/m/Y', 0, 'global');
$current_user->save();
//Now test that when we populate the search form, we bring it back to user's date format
$focus->retrieveSavedSearch($this->saved_search_id);
$focus->populateRequest();
$this->assertEquals($_REQUEST['date_modified_advanced'], '03/07/2009', "Assert that dates in db format were converted back to user's date preference");
}
示例6: handleSave
function handleSave($prefix, $redirect = true, $useRequired = false, $id = null)
{
global $current_user;
$focus = new SavedSearch();
if ($id) {
$focus->retrieve($id);
}
if ($useRequired && !checkRequired($prefix, array_keys($focus->required_fields))) {
return null;
}
$ignored_inputs = array('PHPSESSID', 'module', 'action', 'saved_search_name', 'saved_search_select', 'advanced', 'Calls_divs', 'ACLRoles_divs');
$contents = $_REQUEST;
if ($id == null) {
$focus->name = $contents['saved_search_name'];
}
$focus->search_module = $contents['search_module'];
foreach ($contents as $input => $value) {
if (in_array($input, $ignored_inputs)) {
unset($contents[$input]);
}
}
$contents['advanced'] = true;
$focus->contents = base64_encode(serialize($contents));
$focus->assigned_user_id = $current_user->id;
$focus->new_schema = true;
$saved_search_id = $focus->save();
$GLOBALS['log']->debug("Saved record with id of " . $focus->id);
$orderBy = empty($contents['orderBy']) ? 'name' : $contents['orderBy'];
$search_query = "&orderBy=" . $orderBy . "&sortOrder=" . $contents['sortOrder'] . "&query=" . $_REQUEST['query'] . "&searchFormTab=" . $_REQUEST['searchFormTab'] . '&showSSDIV=' . $contents['showSSDIV'];
$this->handleRedirect($focus->search_module, $search_query, $saved_search_id, 'true');
}
示例7: handleSave
function handleSave($prefix, $redirect = true, $useRequired = false, $id = null)
{
require_once 'log4php/LoggerManager.php';
global $current_user;
$focus = new SavedSearch();
if ($id) {
$focus->retrieve($id);
}
if ($useRequired && !checkRequired($prefix, array_keys($focus->required_fields))) {
return null;
}
$ignored_inputs = array('PHPSESSID', 'module', 'action', 'saved_search_name', 'saved_search_select', 'advanced');
$contents = array_merge($_POST, $_GET);
if ($id == null) {
$focus->name = $contents['saved_search_name'];
}
$focus->search_module = $contents['search_module'];
foreach ($contents as $input => $value) {
if (in_array($input, $ignored_inputs)) {
unset($contents[$input]);
}
}
$contents['advanced'] = true;
$focus->contents = base64_encode(serialize($contents));
$focus->assigned_user_id = $current_user->id;
$focus->new_schema = true;
$focus->search_module = $focus->search_module;
$saved_search_id = $focus->save();
$GLOBALS['log']->debug("Saved record with id of " . $focus->id);
$search_query = '';
foreach ($contents as $input => $value) {
if (is_array($value)) {
// handle multiselects
foreach ($value as $v) {
$search_query .= $input . '[]=' . $v . '&';
}
} else {
$search_query .= $input . '=' . $value . '&';
}
}
$this->handleRedirect($focus->search_module, $search_query, $saved_search_id, 'true');
}