Returns a private setting value
public getPrivateSetting ( string $name ) : mixed | ||
$name | string | Name of the private setting |
return | mixed | Null if the setting does not exist |
/** * This function checks if the questions workflow is enabled in the plugin settings and for the given container * * @return bool true is enabled, false otherwise */ function questions_workflow_enabled(ElggEntity $container = null) { if ($container && $container instanceof ElggGroup) { return $container->getPrivateSetting('questions_workflow_enabled') == "yes"; } return elgg_get_plugin_setting("workflow_enabled", "questions") == "yes"; }
/** * Return the number of days it should take to solve a question. * * @param ElggEntity $container if a group is provided, first the setting of the group is checked, then the default setting of the site * * @return int */ function questions_get_solution_time(ElggEntity $container) { static $plugin_setting; if (!isset($plugin_setting)) { $plugin_setting = (int) elgg_get_plugin_setting('site_solution_time', 'questions'); } // get site setting $result = $plugin_setting; // check is group if ($container instanceof ElggGroup) { // get group setting $group_setting = $container->getPrivateSetting('questions_solution_time'); if ($group_setting !== false && $group_setting !== null) { // we have a valid group setting $result = (int) $group_setting; } } return $result; }
/** * Add tags to the sent tags of an entity * * @param ElggEntity $entity the entity to add to * @param string[] $sending_tags the newly sent tags * * @return bool */ function tag_tools_add_sent_tags(ElggEntity $entity, $sending_tags = []) { if (!$entity instanceof \ElggEntity) { return false; } if (empty($sending_tags)) { // nothing to add return true; } if (!is_array($sending_tags)) { $sending_tags = [$sending_tags]; } $sent_tags = $entity->getPrivateSetting('tag_tools:sent_tags'); if (!empty($sent_tags)) { $sent_tags = json_decode($sent_tags, true); } else { $sent_tags = []; } // store all processed tags $processed_tags = array_merge($sent_tags, $sending_tags); $processed_tags = array_unique($processed_tags); return $entity->setPrivateSetting('tag_tools:sent_tags', json_encode($processed_tags)); }
/** * Handle the deletion of an ElggEntity * * @param \ElggEntity $entity the entity * * @return void */ protected static function deleteEntity(\ElggEntity $entity) { if (!$entity->getPrivateSetting(ELASTICSEARCH_INDEXED_NAME)) { return; } $client = elasticsearch_get_client(); if (empty($client)) { return; } elasticsearch_add_document_for_deletion($entity->getGUID(), ['_index' => $client->getIndex(), '_type' => $client->getDocumentTypeFromEntity($entity), '_id' => $entity->getGUID()]); }