当前位置: 首页>>代码示例>>PHP>>正文


PHP UnifiedSearchAdvanced::buildCache方法代码示例

本文整理汇总了PHP中UnifiedSearchAdvanced::buildCache方法的典型用法代码示例。如果您正苦于以下问题:PHP UnifiedSearchAdvanced::buildCache方法的具体用法?PHP UnifiedSearchAdvanced::buildCache怎么用?PHP UnifiedSearchAdvanced::buildCache使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在UnifiedSearchAdvanced的用法示例。


在下文中一共展示了UnifiedSearchAdvanced::buildCache方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: testBuildCache

 /**
  * @brief generation of new cache file and search for force_unifiedsearch fields in it
  * @group 42961
  */
 public function testBuildCache()
 {
     $beanList = array();
     $beanFiles = array();
     require 'include/modules.php';
     $GLOBALS['beanList'] = $beanList;
     $GLOBALS['beanFiles'] = $beanFiles;
     $unifiedSearchAdvanced = new UnifiedSearchAdvanced();
     $unifiedSearchAdvanced->buildCache();
     $this->assertFileExists($GLOBALS['sugar_config']['cache_dir'] . 'modules/unified_search_modules.php', 'Here should be cache file with data');
     include $GLOBALS['sugar_config']['cache_dir'] . 'modules/unified_search_modules.php';
     $force_unifiedsearch = 0;
     foreach ($unified_search_modules as $moduleName => $moduleInformation) {
         foreach ($moduleInformation['fields'] as $fieldName => $fieldInformation) {
             if (key_exists('force_unifiedsearch', $fieldInformation)) {
                 $force_unifiedsearch++;
             }
         }
     }
     $this->assertGreaterThan(0, $force_unifiedsearch, 'Here should be fields with force_unifiedsearch key');
 }
开发者ID:delkyd,项目名称:sugarcrm_dev,代码行数:25,代码来源:Bug42961Test.php

示例2: array

 /**
  * Given a list of modules to search and a search string, return the id, module_name, along with the fields
  * We will support Accounts, Bug Tracker, Cases, Contacts, Leads, Opportunities, Project, ProjectTask, Quotes
  *
  * @param string $session			- Session ID returned by a previous call to login.
  * @param string $search_string 	- string to search
  * @param string[] $modules			- array of modules to query
  * @param int $offset				- a specified offset in the query
  * @param int $max_results			- max number of records to return
  * @param string $assigned_user_id	- a user id to filter all records by, leave empty to exclude the filter
  * @param string[] $select_fields   - An array of fields to return.  If empty the default return fields will be from the active list view defs.
  * @param bool $unified_search_only - A boolean indicating if we should only search against those modules participating in the unified search.
  * @param bool $favorites           - A boolean indicating if we should only search against records marked as favorites.
  * @return Array return_search_result 	- Array('Accounts' => array(array('name' => 'first_name', 'value' => 'John', 'name' => 'last_name', 'value' => 'Do')))
  * @exception 'SoapFault' -- The SOAP error, if any
  */
 function search_by_module($session, $search_string, $modules, $offset, $max_results, $assigned_user_id = '', $select_fields = array(), $unified_search_only = TRUE, $favorites = FALSE)
 {
     $GLOBALS['log']->info('Begin: SugarWebServiceImpl->search_by_module');
     global $beanList, $beanFiles;
     global $sugar_config, $current_language;
     $error = new SoapError();
     $output_list = array();
     if (!self::$helperObject->checkSessionAndModuleAccess($session, 'invalid_session', '', '', '', $error)) {
         $error->set_error('invalid_login');
         $GLOBALS['log']->error('End: SugarWebServiceImpl->search_by_module - FAILED on checkSessionAndModuleAccess');
         return;
     }
     global $current_user;
     if ($max_results > 0) {
         $sugar_config['list_max_entries_per_page'] = $max_results;
     }
     require_once 'modules/Home/UnifiedSearchAdvanced.php';
     require_once 'include/utils.php';
     $usa = new UnifiedSearchAdvanced();
     if (!file_exists($cachefile = sugar_cached('modules/unified_search_modules.php'))) {
         $usa->buildCache();
     }
     include $cachefile;
     $modules_to_search = array();
     $unified_search_modules['Users'] = array('fields' => array());
     $unified_search_modules['ProjectTask'] = array('fields' => array());
     //If we are ignoring the unified search flag within the vardef we need to re-create the search fields.  This allows us to search
     //against a specific module even though it is not enabled for the unified search within the application.
     if (!$unified_search_only) {
         foreach ($modules as $singleModule) {
             if (!isset($unified_search_modules[$singleModule])) {
                 $newSearchFields = array('fields' => self::$helperObject->generateUnifiedSearchFields($singleModule));
                 $unified_search_modules[$singleModule] = $newSearchFields;
             }
         }
     }
     foreach ($unified_search_modules as $module => $data) {
         if (in_array($module, $modules)) {
             $modules_to_search[$module] = $beanList[$module];
         }
         // if
     }
     // foreach
     $GLOBALS['log']->info('SugarWebServiceImpl->search_by_module - search string = ' . $search_string);
     if (!empty($search_string) && isset($search_string)) {
         $search_string = trim($GLOBALS['db']->quote(securexss(from_html(clean_string($search_string, 'UNIFIED_SEARCH')))));
         foreach ($modules_to_search as $name => $beanName) {
             $where_clauses_array = array();
             $unifiedSearchFields = array();
             foreach ($unified_search_modules[$name]['fields'] as $field => $def) {
                 $unifiedSearchFields[$name][$field] = $def;
                 $unifiedSearchFields[$name][$field]['value'] = $search_string;
             }
             require_once $beanFiles[$beanName];
             $seed = new $beanName();
             require_once 'include/SearchForm/SearchForm2.php';
             if ($beanName == "User" || $beanName == "ProjectTask") {
                 if (!self::$helperObject->check_modules_access($current_user, $seed->module_dir, 'read')) {
                     continue;
                 }
                 // if
                 if (!$seed->ACLAccess('ListView')) {
                     continue;
                 }
                 // if
             }
             if ($beanName != "User" && $beanName != "ProjectTask") {
                 $searchForm = new SearchForm($seed, $name);
                 $searchForm->setup(array($name => array()), $unifiedSearchFields, '', 'saved_views');
                 $where_clauses = $searchForm->generateSearchWhere();
                 require_once 'include/SearchForm/SearchForm2.php';
                 $searchForm = new SearchForm($seed, $name);
                 $searchForm->setup(array($name => array()), $unifiedSearchFields, '', 'saved_views');
                 $where_clauses = $searchForm->generateSearchWhere();
                 $emailQuery = false;
                 $where = '';
                 if (count($where_clauses) > 0) {
                     $where = '(' . implode(' ) OR ( ', $where_clauses) . ')';
                 }
                 $mod_strings = return_module_language($current_language, $seed->module_dir);
                 if (count($select_fields) > 0) {
                     $filterFields = $select_fields;
                 } else {
                     if (file_exists('custom/modules/' . $seed->module_dir . '/metadata/listviewdefs.php')) {
//.........这里部分代码省略.........
开发者ID:sunmo,项目名称:snowlotus,代码行数:101,代码来源:SugarWebServiceImplv4.php

示例3: testUnifiedSearchAdvancedBuildCache

 public function testUnifiedSearchAdvancedBuildCache()
 {
     require_once 'modules/Home/UnifiedSearchAdvanced.php';
     $usa = new UnifiedSearchAdvanced();
     $usa->buildCache();
     //Assert we could build the file without problems
     $this->assertTrue(file_exists($this->unified_search_modules_file), "Assert {$this->unified_search_modules_file} file was created");
     include $this->unified_search_modules_file;
     $this->assertTrue(isset($unified_search_modules['Bug44030_TestPerson']), "Assert that we have the custom module set in unified_search_modules.php file");
     $this->assertTrue(isset($unified_search_modules['Bug44030_TestPerson']['fields']['email']), "Assert that the email field was set for the custom module");
 }
开发者ID:nickpro,项目名称:sugarcrm_dev,代码行数:11,代码来源:Bug44030Test.php

示例4: test_update_custom_vardefs_without_searchfields

 public function test_update_custom_vardefs_without_searchfields()
 {
     if (!file_exists("custom/{$this->module_dir}/metadata")) {
         mkdir_recursive("custom/{$this->module_dir}/metadata");
     }
     copy("{$this->module_dir}/metadata/SearchFields.php", "custom/{$this->module_dir}/metadata/SearchFields.php");
     unlink("{$this->module_dir}/metadata/SearchFields.php");
     $this->assertTrue(!file_exists("{$this->module_dir}/metadata/SearchFields.php"), 'Assert that we do not have a SearchFields.php file in modules directory');
     $this->assertTrue(file_exists("{$this->module_dir}/vardefs.php"), 'Assert that we have a vardefs.php file');
     require_once 'modules/UpgradeWizard/uw_utils.php';
     add_unified_search_to_custom_modules_vardefs();
     require_once 'modules/Home/UnifiedSearchAdvanced.php';
     $usa = new UnifiedSearchAdvanced();
     $usa->buildCache();
     $this->assertTrue(file_exists("cache/modules/unified_search_modules.php"), 'Assert that we have a unified_search_modules.php file');
     include 'cache/modules/unified_search_modules.php';
     //echo var_export($unified_search_modules['clabc_Bug36845Test'], true);
     $this->assertTrue(isset($unified_search_modules['clabc_Bug36845Test']), 'Assert that the custom module was added to unified_search_modules.php');
 }
开发者ID:rgauss,项目名称:sugarcrm_dev,代码行数:19,代码来源:Bug36845Test.php

示例5: test_update_custom_vardefs_without_searchfields

 public function test_update_custom_vardefs_without_searchfields()
 {
     unlink("{$this->module_dir}/metadata/SearchFields.php");
     $this->assertTrue(!file_exists("{$this->module_dir}/metadata/SearchFields.php"), 'Assert that we have a SearchFields.php file');
     $this->assertTrue(file_exists("{$this->module_dir}/vardefs.php"), 'Assert that we have a vardefs.php file');
     require_once 'modules/UpgradeWizard/uw_utils.php';
     add_unified_search_to_custom_modules_vardefs();
     require_once 'modules/Home/UnifiedSearchAdvanced.php';
     $usa = new UnifiedSearchAdvanced();
     $usa->buildCache();
     $this->assertTrue(file_exists(sugar_cached('modules/unified_search_modules.php')), 'Assert that we have a unified_search_modules.php file');
     include sugar_cached('modules/unified_search_modules.php');
     $this->assertTrue(empty($unified_search_modules['clabc_Bug36845Test']), 'Assert that the custom module was not added to unified_search_modules.php');
 }
开发者ID:netconstructor,项目名称:sugarcrm_dev,代码行数:14,代码来源:Bug36845Test.php

示例6: SoapError

 /**
  * Given a list of modules to search and a search string, return the id, module_name, along with the fields
  * We will support Accounts, Bug Tracker, Cases, Contacts, Leads, Opportunities, Project, ProjectTask, Quotes
  *
  * @param string $session			- Session ID returned by a previous call to login.
  * @param string $search_string 	- string to search
  * @param string[] $modules			- array of modules to query
  * @param int $offset				- a specified offset in the query
  * @param int $max_results			- max number of records to return
  * @return Array 'entry_list' -- Array('Accounts' => array(array('name' => 'first_name', 'value' => 'John', 'name' => 'last_name', 'value' => 'Do')))
  * @exception 'SoapFault' -- The SOAP error, if any
  */
 function search_by_module($session, $search_string, $modules, $offset, $max_results)
 {
     $GLOBALS['log']->info('Begin: SugarWebServiceImpl->search_by_module');
     global $beanList, $beanFiles;
     global $sugar_config, $current_language;
     $error = new SoapError();
     $output_list = array();
     if (!self::$helperObject->checkSessionAndModuleAccess($session, 'invalid_session', '', '', '', $error)) {
         $error->set_error('invalid_login');
         $GLOBALS['log']->info('End: SugarWebServiceImpl->search_by_module');
         return;
     }
     global $current_user;
     if ($max_results > 0) {
         $sugar_config['list_max_entries_per_page'] = $max_results;
     }
     require_once 'modules/Home/UnifiedSearchAdvanced.php';
     require_once 'include/utils.php';
     $usa = new UnifiedSearchAdvanced();
     if (!file_exists($cachedfile = sugar_cached('modules/unified_search_modules.php'))) {
         $usa->buildCache();
     }
     include $cachedfile;
     $modules_to_search = array();
     $unified_search_modules['Users'] = array('fields' => array());
     $unified_search_modules['ProjectTask'] = array('fields' => array());
     foreach ($unified_search_modules as $module => $data) {
         if (in_array($module, $modules)) {
             $modules_to_search[$module] = $beanList[$module];
         }
         // if
     }
     // foreach
     $GLOBALS['log']->info('SugarWebServiceImpl->search_by_module - search string = ' . $search_string);
     if (!empty($search_string) && isset($search_string)) {
         $search_string = trim($GLOBALS['db']->quote(securexss(from_html(clean_string($search_string, 'UNIFIED_SEARCH')))));
         foreach ($modules_to_search as $name => $beanName) {
             $where_clauses_array = array();
             $unifiedSearchFields = array();
             foreach ($unified_search_modules[$name]['fields'] as $field => $def) {
                 $unifiedSearchFields[$name][$field] = $def;
                 $unifiedSearchFields[$name][$field]['value'] = $search_string;
             }
             $seed = BeanFactory::getBean($name);
             require_once 'include/SearchForm/SearchForm2.php';
             if ($beanName == "User" || $beanName == "ProjectTask") {
                 if (!self::$helperObject->check_modules_access($current_user, $seed->module_dir, 'read')) {
                     continue;
                 }
                 // if
                 if (!$seed->ACLAccess('ListView')) {
                     continue;
                 }
                 // if
             }
             if ($beanName != "User" && $beanName != "ProjectTask") {
                 $searchForm = new SearchForm($seed, $name);
                 $searchForm->setup(array($name => array()), $unifiedSearchFields, '', 'saved_views');
                 $where_clauses = $searchForm->generateSearchWhere();
                 require_once 'include/SearchForm/SearchForm2.php';
                 $searchForm = new SearchForm($seed, $name);
                 $searchForm->setup(array($name => array()), $unifiedSearchFields, '', 'saved_views');
                 $where_clauses = $searchForm->generateSearchWhere();
                 $emailQuery = false;
                 $where = '';
                 if (count($where_clauses) > 0) {
                     $where = '(' . implode(' ) OR ( ', $where_clauses) . ')';
                 }
                 $mod_strings = return_module_language($current_language, $seed->module_dir);
                 require_once SugarAutoLoader::loadWithMetafiles($seed->module_dir, 'listviewdefs');
                 $filterFields = array();
                 foreach ($listViewDefs[$seed->module_dir] as $colName => $param) {
                     if (!empty($param['default']) && $param['default'] == true) {
                         $filterFields[] = strtolower($colName);
                     }
                     // if
                 }
                 // foreach
                 if (!in_array('id', $filterFields)) {
                     $filterFields[] = 'id';
                 }
                 // if
                 $ret_array = $seed->create_new_list_query('', $where, $filterFields, array(), 0, '', true, $seed, true);
                 if (empty($params) or !is_array($params)) {
                     $params = array();
                 }
                 if (!isset($params['custom_select'])) {
                     $params['custom_select'] = '';
//.........这里部分代码省略.........
开发者ID:jglaine,项目名称:sugar761-ent,代码行数:101,代码来源:SugarWebServiceImpl.php

示例7: new_search_by_module

/**
 * Given a list of modules to search and a search string, return the id, module_name, along with the fields
 * We will support Accounts, Bugs, Calls, Cases, Contacts, Leads, Opportunities, Project, ProjectTask, Quotes
 * 
 * @param string $user_name 		- username of the Sugar User
 * @param string $password			- password of the Sugar User
 * @param string $search_string 	- string to search
 * @param string[] $modules			- array of modules to query
 * @param int $offset				- a specified offset in the query
 * @param int $max_results			- max number of records to return
 * @return Array return_search_result 	- Array('Accounts' => array(array('name' => 'first_name', 'value' => 'John', 'name' => 'last_name', 'value' => 'Do')))
 * @exception 'SoapFault' -- The SOAP error, if any
 */
function new_search_by_module($user_name, $password, $search_string, $modules, $offset, $max_results)
{
    global $beanList, $beanFiles;
    global $sugar_config;
    $error = new SoapError();
    $output_list = array();
    if (!validate_user($user_name, $password)) {
        $error->set_error('invalid_login');
        setFaultObject($error);
        return;
    }
    global $current_user;
    if ($max_results > 0) {
        $sugar_config['list_max_entries_per_page'] = $max_results;
    }
    require_once 'modules/Home/UnifiedSearchAdvanced.php';
    $usa = new UnifiedSearchAdvanced();
    if (!file_exists($GLOBALS['sugar_config']['cache_dir'] . 'modules/unified_search_modules.php')) {
        $usa->buildCache();
    }
    include $GLOBALS['sugar_config']['cache_dir'] . 'modules/unified_search_modules.php';
    $modules_to_search = array();
    foreach ($unified_search_modules as $module => $data) {
        if (in_array($module, $modules)) {
            $modules_to_search[$module] = $beanList[$module];
        }
        // if
    }
    // foreach
    if (!empty($search_string) && isset($search_string)) {
        foreach ($modules_to_search as $name => $beanName) {
            $where_clauses_array = array();
            foreach ($unified_search_modules[$name]['fields'] as $field => $def) {
                $clause = '';
                if (isset($def['table'])) {
                    // if field is from joining table
                    $clause = "{$def['table']}.{$def['rname']} ";
                } else {
                    $clause = "{$unified_search_modules[$name]['table']}.{$field} ";
                }
                // else
                switch ($def['type']) {
                    case 'int':
                        if (is_numeric($_REQUEST['query_string'])) {
                            $clause .= "in ('{$_REQUEST['query_string']}')";
                        } else {
                            $clause .= "in ('-1')";
                        }
                        break;
                    default:
                        //MFH BUG 15405 - added support for seaching full names in global search
                        if ($field == 'last_name') {
                            if (strpos($_REQUEST['query_string'], ' ')) {
                                $string = explode(' ', $_REQUEST['query_string']);
                                $clause .= "LIKE '{$string[1]}%'";
                            } else {
                                $clause .= "LIKE '{$_REQUEST['query_string']}%'";
                            }
                        } else {
                            $clause .= "LIKE '{$_REQUEST['query_string']}%'";
                        }
                        break;
                }
                // switch
                array_push($where_clauses_array, $clause);
            }
            // foreach
            $where = '(' . implode(' or ', $where_clauses_array) . ')';
            require_once $beanFiles[$beanName];
            $seed = new $beanName();
            $mod_strings = return_module_language($current_language, $seed->module_dir);
            if (file_exists('custom/modules/' . $seed->module_dir . '/metadata/listviewdefs.php')) {
                require_once 'custom/modules/' . $seed->module_dir . '/metadata/listviewdefs.php';
            } else {
                require_once 'modules/' . $seed->module_dir . '/metadata/listviewdefs.php';
            }
            $filterFields = array();
            foreach ($listViewDefs[$seed->module_dir] as $colName => $param) {
                if (!empty($param['default']) && $param['default'] == true) {
                    $filterFields[] = strtolower($colName);
                }
                // if
            }
            // foreach
            if (!in_array('id', $filterFields)) {
                $filterFields[] = 'id';
            }
//.........这里部分代码省略.........
开发者ID:nerdystudmuffin,项目名称:dashlet-subpanels,代码行数:101,代码来源:SoapSugarUsers_version2.php


注:本文中的UnifiedSearchAdvanced::buildCache方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。