MDL-57455 mod_data: Import and export tags
[moodle.git] / mod / data / lib.php
index 54e247c..9875d39 100644 (file)
@@ -3103,10 +3103,11 @@ function data_export_ods($export, $dataname, $count) {
  * @param bool $userdetails whether to include the details of the record author
  * @param bool $time whether to include time created/modified
  * @param bool $approval whether to include approval status
+ * @param bool $tags whether to include tags
  * @return array
  */
 function data_get_exportdata($dataid, $fields, $selectedfields, $currentgroup=0, $context=null,
-                             $userdetails=false, $time=false, $approval=false) {
+                             $userdetails=false, $time=false, $approval=false, $tags = false) {
     global $DB;
 
     if (is_null($context)) {
@@ -3138,6 +3139,9 @@ function data_get_exportdata($dataid, $fields, $selectedfields, $currentgroup=0,
     if ($approval) {
         $exportdata[0][] = get_string('approved', 'data');
     }
+    if ($tags) {
+        $exportdata[0][] = get_string('tags', 'data');
+    }
 
     $datarecords = $DB->get_records('data_records', array('dataid'=>$dataid));
     ksort($datarecords);
@@ -3173,6 +3177,10 @@ function data_get_exportdata($dataid, $fields, $selectedfields, $currentgroup=0,
             if ($approval) { // Add approval status
                 $exportdata[$line][] = (int) $record->approved;
             }
+            if ($tags) {
+                $itemtags = \core_tag_tag::get_item_tags_array('mod_data', 'data_records', $record->id);
+                $exportdata[$line][] = implode(', ', $itemtags);
+            }
         }
         $line++;
     }