We have moved to Github. Please open tickets there.

Opened 21 months ago

Closed 20 months ago

Last modified 19 months ago

#3743 closed Defect (fixed)

set_plugin_setting() returns a guid instead of bool

Reported by: brettp Owned by:
Priority: normal Milestone: Elgg 1.8.1b
Component: Core Version: 1.7
Severity: minor Keywords:
Cc: brett@… Difficulty:

Description

Is there any reason to return the guid of the object the plugin setting is saved to? I expected it to be bool so did something like this:

$results = true;
$results &= set_plugin_setting(); // returned 1232
var_dump($results); // false.

That broke, but not on all sites and it took a while to track it.

Change History (5)

comment:1 Changed 21 months ago by brettp

  • Milestone changed from Needs Review to Elgg 1.8.1

comment:2 Changed 20 months ago by cash

Wow, this is a mess. The original developers tended to return an id when saving anything (entity, private_setting, annotation, etc). The flow of functions backward is:

  • set_plugin_setting()
  • elgg_set_plugin_setting()
  • ElggPlugin::setSetting()
  • ElggPlugin::set()
  • ElggEntity::setPrivateSetting()
  • set_private_setting()

Along the way, there are inconsistencies in how return values are handled or when plugin hooks are fired.

comment:3 Changed 20 months ago by Cash Costello

  • Resolution set to fixed
  • Status changed from new to closed

Fixes #3743 returning bool instead of int when setting a private setting

Changeset: c8bbc359656ced62de84511bb7bd8cb304609abb

comment:4 Changed 20 months ago by brettp

  • Milestone changed from Elgg 1.8.1 to Elgg 1.8.1b

comment:5 Changed 19 months ago by Cash Costello

Fixes #3743 returning bool instead of int when setting a private setting

Changeset: c8bbc359656ced62de84511bb7bd8cb304609abb

Note: See TracTickets for help on using tickets.