/**
  * function to get artifacts in specified preference order
  *
  * 	@return null
  *
  */
 function getArtifactsInOrder()
 {
     $ar = new ArtifactReport($this->report_id, $this->atid);
     $ar->getResultQueryElements($this->prefs, $this->morder, $this->advsrch, $aids = false, &$select, &$from, &$where, &$order_by);
     //artifact permissions
     $sql_group_id = "SELECT group_id FROM artifact_group_list WHERE group_artifact_id=" . db_ei($this->atid);
     $result_group_id = db_query($sql_group_id);
     if (db_numrows($result_group_id) > 0) {
         $row = db_fetch_array($result_group_id);
         $group_id = $row['group_id'];
     }
     $user = UserManager::instance()->getCurrentUser();
     $ugroups = $user->getUgroups($group_id, array('artifact_type' => $this->atid));
     $from .= " LEFT JOIN permissions \n                         ON (permissions.object_id = CONVERT(a.artifact_id USING utf8)\n                             AND \n                             permissions.permission_type = 'TRACKER_ARTIFACT_ACCESS') ";
     $where .= " AND (a.use_artifact_permissions = 0\n                         OR \n                         (\n                             permissions.ugroup_id IN (" . implode(',', $ugroups) . ")\n                         )\n                   ) ";
     if ($order_by == "") {
         $sql = "SELECT DISTINCT art.artifact_id FROM (SELECT STRAIGHT_JOIN a.artifact_id {$from} {$where} {$order_by}) AS art";
     } else {
         $sql = "SELECT DISTINCT art.artifact_id FROM (SELECT STRAIGHT_JOIN a.artifact_id {$from} {$where} {$order_by},a.artifact_id ASC) AS art";
     }
     return $ar->_ExecuteQueryForSelectReportItems($sql);
 }