From f9e417efca272a6c4e023bd17427207ce30dc1a2 Mon Sep 17 00:00:00 2001 From: pandurx Date: Mon, 25 Jun 2018 12:39:43 -0400 Subject: [PATCH 1/8] fixed issue with arrays --- mod/solr_api/start.php | 40 ++++++++++++++++++---------------------- 1 file changed, 18 insertions(+), 22 deletions(-) diff --git a/mod/solr_api/start.php b/mod/solr_api/start.php index 3cabe50bc4..4eac09d567 100644 --- a/mod/solr_api/start.php +++ b/mod/solr_api/start.php @@ -167,7 +167,9 @@ function get_list_of_deleted_records() { function get_user_list($offset) { + // @TODO check if the site url is either localhost or local ip address, replace with elgg if it is $site_url = elgg_get_site_url(); + $platform = explode('.', $site_url); $db_prefix = elgg_get_config('dbprefix'); $query = " SELECT e.guid, ue.name, ue.username, ue.email, e.type, e.time_created, e.enabled @@ -187,7 +189,8 @@ function get_user_list($offset) { 'type' => $user->type, 'date_created' => date("Y-m-d\TH:m:s\Z", $user->time_created), 'date_modified' => date("Y-m-d\TH:m:s\Z", $user->time_created), - 'url' => "{$site_url}profile/{$user->username}" + 'url' => "{$site_url}profile/{$user->username}", + 'platform' => $platform[0] ); } return $arr; @@ -196,6 +199,9 @@ function get_user_list($offset) { function get_group_list($offset) { // @TODO use SQL query syntax instead of using function elgg_get_entities() + $site_url = elgg_get_site_url(); + $platform = explode('.', $site_url); + $groups = elgg_get_entities(array( 'type' => 'group', 'limit' => 10, @@ -230,7 +236,8 @@ function get_group_list($offset) { 'access_id' => $group->access_id, 'date_created' => date("Y-m-d\TH:m:s\Z", $group->time_created), 'date_modified' => date("Y-m-d\TH:m:s\Z", $group->time_updated), - 'url' => $group->getURL() + 'url' => $group->getURL(), + 'platform' => $platform[0] ); } return $arr; @@ -238,6 +245,8 @@ function get_group_list($offset) { function get_entity_list($type, $subtype, $offset) { + $site_url = elgg_get_site_url(); + $platform = explode('.', $site_url); $entities = elgg_get_entities(array( 'type' => $type, 'subtype' => $subtype, @@ -246,32 +255,18 @@ function get_entity_list($type, $subtype, $offset) { )); foreach ($entities as $entity) { - - + if (is_Json($entity->title)) { - $title_array = json_decode($entity->title, true); - if (!isset($title_array['en']) || !isset($title_array['fr'])) { - $title_array['en'] = str_replace('"', '\"', $title_array); - $title_array['fr'] = str_replace('"', '\"', $title_array); - } else { - $title_array['en'] = str_replace('"', '\"', gc_explode_translation($entity->title, 'en')); - $title_array['fr'] = str_replace('"', '\"', gc_explode_translation($entity->title, 'fr')); - } - + $title_array['en'] = str_replace('"', '\"', gc_explode_translation($entity->title, 'en')); + $title_array['fr'] = str_replace('"', '\"', gc_explode_translation($entity->title, 'fr')); } else { $title_array['en'] = $entity->title; $title_array['fr'] = $entity->title; } if (is_Json($entity->description)) { - $description_array = json_decode($entity->description, true); - if (!isset($description_array['en']) || !isset($description_array['fr'])) { - $description_array['en'] = str_replace('"', '\"', $description_array); - $description_array['fr'] = str_replace('"', '\"', $description_array); - } else { - $description_array['en'] = str_replace('"', '\"', gc_explode_translation($entity->description, 'en')); - $description_array['fr'] = str_replace('"', '\"', gc_explode_translation($entity->description, 'fr')); - } + $description_array['en'] = str_replace('"', '\"', gc_explode_translation($entity->description, 'en')); + $description_array['fr'] = str_replace('"', '\"', gc_explode_translation($entity->description, 'fr')); } else { $description_array['en'] = $entity->description; $description_array['fr'] = $entity->description; @@ -286,7 +281,8 @@ function get_entity_list($type, $subtype, $offset) { 'access_id' => $entity->access_id, 'date_created' => date("Y-m-d\TH:m:s\Z", $entity->time_created), 'date_modified' => date("Y-m-d\TH:m:s\Z", $entity->time_updated), - 'url' => $entity->getURL() + 'url' => $entity->getURL(), + 'platform' => $platform[0] ); } From dc45a74497a96c2178dd33ceb7cc6a0f595e3819 Mon Sep 17 00:00:00 2001 From: pandurx Date: Wed, 4 Jul 2018 08:35:14 -0400 Subject: [PATCH 2/8] modified search to using the solr engine --- mod/elgg_solr/lib/hooks.php | 8 ++++++-- mod/elgg_solr/start.php | 2 ++ mod/gcconnex_theme/views/default/search/search_box.php | 3 ++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/mod/elgg_solr/lib/hooks.php b/mod/elgg_solr/lib/hooks.php index 201c06a977..92d036d4f3 100644 --- a/mod/elgg_solr/lib/hooks.php +++ b/mod/elgg_solr/lib/hooks.php @@ -1,5 +1,9 @@ createSelect($select); - + $title_boost = elgg_solr_get_title_boost(); $description_boost = elgg_solr_get_description_boost(); @@ -246,7 +250,7 @@ function elgg_solr_object_search($hook, $type, $return, $params) { // this query is now a dismax query $query->setQuery($params['query']); - + $default_sorts = array( 'score' => 'desc', 'time_created' => 'desc' diff --git a/mod/elgg_solr/start.php b/mod/elgg_solr/start.php index 713249516c..a538d2107d 100644 --- a/mod/elgg_solr/start.php +++ b/mod/elgg_solr/start.php @@ -39,6 +39,8 @@ function elgg_solr_init() { elgg_register_plugin_hook_handler('search', 'tags', 'elgg_solr_tag_search'); + //elgg_register_plugin_hook_handler('search', ); + if ($is_elgg18) { // this is elgg 1.8 need to handle comments as annotations elgg_unregister_plugin_hook_handler('search', 'comments', 'search_comments_hook'); diff --git a/mod/gcconnex_theme/views/default/search/search_box.php b/mod/gcconnex_theme/views/default/search/search_box.php index 4f6bd385f0..1de06b1b17 100644 --- a/mod/gcconnex_theme/views/default/search/search_box.php +++ b/mod/gcconnex_theme/views/default/search/search_box.php @@ -30,7 +30,8 @@ /// using javascript function to send the query and params to the intranet (gsa) to resolve the encoding issue function submit_search_query(selected_language) { - var url = "http://intranet.canada.ca/search-recherche/query-recherche-" + selected_language + ".aspx"; + //var url = "http://intranet.canada.ca/search-recherche/query-recherche-" + selected_language + ".aspx"; + var url = "http://192.168.1.18/gcconnex/search"; var encode_url = url + "?" + "q=" + escape(document.getElementById('wb-srch-q').value) + "&a=" + document.getElementById('a').value + "&s=" + document.getElementById('s').value + "&chk4=" + document.getElementById('chk4').value; document.location.href = encode_url; } From fcad3a5c25711a1142613037d18cf63af6c6a0aa Mon Sep 17 00:00:00 2001 From: pandurx Date: Wed, 11 Jul 2018 15:30:40 -0400 Subject: [PATCH 3/8] * updated vendors * modified plugin to work with new configuration for solr --- mod/elgg_solr/lib/functions.php | 4 +- mod/elgg_solr/lib/hooks.php | 94 ++++-------- mod/elgg_solr/start.php | 8 +- mod/elgg_solr/vendor/autoload.php | 4 +- mod/elgg_solr/vendor/composer.json | 5 + mod/elgg_solr/vendor/composer.lock | 135 ++++++++++++++++++ mod/elgg_solr/vendor/composer/ClassLoader.php | 56 ++++++-- mod/elgg_solr/vendor/composer/LICENSE | 21 +++ .../vendor/composer/autoload_files.php | 2 +- .../vendor/composer/autoload_namespaces.php | 1 + .../vendor/composer/autoload_real.php | 53 ++++--- .../vendor/composer/autoload_static.php | 58 ++++++++ mod/elgg_solr/vendor/composer/installed.json | 96 ++++++------- .../vendor/ezyang/htmlpurifier/.gitattributes | 1 + .../ezyang/htmlpurifier/benchmarks/.htaccess | 1 + .../DefinitionCache/Serializer/README | 3 + .../ezyang/htmlpurifier/maintenance/.htaccess | 1 + .../maintenance/compile-doxygen.sh | 0 .../maintenance/flush-definition-cache.php | 0 .../maintenance/generate-entity-file.php | 0 .../maintenance/generate-standalone.php | 0 .../maintenance/merge-library.php | 0 .../maintenance/regenerate-docs.sh | 0 .../RemoveSpansWithoutAttributesTest.php | 0 .../vendor/solarium/solarium/.coveralls.yml | 3 + .../vendor/solarium/solarium/.travis.yml | 30 ++++ .../library/Solarium/Core/Client/Client.php | 2 +- 27 files changed, 420 insertions(+), 158 deletions(-) create mode 100644 mod/elgg_solr/vendor/composer.json create mode 100644 mod/elgg_solr/vendor/composer.lock create mode 100644 mod/elgg_solr/vendor/composer/LICENSE create mode 100644 mod/elgg_solr/vendor/composer/autoload_static.php create mode 100644 mod/elgg_solr/vendor/ezyang/htmlpurifier/.gitattributes create mode 100644 mod/elgg_solr/vendor/ezyang/htmlpurifier/benchmarks/.htaccess create mode 100755 mod/elgg_solr/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Serializer/README create mode 100644 mod/elgg_solr/vendor/ezyang/htmlpurifier/maintenance/.htaccess mode change 100644 => 100755 mod/elgg_solr/vendor/ezyang/htmlpurifier/maintenance/compile-doxygen.sh mode change 100644 => 100755 mod/elgg_solr/vendor/ezyang/htmlpurifier/maintenance/flush-definition-cache.php mode change 100644 => 100755 mod/elgg_solr/vendor/ezyang/htmlpurifier/maintenance/generate-entity-file.php mode change 100644 => 100755 mod/elgg_solr/vendor/ezyang/htmlpurifier/maintenance/generate-standalone.php mode change 100644 => 100755 mod/elgg_solr/vendor/ezyang/htmlpurifier/maintenance/merge-library.php mode change 100644 => 100755 mod/elgg_solr/vendor/ezyang/htmlpurifier/maintenance/regenerate-docs.sh mode change 100644 => 100755 mod/elgg_solr/vendor/ezyang/htmlpurifier/tests/HTMLPurifier/Injector/RemoveSpansWithoutAttributesTest.php create mode 100644 mod/elgg_solr/vendor/solarium/solarium/.coveralls.yml create mode 100644 mod/elgg_solr/vendor/solarium/solarium/.travis.yml diff --git a/mod/elgg_solr/lib/functions.php b/mod/elgg_solr/lib/functions.php index b80a363a40..bbad64fc51 100644 --- a/mod/elgg_solr/lib/functions.php +++ b/mod/elgg_solr/lib/functions.php @@ -514,9 +514,9 @@ function elgg_solr_get_default_fq($params) { $fq['access'] = $access_query; } - if (!access_get_show_hidden_status()) { + /*if (!access_get_show_hidden_status()) { $fq['enabled'] = 'enabled:"yes"'; - } + }*/ return $fq; } diff --git a/mod/elgg_solr/lib/hooks.php b/mod/elgg_solr/lib/hooks.php index 92d036d4f3..ad50d74c11 100644 --- a/mod/elgg_solr/lib/hooks.php +++ b/mod/elgg_solr/lib/hooks.php @@ -33,7 +33,7 @@ function elgg_solr_file_search($hook, $type, $value, $params) { $default_sorts = array( 'score' => 'desc', - 'time_created' => 'desc' + 'date_created' => 'desc' ); $sorts = $params['sorts'] ? $params['sorts'] : $default_sorts; @@ -253,7 +253,7 @@ function elgg_solr_object_search($hook, $type, $return, $params) { $default_sorts = array( 'score' => 'desc', - 'time_created' => 'desc' + 'date_created' => 'desc' ); $sorts = $params['sorts'] ? $params['sorts'] : $default_sorts; @@ -406,14 +406,11 @@ function elgg_solr_object_search($hook, $type, $return, $params) { function elgg_solr_user_search($hook, $type, $return, $params) { $select = array( + 'querydefaultfield' => 'text_en', 'start' => $params['offset'], - 'rows' => $params['limit'] ? $params['limit'] : 10, - 'fields' => array('id','name','username', 'description', 'score') + 'rows' => $params['limit'] ? $params['limit'] : 10, + 'query' => $params['query'] ); - - if( $params['user_type'] ){ - $select['fields'][] = 'user_type'; - } if ($params['select'] && is_array($params['select'])) { $select = array_merge($select, $params['select']); @@ -426,41 +423,12 @@ function elgg_solr_user_search($hook, $type, $return, $params) { $query = $client->createSelect($select); $default_sorts = array( - 'score' => 'desc', - 'time_created' => 'desc' + 'date_created' => 'desc' ); - - $sorts = $params['sorts'] ? $params['sorts'] : $default_sorts; - $query->addSorts($sorts); - - $title_boost = elgg_solr_get_title_boost(); - $description_boost = elgg_solr_get_description_boost(); - - // get the dismax component and set a boost query - $dismax = $query->getEDisMax(); - $qf = "name^{$title_boost} username^{$title_boost} description^{$description_boost}"; - - if( $params['user_type'] ){ - $qf .= " user_type^{$title_boost}"; - } if ($params['qf']) { $qf = $params['qf']; } - $dismax->setQueryFields($qf); - $dismax->setQueryAlternative('*:*'); - - // no time boost for users - /* - $boostQuery = elgg_solr_get_boost_query(); - if ($boostQuery) { - $dismax->setBoostQuery($boostQuery); - } - * - */ - - // this query is now a dismax query - $query->setQuery($params['query']); // make sure we're only getting users $params['fq']['type'] = 'type:user'; @@ -479,13 +447,15 @@ function elgg_solr_user_search($hook, $type, $return, $params) { if (!empty($filter_queries)) { foreach ($filter_queries as $key => $value) { + if ($key == 'subtype') continue; $query->createFilterQuery($key)->setQuery($value); - } + } } - + // get highlighting component and apply settings $hl = $query->getHighlighting(); - $hlfields = array('name', 'username', 'description'); + $hlfields = array('text_en'); + if ($params['hlfields']) { $hlfields = $params['hlfields']; } @@ -516,7 +486,8 @@ function elgg_solr_user_search($hook, $type, $return, $params) { } // Count the total number of documents found by solr - $count = $resultset->getNumFound(); + $count = $resultset->getNumFound(); + $hl_prefix = elgg_solr_get_hl_prefix(); $hl_suffix = elgg_solr_get_hl_suffix(); @@ -526,11 +497,11 @@ function elgg_solr_user_search($hook, $type, $return, $params) { $purifier = new HTMLPurifier($config); foreach ($resultset as $document) { - $search_results[$document->id] = array(); + $search_results[$document->guid] = array(); $snippet = ''; // highlighting results can be fetched by document id (the field defined as uniquekey in this schema) - $highlightedDoc = $highlighting->getResult($document->id); + $highlightedDoc = $highlighting->getResult($document->guid); if($highlightedDoc){ foreach($highlightedDoc as $field => $highlight) { @@ -547,10 +518,9 @@ function elgg_solr_user_search($hook, $type, $return, $params) { $snippet = $purifier->purify($snippet); } - $search_results[$document->id][$field] = $snippet; + $search_results[$document->guid][$field] = $snippet; } } - $search_results[$document->id]['score'] = $document->score; } // get the entities @@ -563,21 +533,13 @@ function elgg_solr_user_search($hook, $type, $return, $params) { )); } - $show_score = elgg_get_plugin_setting('show_score', 'elgg_solr'); foreach ($search_results as $guid => $matches) { foreach ($entities_unsorted as $e) { if ($e->guid == $guid) { $desc_suffix = ''; - if ($show_score == 'yes' && elgg_is_admin_logged_in()) { - $desc_suffix .= elgg_view('output/longtext', array( - 'value' => elgg_echo('elgg_solr:relevancy', array($matches['score'])), - 'class' => 'elgg-subtext' - )); - } - - if ($matches['name']) { - $name = $matches['name']; + if ($matches['name_en']) { + $name = $matches['name_en']; if ($matches['username']) { $name .= ' (@' . $matches['username'] . ')'; } @@ -600,11 +562,9 @@ function elgg_solr_user_search($hook, $type, $return, $params) { } // anything not already matched can be lumped in with the description - unset($matches['name']); + unset($matches['name_en']); unset($matches['username']); - unset($matches['score']); $desc_suffix .= implode('...', $matches); - $desc_hl = search_get_highlighted_relevant_substrings($e->description, $params['query']); $e->setVolatileData('search_matched_description', $desc_hl . $desc_suffix); $entities[] = $e; @@ -640,7 +600,7 @@ function elgg_solr_group_search($hook, $type, $return, $params) { $default_sorts = array( 'score' => 'desc', - 'time_created' => 'desc' + 'date_created' => 'desc' ); $sorts = $params['sorts'] ? $params['sorts'] : $default_sorts; @@ -868,7 +828,7 @@ function elgg_solr_tag_search($hook, $type, $return, $params) { $query_parts = array(); foreach ($search_tag_names as $tagname) { // @note - these need to be treated as literal exact matches, so encapsulate in double-quotes - $query_parts[] = 'tags:"' . elgg_solr_escape_special_chars($tagname . '%%' . $params['query']) . '"'; + //$query_parts[] = 'tags:"' . elgg_solr_escape_special_chars($tagname . '%%' . $params['query']) . '"'; } if (!$query_parts) { @@ -894,7 +854,7 @@ function elgg_solr_tag_search($hook, $type, $return, $params) { $default_sorts = array( 'score' => 'desc', - 'time_created' => 'desc' + 'date_created' => 'desc' ); $sorts = $params['sorts'] ? $params['sorts'] : $default_sorts; @@ -916,7 +876,7 @@ function elgg_solr_tag_search($hook, $type, $return, $params) { // get highlighting component and apply settings $hl = $query->getHighlighting(); - $hl->setFields(array('tags')); + //$hl->setFields(array('tags')); $hl->setSimplePrefix(''); $hl->setSimplePostfix(''); @@ -999,7 +959,7 @@ function elgg_solr_tag_search($hook, $type, $return, $params) { $e->setVolatileData('search_matched_title', $title); $e->setVolatileData('search_matched_description', elgg_get_excerpt($description) . $desc_suffix); - $e->setVolatileData('search_matched_extra', $matches['tags']); + //$e->setVolatileData('search_matched_extra', $matches['tags']); $entities[] = $e; } } @@ -1071,7 +1031,7 @@ function elgg_solr_comment_search($hook, $type, $return, $params) { $select = array( 'start' => $params['offset'], 'rows' => $params['limit'] ? $params['limit'] : 10, - 'fields' => array('id', 'container_guid', 'description', 'owner_guid', 'time_created', 'score'), + 'fields' => array('id', 'container_guid', 'description', 'owner_guid', 'date_created', 'score'), ); if ($params['select'] && is_array($params['select'])) { @@ -1086,7 +1046,7 @@ function elgg_solr_comment_search($hook, $type, $return, $params) { $default_sort = array( 'score' => 'desc', - 'time_created' => 'desc' + 'date_created' => 'desc' ); $sorts = $params['sorts'] ? $params['sorts'] : $default_sort; @@ -1214,7 +1174,7 @@ function elgg_solr_comment_search($hook, $type, $return, $params) { 'annotation_id' => substr(strstr(elgg_strip_tags($document->id), ':'), 1), 'text' => $snippet, 'owner_guid' => $document->owner_guid, - 'time_created' => $document->time_created, + 'date_created' => $document->date_created, ); $entity->setVolatileData('search_comments_data', $comments_data); diff --git a/mod/elgg_solr/start.php b/mod/elgg_solr/start.php index a538d2107d..ad75b4abdc 100644 --- a/mod/elgg_solr/start.php +++ b/mod/elgg_solr/start.php @@ -32,11 +32,11 @@ function elgg_solr_init() { elgg_unregister_plugin_hook_handler('search', 'group', 'search_groups_hook'); elgg_unregister_plugin_hook_handler('search', 'tags', 'search_tags_hook'); - elgg_register_plugin_hook_handler('search', 'object:file', 'elgg_solr_file_search'); - elgg_register_plugin_hook_handler('search', 'object', 'elgg_solr_object_search'); + //elgg_register_plugin_hook_handler('search', 'object:file', 'elgg_solr_file_search'); + //elgg_register_plugin_hook_handler('search', 'object', 'elgg_solr_object_search'); elgg_register_plugin_hook_handler('search', 'user', 'elgg_solr_user_search'); - elgg_register_plugin_hook_handler('search', 'group', 'elgg_solr_group_search'); - elgg_register_plugin_hook_handler('search', 'tags', 'elgg_solr_tag_search'); + //elgg_register_plugin_hook_handler('search', 'group', 'elgg_solr_group_search'); + //elgg_register_plugin_hook_handler('search', 'tags', 'elgg_solr_tag_search'); //elgg_register_plugin_hook_handler('search', ); diff --git a/mod/elgg_solr/vendor/autoload.php b/mod/elgg_solr/vendor/autoload.php index bf4298592b..ba923bed9e 100644 --- a/mod/elgg_solr/vendor/autoload.php +++ b/mod/elgg_solr/vendor/autoload.php @@ -2,6 +2,6 @@ // autoload.php @generated by Composer -require_once __DIR__ . '/composer' . '/autoload_real.php'; +require_once __DIR__ . '/composer/autoload_real.php'; -return ComposerAutoloaderInit9b2c0c462db63d8ab03db94c9650b99f::getLoader(); +return ComposerAutoloaderInitf66440e91f7ef7305417c79dbf9d16cb::getLoader(); diff --git a/mod/elgg_solr/vendor/composer.json b/mod/elgg_solr/vendor/composer.json new file mode 100644 index 0000000000..a2fa71b780 --- /dev/null +++ b/mod/elgg_solr/vendor/composer.json @@ -0,0 +1,5 @@ +{ + "require": { + "solarium/solarium": "3.6.0" + } +} diff --git a/mod/elgg_solr/vendor/composer.lock b/mod/elgg_solr/vendor/composer.lock new file mode 100644 index 0000000000..f4b789327f --- /dev/null +++ b/mod/elgg_solr/vendor/composer.lock @@ -0,0 +1,135 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", + "This file is @generated automatically" + ], + "content-hash": "923248fbdac97c7d0e4f75dbcfaca88d", + "packages": [ + { + "name": "solarium/solarium", + "version": "3.6.0", + "source": { + "type": "git", + "url": "https://github.com/solariumphp/solarium.git", + "reference": "b945cbe4e8f96b639d82c4d1e2cae4ef3ab6fce5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/solariumphp/solarium/zipball/b945cbe4e8f96b639d82c4d1e2cae4ef3ab6fce5", + "reference": "b945cbe4e8f96b639d82c4d1e2cae4ef3ab6fce5", + "shasum": "" + }, + "require": { + "php": ">=5.3.2", + "symfony/event-dispatcher": "~2.3|~3.0" + }, + "require-dev": { + "phpunit/phpunit": "~3.7", + "satooshi/php-coveralls": "~1.0", + "squizlabs/php_codesniffer": "~1.4", + "zendframework/zendframework1": "~1.12" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-develop": "3.3.x-dev" + } + }, + "autoload": { + "psr-0": { + "Solarium\\": "library/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "See GitHub contributors", + "homepage": "https://github.com/basdenooijer/solarium/contributors" + } + ], + "description": "PHP Solr client", + "homepage": "http://www.solarium-project.org", + "keywords": [ + "php", + "search", + "solr" + ], + "time": "2016-05-03T07:08:49+00:00" + }, + { + "name": "symfony/event-dispatcher", + "version": "v3.4.12", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "fdd5abcebd1061ec647089c6c41a07ed60af09f8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/fdd5abcebd1061ec647089c6c41a07ed60af09f8", + "reference": "fdd5abcebd1061ec647089c6c41a07ed60af09f8", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8" + }, + "conflict": { + "symfony/dependency-injection": "<3.3" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~2.8|~3.0|~4.0", + "symfony/dependency-injection": "~3.3|~4.0", + "symfony/expression-language": "~2.8|~3.0|~4.0", + "symfony/stopwatch": "~2.8|~3.0|~4.0" + }, + "suggest": { + "symfony/dependency-injection": "", + "symfony/http-kernel": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.4-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\EventDispatcher\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony EventDispatcher Component", + "homepage": "https://symfony.com", + "time": "2018-04-06T07:35:25+00:00" + } + ], + "packages-dev": [], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": [], + "prefer-stable": false, + "prefer-lowest": false, + "platform": [], + "platform-dev": [] +} diff --git a/mod/elgg_solr/vendor/composer/ClassLoader.php b/mod/elgg_solr/vendor/composer/ClassLoader.php index 5e1469e830..4626994fd4 100644 --- a/mod/elgg_solr/vendor/composer/ClassLoader.php +++ b/mod/elgg_solr/vendor/composer/ClassLoader.php @@ -13,9 +13,7 @@ namespace Composer\Autoload; /** - * ClassLoader implements a PSR-0 class loader - * - * See https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md + * ClassLoader implements a PSR-0, PSR-4 and classmap class loader. * * $loader = new \Composer\Autoload\ClassLoader(); * @@ -39,6 +37,8 @@ * * @author Fabien Potencier * @author Jordi Boggiano + * @see http://www.php-fig.org/psr/psr-0/ + * @see http://www.php-fig.org/psr/psr-4/ */ class ClassLoader { @@ -53,8 +53,9 @@ class ClassLoader private $useIncludePath = false; private $classMap = array(); - private $classMapAuthoritative = false; + private $missingClasses = array(); + private $apcuPrefix; public function getPrefixes() { @@ -147,7 +148,7 @@ public function add($prefix, $paths, $prepend = false) * appending or prepending to the ones previously set for this namespace. * * @param string $prefix The prefix/namespace, with trailing '\\' - * @param array|string $paths The PSR-0 base directories + * @param array|string $paths The PSR-4 base directories * @param bool $prepend Whether to prepend the directories * * @throws \InvalidArgumentException @@ -271,6 +272,26 @@ public function isClassMapAuthoritative() return $this->classMapAuthoritative; } + /** + * APCu prefix to use to cache found/not-found classes, if the extension is enabled. + * + * @param string|null $apcuPrefix + */ + public function setApcuPrefix($apcuPrefix) + { + $this->apcuPrefix = function_exists('apcu_fetch') && ini_get('apc.enabled') ? $apcuPrefix : null; + } + + /** + * The APCu prefix in use, or null if APCu caching is not enabled. + * + * @return string|null + */ + public function getApcuPrefix() + { + return $this->apcuPrefix; + } + /** * Registers this instance as an autoloader. * @@ -313,29 +334,34 @@ public function loadClass($class) */ public function findFile($class) { - // work around for PHP 5.3.0 - 5.3.2 https://bugs.php.net/50731 - if ('\\' == $class[0]) { - $class = substr($class, 1); - } - // class map lookup if (isset($this->classMap[$class])) { return $this->classMap[$class]; } - if ($this->classMapAuthoritative) { + if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) { return false; } + if (null !== $this->apcuPrefix) { + $file = apcu_fetch($this->apcuPrefix.$class, $hit); + if ($hit) { + return $file; + } + } $file = $this->findFileWithExtension($class, '.php'); // Search for Hack files if we are running on HHVM - if ($file === null && defined('HHVM_VERSION')) { + if (false === $file && defined('HHVM_VERSION')) { $file = $this->findFileWithExtension($class, '.hh'); } - if ($file === null) { + if (null !== $this->apcuPrefix) { + apcu_add($this->apcuPrefix.$class, $file); + } + + if (false === $file) { // Remember that this class does not exist. - return $this->classMap[$class] = false; + $this->missingClasses[$class] = true; } return $file; @@ -399,6 +425,8 @@ private function findFileWithExtension($class, $ext) if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) { return $file; } + + return false; } } diff --git a/mod/elgg_solr/vendor/composer/LICENSE b/mod/elgg_solr/vendor/composer/LICENSE new file mode 100644 index 0000000000..1a28124886 --- /dev/null +++ b/mod/elgg_solr/vendor/composer/LICENSE @@ -0,0 +1,21 @@ + +Copyright (c) 2016 Nils Adermann, Jordi Boggiano + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished +to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + diff --git a/mod/elgg_solr/vendor/composer/autoload_files.php b/mod/elgg_solr/vendor/composer/autoload_files.php index 915496bea7..c25686b153 100644 --- a/mod/elgg_solr/vendor/composer/autoload_files.php +++ b/mod/elgg_solr/vendor/composer/autoload_files.php @@ -6,5 +6,5 @@ $baseDir = dirname($vendorDir); return array( - $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier.composer.php', + '2cffec82183ee1cea088009cef9a6fc3' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier.composer.php', ); diff --git a/mod/elgg_solr/vendor/composer/autoload_namespaces.php b/mod/elgg_solr/vendor/composer/autoload_namespaces.php index 7052e10e3d..4b77f0eccb 100644 --- a/mod/elgg_solr/vendor/composer/autoload_namespaces.php +++ b/mod/elgg_solr/vendor/composer/autoload_namespaces.php @@ -8,4 +8,5 @@ return array( 'Solarium\\' => array($vendorDir . '/solarium/solarium/library'), 'HTMLPurifier' => array($vendorDir . '/ezyang/htmlpurifier/library'), + '' => array($baseDir . '/classes'), ); diff --git a/mod/elgg_solr/vendor/composer/autoload_real.php b/mod/elgg_solr/vendor/composer/autoload_real.php index 639a8d6ad6..18f6aa9ac9 100644 --- a/mod/elgg_solr/vendor/composer/autoload_real.php +++ b/mod/elgg_solr/vendor/composer/autoload_real.php @@ -2,7 +2,7 @@ // autoload_real.php @generated by Composer -class ComposerAutoloaderInit9b2c0c462db63d8ab03db94c9650b99f +class ComposerAutoloaderInitf66440e91f7ef7305417c79dbf9d16cb { private static $loader; @@ -19,37 +19,52 @@ public static function getLoader() return self::$loader; } - spl_autoload_register(array('ComposerAutoloaderInit9b2c0c462db63d8ab03db94c9650b99f', 'loadClassLoader'), true, true); + spl_autoload_register(array('ComposerAutoloaderInitf66440e91f7ef7305417c79dbf9d16cb', 'loadClassLoader'), true, true); self::$loader = $loader = new \Composer\Autoload\ClassLoader(); - spl_autoload_unregister(array('ComposerAutoloaderInit9b2c0c462db63d8ab03db94c9650b99f', 'loadClassLoader')); + spl_autoload_unregister(array('ComposerAutoloaderInitf66440e91f7ef7305417c79dbf9d16cb', 'loadClassLoader')); - $map = require __DIR__ . '/autoload_namespaces.php'; - foreach ($map as $namespace => $path) { - $loader->set($namespace, $path); - } + $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded()); + if ($useStaticLoader) { + require_once __DIR__ . '/autoload_static.php'; - $map = require __DIR__ . '/autoload_psr4.php'; - foreach ($map as $namespace => $path) { - $loader->setPsr4($namespace, $path); - } + call_user_func(\Composer\Autoload\ComposerStaticInitf66440e91f7ef7305417c79dbf9d16cb::getInitializer($loader)); + } else { + $map = require __DIR__ . '/autoload_namespaces.php'; + foreach ($map as $namespace => $path) { + $loader->set($namespace, $path); + } + + $map = require __DIR__ . '/autoload_psr4.php'; + foreach ($map as $namespace => $path) { + $loader->setPsr4($namespace, $path); + } - $classMap = require __DIR__ . '/autoload_classmap.php'; - if ($classMap) { - $loader->addClassMap($classMap); + $classMap = require __DIR__ . '/autoload_classmap.php'; + if ($classMap) { + $loader->addClassMap($classMap); + } } $loader->register(true); - $includeFiles = require __DIR__ . '/autoload_files.php'; - foreach ($includeFiles as $file) { - composerRequire9b2c0c462db63d8ab03db94c9650b99f($file); + if ($useStaticLoader) { + $includeFiles = Composer\Autoload\ComposerStaticInitf66440e91f7ef7305417c79dbf9d16cb::$files; + } else { + $includeFiles = require __DIR__ . '/autoload_files.php'; + } + foreach ($includeFiles as $fileIdentifier => $file) { + composerRequiref66440e91f7ef7305417c79dbf9d16cb($fileIdentifier, $file); } return $loader; } } -function composerRequire9b2c0c462db63d8ab03db94c9650b99f($file) +function composerRequiref66440e91f7ef7305417c79dbf9d16cb($fileIdentifier, $file) { - require $file; + if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { + require $file; + + $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true; + } } diff --git a/mod/elgg_solr/vendor/composer/autoload_static.php b/mod/elgg_solr/vendor/composer/autoload_static.php new file mode 100644 index 0000000000..98ccb2c409 --- /dev/null +++ b/mod/elgg_solr/vendor/composer/autoload_static.php @@ -0,0 +1,58 @@ + __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier.composer.php', + ); + + public static $prefixLengthsPsr4 = array ( + 'S' => + array ( + 'Symfony\\Component\\EventDispatcher\\' => 34, + ), + ); + + public static $prefixDirsPsr4 = array ( + 'Symfony\\Component\\EventDispatcher\\' => + array ( + 0 => __DIR__ . '/..' . '/symfony/event-dispatcher', + ), + ); + + public static $prefixesPsr0 = array ( + 'S' => + array ( + 'Solarium\\' => + array ( + 0 => __DIR__ . '/..' . '/solarium/solarium/library', + ), + ), + 'H' => + array ( + 'HTMLPurifier' => + array ( + 0 => __DIR__ . '/..' . '/ezyang/htmlpurifier/library', + ), + ), + ); + + public static $fallbackDirsPsr0 = array ( + 0 => __DIR__ . '/../..' . '/classes', + ); + + public static function getInitializer(ClassLoader $loader) + { + return \Closure::bind(function () use ($loader) { + $loader->prefixLengthsPsr4 = ComposerStaticInitf66440e91f7ef7305417c79dbf9d16cb::$prefixLengthsPsr4; + $loader->prefixDirsPsr4 = ComposerStaticInitf66440e91f7ef7305417c79dbf9d16cb::$prefixDirsPsr4; + $loader->prefixesPsr0 = ComposerStaticInitf66440e91f7ef7305417c79dbf9d16cb::$prefixesPsr0; + $loader->fallbackDirsPsr0 = ComposerStaticInitf66440e91f7ef7305417c79dbf9d16cb::$fallbackDirsPsr0; + + }, null, ClassLoader::class); + } +} diff --git a/mod/elgg_solr/vendor/composer/installed.json b/mod/elgg_solr/vendor/composer/installed.json index ead4811c53..71d3a9033c 100644 --- a/mod/elgg_solr/vendor/composer/installed.json +++ b/mod/elgg_solr/vendor/composer/installed.json @@ -1,50 +1,4 @@ [ - { - "name": "ezyang/htmlpurifier", - "version": "v4.6.0", - "version_normalized": "4.6.0.0", - "source": { - "type": "git", - "url": "https://github.com/ezyang/htmlpurifier.git", - "reference": "6f389f0f25b90d0b495308efcfa073981177f0fd" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/6f389f0f25b90d0b495308efcfa073981177f0fd", - "reference": "6f389f0f25b90d0b495308efcfa073981177f0fd", - "shasum": "" - }, - "require": { - "php": ">=5.2" - }, - "time": "2013-11-30 08:25:19", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-0": { - "HTMLPurifier": "library/" - }, - "files": [ - "library/HTMLPurifier.composer.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPL" - ], - "authors": [ - { - "name": "Edward Z. Yang", - "email": "admin@htmlpurifier.org", - "homepage": "http://ezyang.com" - } - ], - "description": "Standards compliant HTML filter written in PHP", - "homepage": "http://htmlpurifier.org/", - "keywords": [ - "html" - ] - }, { "name": "symfony/event-dispatcher", "version": "v2.7.3", @@ -75,7 +29,7 @@ "symfony/dependency-injection": "", "symfony/http-kernel": "" }, - "time": "2015-06-18 19:21:56", + "time": "2015-06-18T19:21:56+00:00", "type": "library", "extra": { "branch-alias": { @@ -130,7 +84,7 @@ "squizlabs/php_codesniffer": "~1.4", "zendframework/zendframework1": "~1.12" }, - "time": "2015-06-14 17:22:39", + "time": "2015-06-14T17:22:39+00:00", "type": "library", "extra": { "branch-alias": { @@ -160,5 +114,51 @@ "search", "solr" ] + }, + { + "name": "ezyang/htmlpurifier", + "version": "v4.6.0", + "version_normalized": "4.6.0.0", + "source": { + "type": "git", + "url": "https://github.com/ezyang/htmlpurifier.git", + "reference": "6f389f0f25b90d0b495308efcfa073981177f0fd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/6f389f0f25b90d0b495308efcfa073981177f0fd", + "reference": "6f389f0f25b90d0b495308efcfa073981177f0fd", + "shasum": "" + }, + "require": { + "php": ">=5.2" + }, + "time": "2013-11-30T08:25:19+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-0": { + "HTMLPurifier": "library/" + }, + "files": [ + "library/HTMLPurifier.composer.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL" + ], + "authors": [ + { + "name": "Edward Z. Yang", + "email": "admin@htmlpurifier.org", + "homepage": "http://ezyang.com" + } + ], + "description": "Standards compliant HTML filter written in PHP", + "homepage": "http://htmlpurifier.org/", + "keywords": [ + "html" + ] } ] diff --git a/mod/elgg_solr/vendor/ezyang/htmlpurifier/.gitattributes b/mod/elgg_solr/vendor/ezyang/htmlpurifier/.gitattributes new file mode 100644 index 0000000000..51e6483770 --- /dev/null +++ b/mod/elgg_solr/vendor/ezyang/htmlpurifier/.gitattributes @@ -0,0 +1 @@ +configdoc/usage.xml -crlf diff --git a/mod/elgg_solr/vendor/ezyang/htmlpurifier/benchmarks/.htaccess b/mod/elgg_solr/vendor/ezyang/htmlpurifier/benchmarks/.htaccess new file mode 100644 index 0000000000..3a42882788 --- /dev/null +++ b/mod/elgg_solr/vendor/ezyang/htmlpurifier/benchmarks/.htaccess @@ -0,0 +1 @@ +Deny from all diff --git a/mod/elgg_solr/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Serializer/README b/mod/elgg_solr/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Serializer/README new file mode 100755 index 0000000000..2e35c1c3d0 --- /dev/null +++ b/mod/elgg_solr/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Serializer/README @@ -0,0 +1,3 @@ +This is a dummy file to prevent Git from ignoring this empty directory. + + vim: et sw=4 sts=4 diff --git a/mod/elgg_solr/vendor/ezyang/htmlpurifier/maintenance/.htaccess b/mod/elgg_solr/vendor/ezyang/htmlpurifier/maintenance/.htaccess new file mode 100644 index 0000000000..3a42882788 --- /dev/null +++ b/mod/elgg_solr/vendor/ezyang/htmlpurifier/maintenance/.htaccess @@ -0,0 +1 @@ +Deny from all diff --git a/mod/elgg_solr/vendor/ezyang/htmlpurifier/maintenance/compile-doxygen.sh b/mod/elgg_solr/vendor/ezyang/htmlpurifier/maintenance/compile-doxygen.sh old mode 100644 new mode 100755 diff --git a/mod/elgg_solr/vendor/ezyang/htmlpurifier/maintenance/flush-definition-cache.php b/mod/elgg_solr/vendor/ezyang/htmlpurifier/maintenance/flush-definition-cache.php old mode 100644 new mode 100755 diff --git a/mod/elgg_solr/vendor/ezyang/htmlpurifier/maintenance/generate-entity-file.php b/mod/elgg_solr/vendor/ezyang/htmlpurifier/maintenance/generate-entity-file.php old mode 100644 new mode 100755 diff --git a/mod/elgg_solr/vendor/ezyang/htmlpurifier/maintenance/generate-standalone.php b/mod/elgg_solr/vendor/ezyang/htmlpurifier/maintenance/generate-standalone.php old mode 100644 new mode 100755 diff --git a/mod/elgg_solr/vendor/ezyang/htmlpurifier/maintenance/merge-library.php b/mod/elgg_solr/vendor/ezyang/htmlpurifier/maintenance/merge-library.php old mode 100644 new mode 100755 diff --git a/mod/elgg_solr/vendor/ezyang/htmlpurifier/maintenance/regenerate-docs.sh b/mod/elgg_solr/vendor/ezyang/htmlpurifier/maintenance/regenerate-docs.sh old mode 100644 new mode 100755 diff --git a/mod/elgg_solr/vendor/ezyang/htmlpurifier/tests/HTMLPurifier/Injector/RemoveSpansWithoutAttributesTest.php b/mod/elgg_solr/vendor/ezyang/htmlpurifier/tests/HTMLPurifier/Injector/RemoveSpansWithoutAttributesTest.php old mode 100644 new mode 100755 diff --git a/mod/elgg_solr/vendor/solarium/solarium/.coveralls.yml b/mod/elgg_solr/vendor/solarium/solarium/.coveralls.yml new file mode 100644 index 0000000000..1c8760a595 --- /dev/null +++ b/mod/elgg_solr/vendor/solarium/solarium/.coveralls.yml @@ -0,0 +1,3 @@ +service_name: travis-ci + +src_dir: library diff --git a/mod/elgg_solr/vendor/solarium/solarium/.travis.yml b/mod/elgg_solr/vendor/solarium/solarium/.travis.yml new file mode 100644 index 0000000000..a134d97c2a --- /dev/null +++ b/mod/elgg_solr/vendor/solarium/solarium/.travis.yml @@ -0,0 +1,30 @@ +language: php + +php: + - 5.6 + - 5.5 + - 5.4 + - 5.3 + - hhvm + - hhvm-nightly + +env: + - SYMFONY_VERSION=2.1.* + - SYMFONY_VERSION=2.2.* + - SYMFONY_VERSION=2.3.* + - SYMFONY_VERSION=2.4.* + - SYMFONY_VERSION=2.5.* + +before_script: + - bash -c "if [ $TRAVIS_PHP_VERSION != 'hhvm' ] && [ $TRAVIS_PHP_VERSION != 'hhvm-nightly' ] && [ $TRAVIS_PHP_VERSION != '5.3' ]; then printf '\n\n\n\n' | pecl install pecl_http-1.7.6; fi" + - composer require --prefer-source --dev symfony/event-dispatcher:${SYMFONY_VERSION} + +script: vendor/bin/phpunit -c phpunit.xml.travis -v + +after_script: vendor/bin/coveralls -v + +matrix: + allow_failures: + - php: 5.3 + - php: hhvm + - php: hhvm-nightly \ No newline at end of file diff --git a/mod/elgg_solr/vendor/solarium/solarium/library/Solarium/Core/Client/Client.php b/mod/elgg_solr/vendor/solarium/solarium/library/Solarium/Core/Client/Client.php index 88abeeb63f..8f1f538610 100644 --- a/mod/elgg_solr/vendor/solarium/solarium/library/Solarium/Core/Client/Client.php +++ b/mod/elgg_solr/vendor/solarium/solarium/library/Solarium/Core/Client/Client.php @@ -783,7 +783,7 @@ public function execute(QueryInterface $query, $endpoint = null) $request = $this->createRequest($query); $response = $this->executeRequest($request, $endpoint); $result = $this->createResult($query, $response); - +error_log($request); $this->eventDispatcher->dispatch( Events::POST_EXECUTE, new PostExecuteEvent($query, $result) From dc5436688e9b7db4787c338b517e35397917b892 Mon Sep 17 00:00:00 2001 From: pandurx Date: Thu, 12 Jul 2018 15:45:42 -0400 Subject: [PATCH 4/8] * specific search in french and english fixed * searching for group and user fixed (removed subtype) * displaying correct information fixed --- mod/elgg_solr/lib/hooks.php | 206 +++++++++++------------------------- mod/elgg_solr/start.php | 6 +- 2 files changed, 64 insertions(+), 148 deletions(-) diff --git a/mod/elgg_solr/lib/hooks.php b/mod/elgg_solr/lib/hooks.php index ad50d74c11..79f12e0f44 100644 --- a/mod/elgg_solr/lib/hooks.php +++ b/mod/elgg_solr/lib/hooks.php @@ -1,9 +1,5 @@ $params['offset'], 'rows' => $params['limit'] ? $params['limit'] : 10, - 'fields' => array('id','title','description', 'score'), + 'querydefaultfield' => "text_{$set_language}", + 'query' => $params['query'], ); if ($params['select'] && is_array($params['select'])) { @@ -32,35 +30,12 @@ function elgg_solr_file_search($hook, $type, $value, $params) { $query = $client->createSelect($select); $default_sorts = array( - 'score' => 'desc', 'date_created' => 'desc' ); $sorts = $params['sorts'] ? $params['sorts'] : $default_sorts; $query->addSorts($sorts); - - $title_boost = elgg_solr_get_title_boost(); - $description_boost = elgg_solr_get_description_boost(); - - // get the dismax component and set a boost query - $dismax = $query->getEDisMax(); - $qf = "title^{$title_boost} description^{$description_boost} attr_content^{$description_boost}"; - if ($params['qf']) { - $qf = $params['qf']; - } - $dismax->setQueryFields($qf); - $dismax->setQueryAlternative('*:*'); - - - $boostQuery = elgg_solr_get_boost_query(); - if ($boostQuery) { - $dismax->setBoostQuery($boostQuery); - } - - // this query is now a dismax query - $query->setQuery($params['query']); - - + $params['fq']['type'] = 'type:object'; $params['fq']['subtype'] = 'subtype:file'; @@ -80,7 +55,7 @@ function elgg_solr_file_search($hook, $type, $value, $params) { // get highlighting component and apply settings $hl = $query->getHighlighting(); - $hlfields = array('title', 'attr_content', 'description'); + $hlfields = array("text_{$set_language}"); if ($params['hlfields']) { $hlfields = $params['hlfields']; } @@ -122,11 +97,11 @@ function elgg_solr_file_search($hook, $type, $value, $params) { $purifier = new HTMLPurifier($config); foreach ($resultset as $document) { - $search_results[$document->id] = array(); + $search_results[$document->guid] = array(); $snippet = ''; // highlighting results can be fetched by document id (the field defined as uniquekey in this schema) - $highlightedDoc = $highlighting->getResult($document->id); + $highlightedDoc = $highlighting->getResult($document->guid); if($highlightedDoc){ foreach($highlightedDoc as $field => $highlight) { @@ -143,13 +118,12 @@ function elgg_solr_file_search($hook, $type, $value, $params) { $snippet = $purifier->purify($snippet); } - $search_results[$document->id][$field] = $snippet; + $search_results[$document->guid][$field] = $snippet; } } - $search_results[$document->id]['score'] = $document->score; // normalize description with attr_content - $search_results[$document->id]['description'] = trim($search_results[$document->id]['description'] . ' ' . $search_results[$document->id]['attr_content']); + $search_results[$document->guid]["description_{$set_language}"] = trim($search_results[$document->guid]["description_{$set_language}"]); } // get the entities in a single query @@ -163,38 +137,28 @@ function elgg_solr_file_search($hook, $type, $value, $params) { )); } - $show_score = elgg_get_plugin_setting('show_score', 'elgg_solr'); foreach ($search_results as $guid => $matches) { foreach ($entities_unsorted as $e) { if ($e->guid == $guid) { $desc_suffix = ''; - if ($show_score == 'yes' && elgg_is_admin_logged_in()) { - $desc_suffix .= elgg_view('output/longtext', array( - 'value' => elgg_echo('elgg_solr:relevancy', array($matches['score'])), - 'class' => 'elgg-subtext' - )); - } - - - if ($matches['title']) { - $e->setVolatileData('search_matched_title', $matches['title']); + + if ($matches["title__{$set_language}"]) { + $e->setVolatileData('search_matched_title', $matches["title_{$set_language}"]); } else { - $e->setVolatileData('search_matched_title', $e->title); + $e->setVolatileData('search_matched_title', gc_explode_translation($e->title, $set_language)); } - if ($matches['description']) { - $desc = $matches['description']; + if ($matches["description_{$set_language}"]) { + $desc = $matches["description_{$set_language}"]; } else { - $desc = elgg_get_excerpt($e->description, 100); + $desc = elgg_get_excerpt(gc_explode_translation($e->description, $set_language), 100); } - - - unset($matches['title']); - unset($matches['description']); - unset($matches['score']); + + unset($matches["title_{$set_language}"]); + unset($matches["description_{$set_language}"]); $desc .= implode('...', $matches); $e->setVolatileData('search_matched_description', $desc . $desc_suffix); @@ -211,14 +175,14 @@ function elgg_solr_file_search($hook, $type, $value, $params) { } - - function elgg_solr_object_search($hook, $type, $return, $params) { + $set_language = get_language(); $select = array( 'start' => $params['offset'], 'rows' => $params['limit'] ? $params['limit'] : 10, - 'fields' => array('id','title','description','score') + 'query' => $params['query'], + 'querydefaultfield' => "text_{$set_language}" ); if ($params['select'] && is_array($params['select'])) { @@ -230,29 +194,11 @@ function elgg_solr_object_search($hook, $type, $return, $params) { // get an update query instance $query = $client->createSelect($select); - - $title_boost = elgg_solr_get_title_boost(); - $description_boost = elgg_solr_get_description_boost(); - - // get the dismax component and set a boost query - $dismax = $query->getEDisMax(); - $qf = "title^{$title_boost} description^{$description_boost}"; - if ($params['qf']) { - $qf = $params['qf']; - } - $dismax->setQueryFields($qf); - $dismax->setQueryAlternative('*:*'); - - $boostQuery = elgg_solr_get_boost_query(); - if ($boostQuery) { - $dismax->setBoostQuery($boostQuery); - } // this query is now a dismax query $query->setQuery($params['query']); $default_sorts = array( - 'score' => 'desc', 'date_created' => 'desc' ); @@ -278,7 +224,7 @@ function elgg_solr_object_search($hook, $type, $return, $params) { // get highlighting component and apply settings $hl = $query->getHighlighting(); - $hlfields = array('title', 'description'); + $hlfields = array("text_{$set_language}"); if ($params['hlfields']) { $hlfields = $params['hlfields']; } @@ -319,11 +265,11 @@ function elgg_solr_object_search($hook, $type, $return, $params) { $search_results = array(); foreach ($resultset as $document) { - $search_results[$document->id] = array(); + $search_results[$document->guid] = array(); $snippet = ''; // highlighting results can be fetched by document id (the field defined as uniquekey in this schema) - $highlightedDoc = $highlighting->getResult($document->id); + $highlightedDoc = $highlighting->getResult($document->guid); if($highlightedDoc){ foreach($highlightedDoc as $field => $highlight) { @@ -340,11 +286,9 @@ function elgg_solr_object_search($hook, $type, $return, $params) { $snippet = $purifier->purify($snippet); } - $search_results[$document->id][$field] = $snippet; + $search_results[$document->guid][$field] = $snippet; } } - - $search_results[$document->id]['score'] = $document->score; } // get the entities @@ -357,36 +301,28 @@ function elgg_solr_object_search($hook, $type, $return, $params) { )); } - $show_score = elgg_get_plugin_setting('show_score', 'elgg_solr'); foreach ($search_results as $guid => $matches) { foreach ($entities_unsorted as $e) { $desc_suffix = ''; - if ($show_score == 'yes' && elgg_is_admin_logged_in()) { - $desc_suffix .= elgg_view('output/longtext', array( - 'value' => elgg_echo('elgg_solr:relevancy', array($matches['score'])), - 'class' => 'elgg-subtext' - )); - } if ($e->guid == $guid) { - if ($matches['title']) { - $e->setVolatileData('search_matched_title', $matches['title']); + if ($matches["title_{$set_language}"]) { + $e->setVolatileData('search_matched_title', $matches["title_{$set_language}"]); } else { - $e->setVolatileData('search_matched_title', $e->title); + $e->setVolatileData('search_matched_title', gc_explode_translation($e->title, $set_language)); } - if ($matches['description']) { - $desc = $matches['description']; + if ($matches["description_{$set_language}"]) { + $desc = $matches["description_{$set_language}"]; } else { - $desc = elgg_get_excerpt($e->description, 100); + $desc = elgg_get_excerpt(gc_explode_translation($e->description, $set_language), 100); } - unset($matches['title']); - unset($matches['description']); - unset($matches['score']); + unset($matches["title_{$set_language}"]); + unset($matches["description_{$set_language}"]); $desc .= implode('...', $matches); $e->setVolatileData('search_matched_description', $desc . $desc_suffix); @@ -405,8 +341,10 @@ function elgg_solr_object_search($hook, $type, $return, $params) { function elgg_solr_user_search($hook, $type, $return, $params) { + $set_language = get_language(); + $select = array( - 'querydefaultfield' => 'text_en', + 'querydefaultfield' => "text_{$set_language}", 'start' => $params['offset'], 'rows' => $params['limit'] ? $params['limit'] : 10, 'query' => $params['query'] @@ -538,8 +476,8 @@ function elgg_solr_user_search($hook, $type, $return, $params) { if ($e->guid == $guid) { $desc_suffix = ''; - if ($matches['name_en']) { - $name = $matches['name_en']; + if ($matches["name_{$set_language}"]) { + $name = $matches["name_{$set_language}"]; if ($matches['username']) { $name .= ' (@' . $matches['username'] . ')'; } @@ -550,7 +488,7 @@ function elgg_solr_user_search($hook, $type, $return, $params) { $e->setVolatileData('search_matched_title', $name); } else { - $name = $e->name; + $name = gc_explode_translation($e->name, $set_language); if ($matches['username']) { $name .= ' (@' . $matches['username'] . ')'; } @@ -562,7 +500,7 @@ function elgg_solr_user_search($hook, $type, $return, $params) { } // anything not already matched can be lumped in with the description - unset($matches['name_en']); + unset($matches["name_{$set_language}"]); unset($matches['username']); $desc_suffix .= implode('...', $matches); $desc_hl = search_get_highlighted_relevant_substrings($e->description, $params['query']); @@ -582,10 +520,13 @@ function elgg_solr_user_search($hook, $type, $return, $params) { function elgg_solr_group_search($hook, $type, $return, $params) { + $set_language = get_language(); + $select = array( 'start' => $params['offset'], 'rows' => $params['limit'] ? $params['limit'] : 10, - 'fields' => array('id','name','description', 'score') + 'query' => $params['query'], + 'querydefaultfield' => "text_{$set_language}", ); if ($params['select'] && is_array($params['select'])) { @@ -599,30 +540,12 @@ function elgg_solr_group_search($hook, $type, $return, $params) { $query = $client->createSelect($select); $default_sorts = array( - 'score' => 'desc', 'date_created' => 'desc' ); $sorts = $params['sorts'] ? $params['sorts'] : $default_sorts; $query->addSorts($sorts); - $title_boost = elgg_solr_get_title_boost(); - $description_boost = elgg_solr_get_description_boost(); - - // get the dismax component and set a boost query - $dismax = $query->getEDisMax(); - $qf = "name^{$title_boost} description^{$description_boost}"; - if ($params['qf']) { - $qf = $params['qf']; - } - $dismax->setQueryFields($qf); - $dismax->setQueryAlternative('*:*'); - - $boostQuery = elgg_solr_get_boost_query(); - if ($boostQuery) { - $dismax->setBoostQuery($boostQuery); - } - // this query is now a dismax query $query->setQuery($params['query']); @@ -630,6 +553,7 @@ function elgg_solr_group_search($hook, $type, $return, $params) { $params['fq']['type'] = 'type:group'; $default_fq = elgg_solr_get_default_fq($params); + unset($default_fq['subtype']); if ($params['fq']) { $filter_queries = array_merge($default_fq, $params['fq']); } @@ -645,7 +569,7 @@ function elgg_solr_group_search($hook, $type, $return, $params) { // get highlighting component and apply settings $hl = $query->getHighlighting(); - $hlfields = array('name', 'description'); + $hlfields = array("text_{$set_language}"); if ($params['hlfields']) { $hlfields = $params['hlfields']; } @@ -687,11 +611,11 @@ function elgg_solr_group_search($hook, $type, $return, $params) { $purifier = new HTMLPurifier($config); foreach ($resultset as $document) { - $search_results[$document->id] = array(); + $search_results[$document->guid] = array(); $snippet = ''; // highlighting results can be fetched by document id (the field defined as uniquekey in this schema) - $highlightedDoc = $highlighting->getResult($document->id); + $highlightedDoc = $highlighting->getResult($document->guid); if($highlightedDoc){ foreach($highlightedDoc as $field => $highlight) { @@ -708,11 +632,9 @@ function elgg_solr_group_search($hook, $type, $return, $params) { $snippet = $purifier->purify($snippet); } - $search_results[$document->id][$field] = $snippet; + $search_results[$document->guid][$field] = $snippet; } } - - $search_results[$document->id]['score'] = $document->score; } // get the entities @@ -725,41 +647,33 @@ function elgg_solr_group_search($hook, $type, $return, $params) { )); } - $show_score = elgg_get_plugin_setting('show_score', 'elgg_solr'); foreach ($search_results as $guid => $matches) { foreach ($entities_unsorted as $e) { $desc_suffix = ''; - if ($show_score == 'yes' && elgg_is_admin_logged_in()) { - $desc_suffix .= elgg_view('output/longtext', array( - 'value' => elgg_echo('elgg_solr:relevancy', array($matches['score'])), - 'class' => 'elgg-subtext' - )); - } if ($e->guid == $guid) { - if ($matches['name']) { - $name = $matches['name']; + if ($matches["name_{$set_language}"]) { + $name = $matches["name_{$set_language}"]; $e->setVolatileData('search_matched_name', $name); $e->setVolatileData('search_matched_title', $name); } else { - $name = $e->name; + $name = gc_explode_translation($e->name, $set_language); $e->setVolatileData('search_matched_name', $name); $e->setVolatileData('search_matched_title', $name); } - if ($matches['description']) { - $desc = $matches['description']; + if ($matches["description_{$set_language}"]) { + $desc = $matches["description_{$set_language}"]; } else { - $desc = search_get_highlighted_relevant_substrings($e->description, $params['query']); + $desc = search_get_highlighted_relevant_substrings(gc_explode_translation($e->description, $set_language), $params['query']); } - unset($matches['name']); - unset($matches['description']); - unset($matches['score']); + unset($matches["name_{$set_language}"]); + unset($matches["description_{$set_language}"]); $desc .= implode('...', $matches); $e->setVolatileData('search_matched_description', $desc . $desc_suffix); @@ -796,7 +710,9 @@ function elgg_solr_user_settings_save($hook, $type, $return, $params) { } - +/* Thursday, July 12 2018 + * this won't be used for now, temporarily disabled + */ function elgg_solr_tag_search($hook, $type, $return, $params) { $valid_tag_names = elgg_get_registered_tag_metadata_names(); diff --git a/mod/elgg_solr/start.php b/mod/elgg_solr/start.php index ad75b4abdc..5c3a7af94e 100644 --- a/mod/elgg_solr/start.php +++ b/mod/elgg_solr/start.php @@ -32,10 +32,10 @@ function elgg_solr_init() { elgg_unregister_plugin_hook_handler('search', 'group', 'search_groups_hook'); elgg_unregister_plugin_hook_handler('search', 'tags', 'search_tags_hook'); - //elgg_register_plugin_hook_handler('search', 'object:file', 'elgg_solr_file_search'); - //elgg_register_plugin_hook_handler('search', 'object', 'elgg_solr_object_search'); + elgg_register_plugin_hook_handler('search', 'object:file', 'elgg_solr_file_search'); + elgg_register_plugin_hook_handler('search', 'object', 'elgg_solr_object_search'); elgg_register_plugin_hook_handler('search', 'user', 'elgg_solr_user_search'); - //elgg_register_plugin_hook_handler('search', 'group', 'elgg_solr_group_search'); + elgg_register_plugin_hook_handler('search', 'group', 'elgg_solr_group_search'); //elgg_register_plugin_hook_handler('search', 'tags', 'elgg_solr_tag_search'); From 8e0a31092b81a79eec01636e3586dbe2390946fa Mon Sep 17 00:00:00 2001 From: pandurx Date: Thu, 12 Jul 2018 15:48:17 -0400 Subject: [PATCH 5/8] removed debugging message --- .../solarium/solarium/library/Solarium/Core/Client/Client.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mod/elgg_solr/vendor/solarium/solarium/library/Solarium/Core/Client/Client.php b/mod/elgg_solr/vendor/solarium/solarium/library/Solarium/Core/Client/Client.php index 8f1f538610..88abeeb63f 100644 --- a/mod/elgg_solr/vendor/solarium/solarium/library/Solarium/Core/Client/Client.php +++ b/mod/elgg_solr/vendor/solarium/solarium/library/Solarium/Core/Client/Client.php @@ -783,7 +783,7 @@ public function execute(QueryInterface $query, $endpoint = null) $request = $this->createRequest($query); $response = $this->executeRequest($request, $endpoint); $result = $this->createResult($query, $response); -error_log($request); + $this->eventDispatcher->dispatch( Events::POST_EXECUTE, new PostExecuteEvent($query, $result) From 24b7a736f571283f92322ec9f304bcade7d079f5 Mon Sep 17 00:00:00 2001 From: pandurx Date: Thu, 12 Jul 2018 16:04:04 -0400 Subject: [PATCH 6/8] reverted the change, this was only temporary so i can test on local --- mod/gcconnex_theme/views/default/search/search_box.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/mod/gcconnex_theme/views/default/search/search_box.php b/mod/gcconnex_theme/views/default/search/search_box.php index 1de06b1b17..4f6bd385f0 100644 --- a/mod/gcconnex_theme/views/default/search/search_box.php +++ b/mod/gcconnex_theme/views/default/search/search_box.php @@ -30,8 +30,7 @@ /// using javascript function to send the query and params to the intranet (gsa) to resolve the encoding issue function submit_search_query(selected_language) { - //var url = "http://intranet.canada.ca/search-recherche/query-recherche-" + selected_language + ".aspx"; - var url = "http://192.168.1.18/gcconnex/search"; + var url = "http://intranet.canada.ca/search-recherche/query-recherche-" + selected_language + ".aspx"; var encode_url = url + "?" + "q=" + escape(document.getElementById('wb-srch-q').value) + "&a=" + document.getElementById('a').value + "&s=" + document.getElementById('s').value + "&chk4=" + document.getElementById('chk4').value; document.location.href = encode_url; } From 676ab837dbb73a52f50e997cb17fdbf045e3d051 Mon Sep 17 00:00:00 2001 From: pandurx Date: Fri, 13 Jul 2018 10:41:22 -0400 Subject: [PATCH 7/8] pr reviews fixed --- mod/elgg_solr/lib/functions.php | 4 -- mod/elgg_solr/lib/hooks.php | 82 ++++++++++++++++----------------- 2 files changed, 41 insertions(+), 45 deletions(-) diff --git a/mod/elgg_solr/lib/functions.php b/mod/elgg_solr/lib/functions.php index bbad64fc51..e43a74b138 100644 --- a/mod/elgg_solr/lib/functions.php +++ b/mod/elgg_solr/lib/functions.php @@ -514,10 +514,6 @@ function elgg_solr_get_default_fq($params) { $fq['access'] = $access_query; } - /*if (!access_get_show_hidden_status()) { - $fq['enabled'] = 'enabled:"yes"'; - }*/ - return $fq; } diff --git a/mod/elgg_solr/lib/hooks.php b/mod/elgg_solr/lib/hooks.php index 79f12e0f44..0fb31d97f2 100644 --- a/mod/elgg_solr/lib/hooks.php +++ b/mod/elgg_solr/lib/hooks.php @@ -11,11 +11,11 @@ */ function elgg_solr_file_search($hook, $type, $value, $params) { - $set_language = get_language(); + $get_language = get_language(); $select = array( 'start' => $params['offset'], 'rows' => $params['limit'] ? $params['limit'] : 10, - 'querydefaultfield' => "text_{$set_language}", + 'querydefaultfield' => "text_{$get_language}", 'query' => $params['query'], ); @@ -55,7 +55,7 @@ function elgg_solr_file_search($hook, $type, $value, $params) { // get highlighting component and apply settings $hl = $query->getHighlighting(); - $hlfields = array("text_{$set_language}"); + $hlfields = array("text_{$get_language}"); if ($params['hlfields']) { $hlfields = $params['hlfields']; } @@ -123,7 +123,7 @@ function elgg_solr_file_search($hook, $type, $value, $params) { } // normalize description with attr_content - $search_results[$document->guid]["description_{$set_language}"] = trim($search_results[$document->guid]["description_{$set_language}"]); + $search_results[$document->guid]["description_{$get_language}"] = trim($search_results[$document->guid]["description_{$get_language}"]); } // get the entities in a single query @@ -143,22 +143,22 @@ function elgg_solr_file_search($hook, $type, $value, $params) { $desc_suffix = ''; - if ($matches["title__{$set_language}"]) { - $e->setVolatileData('search_matched_title', $matches["title_{$set_language}"]); + if ($matches["title__{$get_language}"]) { + $e->setVolatileData('search_matched_title', $matches["title_{$get_language}"]); } else { - $e->setVolatileData('search_matched_title', gc_explode_translation($e->title, $set_language)); + $e->setVolatileData('search_matched_title', gc_explode_translation($e->title, $get_language)); } - if ($matches["description_{$set_language}"]) { - $desc = $matches["description_{$set_language}"]; + if ($matches["description_{$get_language}"]) { + $desc = $matches["description_{$get_language}"]; } else { - $desc = elgg_get_excerpt(gc_explode_translation($e->description, $set_language), 100); + $desc = elgg_get_excerpt(gc_explode_translation($e->description, $get_language), 100); } - unset($matches["title_{$set_language}"]); - unset($matches["description_{$set_language}"]); + unset($matches["title_{$get_language}"]); + unset($matches["description_{$get_language}"]); $desc .= implode('...', $matches); $e->setVolatileData('search_matched_description', $desc . $desc_suffix); @@ -176,13 +176,13 @@ function elgg_solr_file_search($hook, $type, $value, $params) { function elgg_solr_object_search($hook, $type, $return, $params) { - $set_language = get_language(); + $get_language = get_language(); $select = array( 'start' => $params['offset'], 'rows' => $params['limit'] ? $params['limit'] : 10, 'query' => $params['query'], - 'querydefaultfield' => "text_{$set_language}" + 'querydefaultfield' => "text_{$get_language}" ); if ($params['select'] && is_array($params['select'])) { @@ -224,7 +224,7 @@ function elgg_solr_object_search($hook, $type, $return, $params) { // get highlighting component and apply settings $hl = $query->getHighlighting(); - $hlfields = array("text_{$set_language}"); + $hlfields = array("text_{$get_language}"); if ($params['hlfields']) { $hlfields = $params['hlfields']; } @@ -307,22 +307,22 @@ function elgg_solr_object_search($hook, $type, $return, $params) { $desc_suffix = ''; if ($e->guid == $guid) { - if ($matches["title_{$set_language}"]) { - $e->setVolatileData('search_matched_title', $matches["title_{$set_language}"]); + if ($matches["title_{$get_language}"]) { + $e->setVolatileData('search_matched_title', $matches["title_{$get_language}"]); } else { - $e->setVolatileData('search_matched_title', gc_explode_translation($e->title, $set_language)); + $e->setVolatileData('search_matched_title', gc_explode_translation($e->title, $get_language)); } - if ($matches["description_{$set_language}"]) { - $desc = $matches["description_{$set_language}"]; + if ($matches["description_{$get_language}"]) { + $desc = $matches["description_{$get_language}"]; } else { - $desc = elgg_get_excerpt(gc_explode_translation($e->description, $set_language), 100); + $desc = elgg_get_excerpt(gc_explode_translation($e->description, $get_language), 100); } - unset($matches["title_{$set_language}"]); - unset($matches["description_{$set_language}"]); + unset($matches["title_{$get_language}"]); + unset($matches["description_{$get_language}"]); $desc .= implode('...', $matches); $e->setVolatileData('search_matched_description', $desc . $desc_suffix); @@ -341,10 +341,10 @@ function elgg_solr_object_search($hook, $type, $return, $params) { function elgg_solr_user_search($hook, $type, $return, $params) { - $set_language = get_language(); + $get_language = get_language(); $select = array( - 'querydefaultfield' => "text_{$set_language}", + 'querydefaultfield' => "text_{$get_language}", 'start' => $params['offset'], 'rows' => $params['limit'] ? $params['limit'] : 10, 'query' => $params['query'] @@ -392,7 +392,7 @@ function elgg_solr_user_search($hook, $type, $return, $params) { // get highlighting component and apply settings $hl = $query->getHighlighting(); - $hlfields = array('text_en'); + $hlfields = array("text_{$get_language}"); if ($params['hlfields']) { $hlfields = $params['hlfields']; @@ -476,8 +476,8 @@ function elgg_solr_user_search($hook, $type, $return, $params) { if ($e->guid == $guid) { $desc_suffix = ''; - if ($matches["name_{$set_language}"]) { - $name = $matches["name_{$set_language}"]; + if ($matches["name_{$get_language}"]) { + $name = $matches["name_{$get_language}"]; if ($matches['username']) { $name .= ' (@' . $matches['username'] . ')'; } @@ -488,7 +488,7 @@ function elgg_solr_user_search($hook, $type, $return, $params) { $e->setVolatileData('search_matched_title', $name); } else { - $name = gc_explode_translation($e->name, $set_language); + $name = gc_explode_translation($e->name, $get_language); if ($matches['username']) { $name .= ' (@' . $matches['username'] . ')'; } @@ -500,7 +500,7 @@ function elgg_solr_user_search($hook, $type, $return, $params) { } // anything not already matched can be lumped in with the description - unset($matches["name_{$set_language}"]); + unset($matches["name_{$get_language}"]); unset($matches['username']); $desc_suffix .= implode('...', $matches); $desc_hl = search_get_highlighted_relevant_substrings($e->description, $params['query']); @@ -520,13 +520,13 @@ function elgg_solr_user_search($hook, $type, $return, $params) { function elgg_solr_group_search($hook, $type, $return, $params) { - $set_language = get_language(); + $get_language = get_language(); $select = array( 'start' => $params['offset'], 'rows' => $params['limit'] ? $params['limit'] : 10, 'query' => $params['query'], - 'querydefaultfield' => "text_{$set_language}", + 'querydefaultfield' => "text_{$get_language}", ); if ($params['select'] && is_array($params['select'])) { @@ -569,7 +569,7 @@ function elgg_solr_group_search($hook, $type, $return, $params) { // get highlighting component and apply settings $hl = $query->getHighlighting(); - $hlfields = array("text_{$set_language}"); + $hlfields = array("text_{$get_language}"); if ($params['hlfields']) { $hlfields = $params['hlfields']; } @@ -653,27 +653,27 @@ function elgg_solr_group_search($hook, $type, $return, $params) { $desc_suffix = ''; if ($e->guid == $guid) { - if ($matches["name_{$set_language}"]) { - $name = $matches["name_{$set_language}"]; + if ($matches["name_{$get_language}"]) { + $name = $matches["name_{$get_language}"]; $e->setVolatileData('search_matched_name', $name); $e->setVolatileData('search_matched_title', $name); } else { - $name = gc_explode_translation($e->name, $set_language); + $name = gc_explode_translation($e->name, $get_language); $e->setVolatileData('search_matched_name', $name); $e->setVolatileData('search_matched_title', $name); } - if ($matches["description_{$set_language}"]) { - $desc = $matches["description_{$set_language}"]; + if ($matches["description_{$get_language}"]) { + $desc = $matches["description_{$get_language}"]; } else { - $desc = search_get_highlighted_relevant_substrings(gc_explode_translation($e->description, $set_language), $params['query']); + $desc = search_get_highlighted_relevant_substrings(gc_explode_translation($e->description, $get_language), $params['query']); } - unset($matches["name_{$set_language}"]); - unset($matches["description_{$set_language}"]); + unset($matches["name_{$get_language}"]); + unset($matches["description_{$get_language}"]); $desc .= implode('...', $matches); $e->setVolatileData('search_matched_description', $desc . $desc_suffix); From 8eb0f4bb215cf891cd3d03a1a06d2f71758e9fbc Mon Sep 17 00:00:00 2001 From: pandurx Date: Fri, 13 Jul 2018 11:02:59 -0400 Subject: [PATCH 8/8] variable name change --- mod/elgg_solr/lib/hooks.php | 82 ++++++++++++++++++------------------- 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/mod/elgg_solr/lib/hooks.php b/mod/elgg_solr/lib/hooks.php index 0fb31d97f2..927ec3d714 100644 --- a/mod/elgg_solr/lib/hooks.php +++ b/mod/elgg_solr/lib/hooks.php @@ -11,11 +11,11 @@ */ function elgg_solr_file_search($hook, $type, $value, $params) { - $get_language = get_language(); + $language = get_language(); $select = array( 'start' => $params['offset'], 'rows' => $params['limit'] ? $params['limit'] : 10, - 'querydefaultfield' => "text_{$get_language}", + 'querydefaultfield' => "text_{$language}", 'query' => $params['query'], ); @@ -55,7 +55,7 @@ function elgg_solr_file_search($hook, $type, $value, $params) { // get highlighting component and apply settings $hl = $query->getHighlighting(); - $hlfields = array("text_{$get_language}"); + $hlfields = array("text_{$language}"); if ($params['hlfields']) { $hlfields = $params['hlfields']; } @@ -123,7 +123,7 @@ function elgg_solr_file_search($hook, $type, $value, $params) { } // normalize description with attr_content - $search_results[$document->guid]["description_{$get_language}"] = trim($search_results[$document->guid]["description_{$get_language}"]); + $search_results[$document->guid]["description_{$language}"] = trim($search_results[$document->guid]["description_{$language}"]); } // get the entities in a single query @@ -143,22 +143,22 @@ function elgg_solr_file_search($hook, $type, $value, $params) { $desc_suffix = ''; - if ($matches["title__{$get_language}"]) { - $e->setVolatileData('search_matched_title', $matches["title_{$get_language}"]); + if ($matches["title__{$language}"]) { + $e->setVolatileData('search_matched_title', $matches["title_{$language}"]); } else { - $e->setVolatileData('search_matched_title', gc_explode_translation($e->title, $get_language)); + $e->setVolatileData('search_matched_title', gc_explode_translation($e->title, $language)); } - if ($matches["description_{$get_language}"]) { - $desc = $matches["description_{$get_language}"]; + if ($matches["description_{$language}"]) { + $desc = $matches["description_{$language}"]; } else { - $desc = elgg_get_excerpt(gc_explode_translation($e->description, $get_language), 100); + $desc = elgg_get_excerpt(gc_explode_translation($e->description, $language), 100); } - unset($matches["title_{$get_language}"]); - unset($matches["description_{$get_language}"]); + unset($matches["title_{$language}"]); + unset($matches["description_{$language}"]); $desc .= implode('...', $matches); $e->setVolatileData('search_matched_description', $desc . $desc_suffix); @@ -176,13 +176,13 @@ function elgg_solr_file_search($hook, $type, $value, $params) { function elgg_solr_object_search($hook, $type, $return, $params) { - $get_language = get_language(); + $language = get_language(); $select = array( 'start' => $params['offset'], 'rows' => $params['limit'] ? $params['limit'] : 10, 'query' => $params['query'], - 'querydefaultfield' => "text_{$get_language}" + 'querydefaultfield' => "text_{$language}" ); if ($params['select'] && is_array($params['select'])) { @@ -224,7 +224,7 @@ function elgg_solr_object_search($hook, $type, $return, $params) { // get highlighting component and apply settings $hl = $query->getHighlighting(); - $hlfields = array("text_{$get_language}"); + $hlfields = array("text_{$language}"); if ($params['hlfields']) { $hlfields = $params['hlfields']; } @@ -307,22 +307,22 @@ function elgg_solr_object_search($hook, $type, $return, $params) { $desc_suffix = ''; if ($e->guid == $guid) { - if ($matches["title_{$get_language}"]) { - $e->setVolatileData('search_matched_title', $matches["title_{$get_language}"]); + if ($matches["title_{$language}"]) { + $e->setVolatileData('search_matched_title', $matches["title_{$language}"]); } else { - $e->setVolatileData('search_matched_title', gc_explode_translation($e->title, $get_language)); + $e->setVolatileData('search_matched_title', gc_explode_translation($e->title, $language)); } - if ($matches["description_{$get_language}"]) { - $desc = $matches["description_{$get_language}"]; + if ($matches["description_{$language}"]) { + $desc = $matches["description_{$language}"]; } else { - $desc = elgg_get_excerpt(gc_explode_translation($e->description, $get_language), 100); + $desc = elgg_get_excerpt(gc_explode_translation($e->description, $language), 100); } - unset($matches["title_{$get_language}"]); - unset($matches["description_{$get_language}"]); + unset($matches["title_{$language}"]); + unset($matches["description_{$language}"]); $desc .= implode('...', $matches); $e->setVolatileData('search_matched_description', $desc . $desc_suffix); @@ -341,10 +341,10 @@ function elgg_solr_object_search($hook, $type, $return, $params) { function elgg_solr_user_search($hook, $type, $return, $params) { - $get_language = get_language(); + $language = get_language(); $select = array( - 'querydefaultfield' => "text_{$get_language}", + 'querydefaultfield' => "text_{$language}", 'start' => $params['offset'], 'rows' => $params['limit'] ? $params['limit'] : 10, 'query' => $params['query'] @@ -392,7 +392,7 @@ function elgg_solr_user_search($hook, $type, $return, $params) { // get highlighting component and apply settings $hl = $query->getHighlighting(); - $hlfields = array("text_{$get_language}"); + $hlfields = array("text_{$language}"); if ($params['hlfields']) { $hlfields = $params['hlfields']; @@ -476,8 +476,8 @@ function elgg_solr_user_search($hook, $type, $return, $params) { if ($e->guid == $guid) { $desc_suffix = ''; - if ($matches["name_{$get_language}"]) { - $name = $matches["name_{$get_language}"]; + if ($matches["name_{$language}"]) { + $name = $matches["name_{$language}"]; if ($matches['username']) { $name .= ' (@' . $matches['username'] . ')'; } @@ -488,7 +488,7 @@ function elgg_solr_user_search($hook, $type, $return, $params) { $e->setVolatileData('search_matched_title', $name); } else { - $name = gc_explode_translation($e->name, $get_language); + $name = gc_explode_translation($e->name, $language); if ($matches['username']) { $name .= ' (@' . $matches['username'] . ')'; } @@ -500,7 +500,7 @@ function elgg_solr_user_search($hook, $type, $return, $params) { } // anything not already matched can be lumped in with the description - unset($matches["name_{$get_language}"]); + unset($matches["name_{$language}"]); unset($matches['username']); $desc_suffix .= implode('...', $matches); $desc_hl = search_get_highlighted_relevant_substrings($e->description, $params['query']); @@ -520,13 +520,13 @@ function elgg_solr_user_search($hook, $type, $return, $params) { function elgg_solr_group_search($hook, $type, $return, $params) { - $get_language = get_language(); + $language = get_language(); $select = array( 'start' => $params['offset'], 'rows' => $params['limit'] ? $params['limit'] : 10, 'query' => $params['query'], - 'querydefaultfield' => "text_{$get_language}", + 'querydefaultfield' => "text_{$language}", ); if ($params['select'] && is_array($params['select'])) { @@ -569,7 +569,7 @@ function elgg_solr_group_search($hook, $type, $return, $params) { // get highlighting component and apply settings $hl = $query->getHighlighting(); - $hlfields = array("text_{$get_language}"); + $hlfields = array("text_{$language}"); if ($params['hlfields']) { $hlfields = $params['hlfields']; } @@ -653,27 +653,27 @@ function elgg_solr_group_search($hook, $type, $return, $params) { $desc_suffix = ''; if ($e->guid == $guid) { - if ($matches["name_{$get_language}"]) { - $name = $matches["name_{$get_language}"]; + if ($matches["name_{$language}"]) { + $name = $matches["name_{$language}"]; $e->setVolatileData('search_matched_name', $name); $e->setVolatileData('search_matched_title', $name); } else { - $name = gc_explode_translation($e->name, $get_language); + $name = gc_explode_translation($e->name, $language); $e->setVolatileData('search_matched_name', $name); $e->setVolatileData('search_matched_title', $name); } - if ($matches["description_{$get_language}"]) { - $desc = $matches["description_{$get_language}"]; + if ($matches["description_{$language}"]) { + $desc = $matches["description_{$language}"]; } else { - $desc = search_get_highlighted_relevant_substrings(gc_explode_translation($e->description, $get_language), $params['query']); + $desc = search_get_highlighted_relevant_substrings(gc_explode_translation($e->description, $language), $params['query']); } - unset($matches["name_{$get_language}"]); - unset($matches["description_{$get_language}"]); + unset($matches["name_{$language}"]); + unset($matches["description_{$language}"]); $desc .= implode('...', $matches); $e->setVolatileData('search_matched_description', $desc . $desc_suffix);