add Groupname as a element

add Groupname as a element

by Koen Moret -
Number of replies: 2

Hello all,

I want a extra element for the custom certficate.
It's the groupname of the student.

I need the correct query for this.

Can some one help me?

Kind regards,
Koen

/****************/

public function render($pdf, $preview, $user) {
        global $COURSE;
        global $USER;
        global $DB;
               
        $courseid = $COURSE -> id;
        $userid = $USER -> id;
       

        $groupname = $DB->get_record("XXXXXXXXXXXXXXXXXXX");
        
        \mod_customcert\element_helper::render_content($pdf, $this,$groupname);
  }

/****************/

Average of ratings: -
In reply to Koen Moret

Re: add Groupname as a element

by Koen Moret -
I've created the groupname element

public function render($pdf, $preview, $user) {
        global $COURSE, $DB;
               
        $userid = $user -> id;
         $courseid = $COURSE -> id;   
       
        $groups = array();
        $groupName;
       
        $sql = "SELECT id, name FROM {groups} WHERE courseid = ?";
        $sql2 = "SELECT id FROM {groups_members} WHERE groupid = ? AND userid = ?";
       
        $result = $DB->get_records_sql($sql, array($courseid));   
         
        foreach ($result as $item) {
          array_push($groups, ["id" => $item -> id, "name" => $item -> name] );         
        }         
               
        foreach ($groups as $item) {
           
            $groupId = $item["id"];
           
            $checkGroup = $DB->record_exists_sql($sql2, array($groupId,$userid));
           
            if($checkGroup){
                $groupName .= $item["name"]."<br />";
            }           
        }
               
        \mod_customcert\element_helper::render_content($pdf, $this,$groupName);   
    }
In reply to Koen Moret

Re: add Groupname as a element

by Koen Moret -
UPDATE:

public function render($pdf, $preview, $user) {
global $DB;

$courseid = \mod_customcert\element_helper::get_courseid($this->id);
$userid = $user -> id;
$groups = array();

$sql = "SELECT id, name FROM {groups} WHERE courseid = ?";

$result = $DB->get_records_sql($sql, array($courseid));

foreach ($result as $item) {
array_push($groups, ["id" => $item -> id, "name" => $item -> name] );
}

$sql2 = "SELECT id FROM {groups_members} WHERE groupid = ? AND userid = ?";

foreach ($groups as $item) {
$groupId = $item["id"];
$checkGroup = $DB->record_exists_sql($sql2, array($groupId,$userid));

if($checkGroup){
$groupName .= $item["name"]."
";
}
}

\mod_customcert\element_helper::render_content($pdf, $this, $groupName);
}