mahara-contributors team mailing list archive
-
mahara-contributors team
-
Mailing list archive
-
Message #61785
[Bug 1926530] A patch has been submitted for review
Patch for "master" branch: https://reviews.mahara.org/11725
--
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:
In Progress
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
References