Patch for "master" branch: https://reviews.mahara.org/11744
-- You received this bug notification because you are a member of Mahara Contributors, which is subscribed to Mahara. Matching subscriptions: mahara-contributors https://bugs.launchpad.net/bugs/1926530 Title: Elasticsearch producing warning: Undefined property: stdClass::$icon Status in Mahara: Fix Released Bug description: It is possible to produce a warning via an Elasticsearch call if the results produce a broken icon link. The warning is as follows: [WAR] 85 (search/elasticsearch/type/ElasticsearchType_artefact.php:332) Undefined property: stdClass::$icon Call stack (most recent first): log_message("Undefined property: stdClass::$icon", 8, true, true, "/var/www/master-dev-prod-mahara/releases/202104280...", 332) at /var/www/master-dev-prod-mahara/releases/20210428075700/lib/errors.php:515 error(8, "Undefined property: stdClass::$icon", "/var/www/master-dev-prod-mahara/releases/202104280...", 332, array(size 7)) at /var/www/master-dev-prod-mahara/releases/20210428075700/search/elasticsearch/type/ElasticsearchType_artefact.php:332 ElasticsearchType_artefact::getRecordDataById("artefact", "3560") at /var/www/master-dev-prod-mahara/releases/20210428075700/search/elasticsearch/lib.php:1926 ElasticsearchPseudotype_all::search("TEST", 10, 0, array(size 4), null, object(LiveUser)) at /var/www/master-dev-prod-mahara/releases/20210428075700/search/elasticsearch/lib.php:1073 PluginSearchElasticsearch::search_all("TEST", 10, 0, array(size 4), null) at /var/www/master-dev-prod-mahara/releases/20210428075700/search/elasticsearch/json/elasticsearch.php:53 This was first produced on dev.mahara.org on 21.04.dev code, while searching for the term, "test". -------------------------------------------------------------------------- ## Testing on dev.mahara.org - $icon is an undefined property - function causing this error: getRecordDataById("artefact", "3560") Looking at the artefact table ... -[ RECORD 1 ]---+-------------------- id | 3560 artefacttype | socialprofile container | 0 parent | owner | 1 institution | group | ctime | 2020-10-08 13:50:27 mtime | 2020-10-08 13:50:27 atime | 2020-10-08 13:50:27 locked | 0 title | test tumblr description | Tumblr note | tumblr author | 1 authorname | allowcomments | 0 approvecomments | 0 license | licensor | licensorurl | path | /3560 - a socialprofile artefact caused this, owned by user=1 that is catadmin - try adding another tumblr with username=meow - re-index elasticsearch - search for meow gives the same error ```bash [WAR] ca (search/elasticsearch/type/ElasticsearchType_artefact.php:332) Undefined property: stdClass::$icon Call stack (most recent first): log_message("Undefined property: stdClass::$icon", 8, true, true, "/var/www/master-dev-prod-mahara/releases/202104280...", 332) at /var/www/master-dev-prod-mahara/releases/20210428075700/lib/errors.php:515 error(8, "Undefined property: stdClass::$icon", "/var/www/master-dev-prod-mahara/releases/202104280...", 332, array(size 7)) at /var/www/master-dev-prod-mahara/releases/20210428075700/search/elasticsearch/type/ElasticsearchType_artefact.php:332 ElasticsearchType_artefact::getRecordDataById("artefact", "3915") at /var/www/master-dev-prod-mahara/releases/20210428075700/search/elasticsearch/lib.php:1926 ElasticsearchPseudotype_all::search("meow", 10, 0, array(size 5), null, object(LiveUser)) at /var/www/master-dev-prod-mahara/releases/20210428075700/search/elasticsearch/lib.php:1073 PluginSearchElasticsearch::search_all("meow", 10, 0, array(size 5), null, object(LiveUser)) at /var/www/master-dev-prod-mahara/releases/20210428075700/search/elasticsearch/index.php:55 ``` log_message("Undefined property: stdClass::$icon", 8, true, true, "/var/www/master-dev-prod-mahara/releases/202104280...", 332) at /var/www/master-dev-prod-mahara/releases/20210428075700/lib/errors.php:515 error(8, "Undefined property: stdClass::$icon", "/var/www/master-dev-prod-mahara/releases/202104280...", 332, array(size 7)) at /var/www/master-dev-prod-mahara/releases/20210428075700/search/elasticsearch/type/ElasticsearchType_artefact.php:332 ElasticsearchType_artefact::getRecordDataById("artefact", "3560") at /var/www/master-dev-prod-mahara/releases/20210428075700/search/elasticsearch/lib.php:1926 ElasticsearchPseudotype_all::search("test", 10, 0, array(size 5), null, object(LiveUser)) at /var/www/master-dev-prod-mahara/releases/20210428075700/search/elasticsearch/lib.php:1073 PluginSearchElasticsearch::search_all("test", 10, 0, array(size 5), null, object(LiveUser)) at /var/www/master-dev-prod-mahara/releases/20210428075700/search/elasticsearch/index.php:55 ### Trying locally 1. Create a social profile for tumblr with meow as the username 2. I get the same warning ```bash [DBG] 94 (search/elasticsearch/type/ElasticsearchType_artefact.php:334) Array ( [0] => stdClass Object ( [id] => 6 [artefacttype] => socialprofile [parent] => [owner] => 1 [title] => meow [description] => Tumblr [institution] => [group] => [author] => 1 [parent_artefacttype] => [parent_title] => [parent_description] => [license] => [width] => [height] => [note] => tumblr [link] => [faicon] => <span class="icon icon-brand icon-lg icon-tumblr-square" style="color: #001935"></span> ) ) [WAR] 94 (search/elasticsearch/type/ElasticsearchType_artefact.php:336) Undefined property: stdClass::$icon ``` - Try creating different profiles - Add a social media account for instagram with username=woof - Re-index elastic search - Same issue Turns out! $record->icon = $icons [0]->icon; // this property doesn't exist for all socialmedia option in public static function get_profile_icons($data) @ htdocs/artefact;internal/lib.php Fix => $record->icon = $icons [0]->faicon; To manage notifications about this bug go to: https://bugs.launchpad.net/mahara/+bug/1926530/+subscriptions _______________________________________________ Mailing list: https://launchpad.net/~mahara-contributors Post to : [email protected] Unsubscribe : https://launchpad.net/~mahara-contributors More help : https://help.launchpad.net/ListHelp

