Differences Between: [Versions 400 and 401] [Versions 400 and 402] [Versions 400 and 403]
Contains class core_tag_tag
Copyright: | 2015 Marina Glancy |
License: | http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later |
File Size: | 1773 lines (74 kb) |
Included or required: | 0 times |
Referenced: | 0 times |
Includes or requires: | 0 files |
core_tag_tag:: (53 methods):
__construct()
__get()
__isset()
to_object()
get_display_name()
make_display_name()
add()
get()
get_bulk()
get_by_name()
guess_by_name()
get_by_name_bulk()
normalize()
create_if_missing()
make_url()
get_view_url()
ensure_fields_exist()
delete_instance_as_record()
delete_instance()
delete_instances_as_record()
delete_instances_by_id()
delete_instances()
add_instance()
update_instance_ordering()
get_items_tags()
get_item_tags()
get_item_tags_array()
set_item_tags()
remove_all_item_tags()
add_item_tag()
remove_item_tag()
move_context()
change_items_context()
change_instances_context()
update()
flag()
reset_flag()
set_related_tags()
add_related_tags()
get_correlated_tags()
get_manual_related_tags()
get_related_tags()
get_tagged_items()
count_tagged_items()
is_item_tagged_with()
is_enabled()
get_tag_index()
get_formatted_description()
get_links()
delete_tags()
combine_correlated_tags()
combine_tags()
get_tags_by_area_in_contexts()
Class: core_tag_tag - X-Ref
Represents one tag and also contains lots of useful tag-related methods as static functions.__construct($record) X-Ref |
Constructor. Use functions get(), get_by_name(), etc. param: stdClass $record |
__get($name) X-Ref |
Magic getter return: mixed param: string $name |
__isset($name) X-Ref |
Magic isset method return: bool param: string $name |
to_object() X-Ref |
Converts to object return: stdClass |
get_display_name($ashtml = true) X-Ref |
Returns tag name ready to be displayed return: string param: bool $ashtml (default true) if true will return htmlspecialchars encoded string |
make_display_name($tag, $ashtml = true) X-Ref |
Prepares tag name ready to be displayed return: string param: stdClass|core_tag_tag $tag record from db table tag, must contain properties name and rawname param: bool $ashtml (default true) if true will return htmlspecialchars encoded string |
add($tagcollid, $tags, $isstandard = false) X-Ref |
Adds one or more tag in the database. This function should not be called directly : you should use tag_set. return: array tag objects indexed by their lowercase normalized names. Any boolean false in the array param: int $tagcollid param: string|array $tags one tag, or an array of tags, to be created param: bool $isstandard type of tag to be created. A standard tag is kept even if there are no records tagged with it. |
get($id, $returnfields = 'id, name, rawname, tagcollid', $strictness = IGNORE_MISSING) X-Ref |
Simple function to just return a single tag object by its id return: core_tag_tag|false tag object param: int $id param: string $returnfields which fields do we want returned from table {tag}. param: int $strictness IGNORE_MISSING means compatible mode, false returned if record not found, debug message if more found; |
get_bulk($ids, $returnfields = 'id, name, rawname, tagcollid') X-Ref |
Simple function to just return an array of tag objects by their ids return: core_tag_tag[] array of retrieved tags param: int[] $ids param: string $returnfields which fields do we want returned from table {tag}. |
get_by_name($tagcollid, $name, $returnfields='id, name, rawname, tagcollid',$strictness = IGNORE_MISSING) X-Ref |
Simple function to just return a single tag object by tagcollid and name return: core_tag_tag|false tag object param: int $tagcollid tag collection to use, param: string $name tag name param: string $returnfields which fields do we want returned. This is a comma separated string param: int $strictness IGNORE_MISSING means compatible mode, false returned if record not found, debug message if more found; |
guess_by_name($name, $returnfields='id, name, rawname, tagcollid') X-Ref |
Looking in all tag collections for the tag with the given name return: array array of core_tag_tag instances param: string $name tag name param: string $returnfields |
get_by_name_bulk($tagcollid, $tags, $returnfields = 'id, name, rawname, tagcollid') X-Ref |
Returns the list of tag objects by tag collection id and the list of tag names return: array tag-indexed array of objects. No value for a key means the tag wasn't found. param: int $tagcollid param: array $tags array of tags to look for param: string $returnfields list of DB fields to return, must contain 'id', 'name' and 'rawname' |
normalize($rawtags, $tolowercase = true) X-Ref |
Function that normalizes a list of tag names. return: array lowercased normalized tags, indexed by the normalized tag, in the same order as the original array. param: array $rawtags array of tags param: bool $tolowercase convert to lower case? |
create_if_missing($tagcollid, $tags, $isstandard = false) X-Ref |
Retrieves tags and/or creates them if do not exist yet return: core_tag_tag[] array of tag objects indexed with lowercase normalised tag name param: int $tagcollid param: array $tags array of raw tag names, do not have to be normalised param: bool $isstandard create as standard tag (default false) |
make_url($tagcollid, $name, $exclusivemode = 0, $fromctx = 0, $ctx = 0, $rec = 1) X-Ref |
Creates a URL to view a tag return: \moodle_url param: int $tagcollid param: string $name param: int $exclusivemode param: int $fromctx context id where this tag cloud is displayed param: int $ctx context id for tag view link param: int $rec recursive argument for tag view link |
get_view_url($exclusivemode = 0, $fromctx = 0, $ctx = 0, $rec = 1) X-Ref |
Returns URL to view the tag return: \moodle_url param: int $exclusivemode param: int $fromctx context id where this tag cloud is displayed param: int $ctx context id for tag view link param: int $rec recursive argument for tag view link |
ensure_fields_exist($list, $caller) X-Ref |
Validates that the required fields were retrieved and retrieves them if missing param: array $list array of the fields that need to be validated param: string $caller name of the function that requested it, for the debugging message |
delete_instance_as_record($taginstance, $fullobject = false) X-Ref |
Deletes the tag instance given the record from tag_instance DB table return: bool param: stdClass $taginstance param: bool $fullobject whether $taginstance contains all fields from DB table tag_instance |
delete_instance($component, $itemtype, $itemid, $tiuserid = 0) X-Ref |
Delete one instance of a tag. If the last instance was deleted, it will also delete the tag, unless it is standard. param: string $component component responsible for tagging. For BC it can be empty but in this case the param: string $itemtype the type of the record for which to remove the instance param: int $itemid the id of the record for which to remove the instance param: int $tiuserid tag instance user id, only needed for tag areas with user tagging (such as core/course) |
delete_instances_as_record(array $taginstances) X-Ref |
Bulk delete all tag instances. param: stdClass[] $taginstances A list of tag_instance records to delete. Each |
delete_instances_by_id(array $taginstanceids) X-Ref |
Bulk delete all tag instances by tag id. param: int[] $taginstanceids List of tag instance ids to be deleted. |
delete_instances($component, $itemtype = null, $contextid = null) X-Ref |
Bulk delete all tag instances for a component or tag area param: string $component param: string $itemtype (optional) param: int $contextid (optional) |
add_instance($component, $itemtype, $itemid, context $context, $ordering, $tiuserid = 0) X-Ref |
Adds a tag instance return: int id of tag_instance param: string $component param: string $itemtype param: string $itemid param: context $context param: int $ordering param: int $tiuserid tag instance user id, only needed for tag areas with user tagging (such as core/course) |
update_instance_ordering($instanceid, $ordering) X-Ref |
Updates the ordering on tag instance param: int $instanceid param: int $ordering |
get_items_tags($component, $itemtype, $itemids, $standardonly = self::BOTH_STANDARD_AND_NOT,$tiuserid = 0) X-Ref |
Get the array of core_tag_tag objects associated with a list of items. Use {@link core_tag_tag::get_item_tags_array()} if you wish to get the same data as simple array. return: core_tag_tag[][] first array key is itemid. For each itemid, param: string $component component responsible for tagging. For BC it can be empty but in this case the param: string $itemtype type of the tagged item param: int[] $itemids param: int $standardonly wether to return only standard tags or any param: int $tiuserid tag instance user id, only needed for tag areas with user tagging |
get_item_tags($component, $itemtype, $itemid, $standardonly = self::BOTH_STANDARD_AND_NOT,$tiuserid = 0) X-Ref |
Get the array of core_tag_tag objects associated with an item (instances). Use {@link core_tag_tag::get_item_tags_array()} if you wish to get the same data as simple array. return: core_tag_tag[] each object contains additional fields taginstanceid, taginstancecontextid and ordering param: string $component component responsible for tagging. For BC it can be empty but in this case the param: string $itemtype type of the tagged item param: int $itemid param: int $standardonly wether to return only standard tags or any param: int $tiuserid tag instance user id, only needed for tag areas with user tagging |
get_item_tags_array($component, $itemtype, $itemid, $standardonly = self::BOTH_STANDARD_AND_NOT,$tiuserid = 0, $ashtml = true) X-Ref |
Returns the list of display names of the tags that are associated with an item This method is usually used to prefill the form data for the 'tags' form element return: string[] array of tags display names param: string $component component responsible for tagging. For BC it can be empty but in this case the param: string $itemtype type of the tagged item param: int $itemid param: int $standardonly wether to return only standard tags or any param: int $tiuserid tag instance user id, only needed for tag areas with user tagging param: bool $ashtml (default true) if true will return htmlspecialchars encoded tag names |
set_item_tags($component, $itemtype, $itemid, context $context, $tagnames, $tiuserid = 0) X-Ref |
Sets the list of tag instances for one item (table record). Extra exsisting instances are removed, new ones are added. New tags are created if needed. This method can not be used for setting tags relations, please use set_related_tags() param: string $component component responsible for tagging param: string $itemtype type of the tagged item param: int $itemid param: context $context param: array $tagnames param: int $tiuserid tag instance user id, only needed for tag areas with user tagging (such as core/course) |
remove_all_item_tags($component, $itemtype, $itemid, $tiuserid = 0) X-Ref |
Removes all tags from an item. All tags will be removed even if tagging is disabled in this area. This is usually called when the item itself has been deleted. param: string $component component responsible for tagging param: string $itemtype type of the tagged item param: int $itemid param: int $tiuserid tag instance user id, only needed for tag areas with user tagging (such as core/course) |
add_item_tag($component, $itemtype, $itemid, context $context, $tagname, $tiuserid = 0) X-Ref |
Adds a tag to an item, without overwriting the current tags. If the tag has already been added to the record, no changes are made. return: int id of tag_instance that was either created or already existed or null if tagging is not enabled param: string $component the component that was tagged param: string $itemtype the type of record to tag ('post' for blogs, 'user' for users, etc.) param: int $itemid the id of the record to tag param: context $context the context of where this tag was assigned param: string $tagname the tag to add param: int $tiuserid tag instance user id, only needed for tag areas with user tagging (such as core/course) |
remove_item_tag($component, $itemtype, $itemid, $tagname, $tiuserid = 0) X-Ref |
Removes the tag from an item without changing the other tags param: string $component the component that was tagged param: string $itemtype the type of record to tag ('post' for blogs, 'user' for users, etc.) param: int $itemid the id of the record to tag param: string $tagname the tag to remove param: int $tiuserid tag instance user id, only needed for tag areas with user tagging (such as core/course) |
move_context($component, $itemtype, $oldcontext, $newcontext) X-Ref |
Allows to move all tag instances from one context to another param: string $component the component that was tagged param: string $itemtype the type of record to tag ('post' for blogs, 'user' for users, etc.) param: context $oldcontext param: context $newcontext |
change_items_context($component, $itemtype, $itemids, $newcontext) X-Ref |
Moves all tags of the specified items to the new context param: string $component the component that was tagged param: string $itemtype the type of record to tag ('post' for blogs, 'user' for users, etc.) param: array $itemids param: context|int $newcontext target context to move tags to |
change_instances_context(array $taginstanceids, context $newcontext) X-Ref |
Moves all of the specified tag instances into a new context. param: array $taginstanceids The list of tag instance ids that should be moved param: context $newcontext The context to move the tag instances into |
update($data) X-Ref |
Updates the information about the tag return: bool whether the tag was updated. False may be returned if: all new values match the existing, param: array|stdClass $data data to update, may contain: isstandard, description, descriptionformat, rawname |
flag() X-Ref |
Flag a tag as inappropriate |
reset_flag() X-Ref |
Remove the inappropriate flag on a tag. |
set_related_tags($tagnames) X-Ref |
Sets the list of tags related to this one. Tag relations are recorded by two instances linking two tags to each other. For tag relations ordering is not used and may be random. param: array $tagnames |
add_related_tags($tagnames) X-Ref |
Adds to the list of related tags without removing existing Tag relations are recorded by two instances linking two tags to each other. For tag relations ordering is not used and may be random. param: array $tagnames |
get_correlated_tags($keepduplicates = false) X-Ref |
Returns the correlated tags of a tag, retrieved from the tag_correlation table. Correlated tags are calculated in cron based on existing tag instances. return: core_tag_tag[] an array of tag objects param: bool $keepduplicates if true, will return one record for each existing |
get_manual_related_tags() X-Ref |
Returns tags that this tag was manually set as related to return: core_tag_tag[] |
get_related_tags() X-Ref |
Returns tags related to a tag Related tags of a tag come from two sources: - manually added related tags, which are tag_instance entries for that tag - correlated tags, which are calculated return: core_tag_tag[] an array of tag objects |
get_tagged_items($component, $itemtype, $limitfrom = '', $limitnum = '', $subquery = '', $params = array() X-Ref |
Find all items tagged with a tag of a given type ('post', 'user', etc.) return: array of matching objects, indexed by record id, from the table containing the type requested param: string $component component responsible for tagging. For BC it can be empty but in this case the param: string $itemtype type to restrict search to param: int $limitfrom (optional, required if $limitnum is set) return a subset of records, starting at this point. param: int $limitnum (optional, required if $limitfrom is set) return a subset comprising this many records. param: string $subquery additional query to be appended to WHERE clause, refer to the itemtable as 'it' param: array $params additional parameters for the DB query |
count_tagged_items($component, $itemtype, $subquery = '', $params = array() X-Ref |
Count how many items are tagged with a specific tag. return: int number of mathing tags. param: string $component component responsible for tagging. For BC it can be empty but in this case the param: string $itemtype type to restrict search to param: string $subquery additional query to be appended to WHERE clause, refer to the itemtable as 'it' param: array $params additional parameters for the DB query |
is_item_tagged_with($component, $itemtype, $itemid, $tagname) X-Ref |
Determine if an item is tagged with a specific tag Note that this is a static method and not a method of core_tag object because the tag might not exist yet, for example user searches for "php" and we offer him to add "php" to his interests. return: int 1 if it is tagged, 0 otherwise param: string $component component responsible for tagging. For BC it can be empty but in this case the param: string $itemtype the record type to look for param: int $itemid the record id to look for param: string $tagname a tag name |
is_enabled($component, $itemtype) X-Ref |
Returns whether the tag area is enabled return: bool|null param: string $component component responsible for tagging param: string $itemtype what is being tagged, for example, 'post', 'course', 'user', etc. |
get_tag_index($tagarea, $exclusivemode, $fromctx, $ctx, $rec, $page = 0) X-Ref |
Retrieves contents of tag area for the tag/index.php page return: \core_tag\output\tagindex param: stdClass $tagarea param: bool $exclusivemode if set to true it means that no other entities tagged with this tag param: int $fromctx context id where the link was displayed, may be used by callbacks param: int $ctx context id where to search for records param: bool $rec search in subcontexts as well param: int $page 0-based number of page being displayed |
get_formatted_description($options = array() X-Ref |
Returns formatted description of the tag return: string param: array $options |
get_links() X-Ref |
Returns the list of tag links available for the current user (edit, flag, etc.) return: array |
delete_tags($tagids) X-Ref |
Delete one or more tag, and all their instances if there are any left. return: bool true on success, false otherwise param: int|array $tagids one tagid (int), or one array of tagids to delete |
combine_correlated_tags($tags) X-Ref |
Combine together correlated tags of several tags This is a help method for method combine_tags() param: core_tag_tag[] $tags |
combine_tags($tags) X-Ref |
Combines several other tags into this one Combining rules: - current tag becomes the "main" one, all instances pointing to other tags are changed to point to it. - if any of the tags is standard, the "main" tag becomes standard too - all tags except for the current ("main") are deleted, even when they are standard param: core_tag_tag[] $tags tags to combine into this one |
get_tags_by_area_in_contexts($component, $itemtype, array $contexts) X-Ref |
Retrieve a list of tags that have been used to tag the given $component and $itemtype in the provided $contexts. return: core_tag_tag[] param: string $component The tag instance component param: string $itemtype The tag instance item type param: context[] $contexts The list of contexts to look for tag instances in |