TeamSpeak3/Viewer/Html.php
protected function getSuffixIconClient()
    {
        $html = "";

        if ($this->currObj["client_is_priority_speaker"]) {
            $html .= $this->getImage("client_priority.png", "Priority Speaker");
        }

        if ($this->currObj["client_is_channel_commander"]) {
            $html .= $this->getImage("client_cc.png", "Channel Commander");
        }

        if ($this->currObj["client_is_talker"]) {
            $html .= $this->getImage("client_talker.png", "Talk Power granted");
        } elseif ($cntp = $this->currObj->getParent()->channelGetById(
            $this->currObj["cid"]
        )->channel_needed_talk_power
        ) {
            if ($cntp > $this->currObj["client_talk_power"]) {
                $html .= $this->getImage("client_mic_muted.png", "Insufficient Talk Power");
            }
        }

        foreach ($this->currObj->memberOf() as $group) {
            if (!$group["iconid"]) {
                continue;
            }

            $type = ($group instanceof Servergroup) ? "Server Group" : "Channel Group";

            if (!$group->iconIsLocal("iconid") && $this->ftclient) {
                if (!isset($this->cacheIcon[$group["iconid"]])) {
                    $download = $group->getParent()->transferInitDownload(
                        rand(0x0000, 0xFFFF),
                        0,
                        $group->iconGetName("iconid")
                    );

                    if ($this->ftclient == "data:image") {
                        $download = TeamSpeak3::factory(
                            "filetransfer://" . $download["host"] . ":" . $download["port"]
                        )->download($download["ftkey"], $download["size"]);
                    }

                    $this->cacheIcon[$group["iconid"]] = $download;
                } else {
                    $download = $this->cacheIcon[$group["iconid"]];
                }

                if ($this->ftclient == "data:image") {
                    $html .= $this->getImage(
                        "data:" . Convert::imageMimeType($download) . ";base64," . base64_encode(
                            $download
                        ),
                        $group . " [" . $type . "]",
                        null,
                        false
                    );
                } else {
                    $html .= $this->getImage(
                        $this->ftclient . "?ftdata=" . base64_encode(serialize($download)),
                        $group . " [" . $type . "]",
                        null,
                        false
                    );
                }
            } elseif (in_array($group["iconid"], $this->cachedIcons)) {
                $html .= $this->getImage("group_icon_" . $group["iconid"] . ".png", $group . " [" . $type . "]");
            }
        }

        if ($this->currObj["client_icon_id"]) {
            if (!$this->currObj->iconIsLocal("client_icon_id") && $this->ftclient) {
                if (!isset($this->cacheIcon[$this->currObj["client_icon_id"]])) {
                    $download = $this->currObj->getParent()->transferInitDownload(
                        rand(0x0000, 0xFFFF),
                        0,
                        $this->currObj->iconGetName("client_icon_id")
                    );

                    if ($this->ftclient == "data:image") {
                        $download = TeamSpeak3::factory(
                            "filetransfer://" . $download["host"] . ":" . $download["port"]
                        )->download($download["ftkey"], $download["size"]);
                    }

                    $this->cacheIcon[$this->currObj["client_icon_id"]] = $download;
                } else {
                    $download = $this->cacheIcon[$this->currObj["client_icon_id"]];
                }

                if ($this->ftclient == "data:image") {
                    $html .= $this->getImage(
                        "data:" . Convert::imageMimeType($download) . ";base64," . base64_encode(
                            $download
                        ),
                        "Client Icon",
                        null,
                        false
                    );
                } else {
                    $html .= $this->getImage(
                        $this->ftclient . "?ftdata=" . base64_encode(serialize($download)),
                        "Client Icon",
                        null,
                        false
                    );
                }
            } elseif (in_array($this->currObj["client_icon_id"], $this->cachedIcons)) {
                $html .= $this->getImage("group_icon_" . $this->currObj["client_icon_id"] . ".png", "Client Icon");
            }
        }

        return $html;
    }
protected function getSuffixIconClient()
    {
        $html = "";

        if ($this->currObj["client_is_priority_speaker"]) {
            $html .= $this->getImage("client_priority.png", "Priority Speaker");
        }

        if ($this->currObj["client_is_channel_commander"]) {
            $html .= $this->getImage("client_cc.png", "Channel Commander");
        }

        if ($this->currObj["client_is_talker"]) {
            $html .= $this->getImage("client_talker.png", "Talk Power granted");
        } elseif ($cntp = $this->currObj->getParent()->channelGetById(
            $this->currObj["cid"]
        )->channel_needed_talk_power
        ) {
            if ($cntp > $this->currObj["client_talk_power"]) {
                $html .= $this->getImage("client_mic_muted.png", "Insufficient Talk Power");
            }
        }

        foreach ($this->currObj->memberOf() as $group) {
            if (!$group["iconid"]) {
                continue;
            }

            $type = ($group instanceof Servergroup) ? "Server Group" : "Channel Group";

            if (!$group->iconIsLocal("iconid") && $this->ftclient) {
                if (!isset($this->cacheIcon[$group["iconid"]])) {
                    $download = $group->getParent()->transferInitDownload(
                        rand(0x0000, 0xFFFF),
                        0,
                        $group->iconGetName("iconid")
                    );

                    if ($this->ftclient == "data:image") {
                        $download = TeamSpeak3::factory(
                            "filetransfer://" . $download["host"] . ":" . $download["port"]
                        )->download($download["ftkey"], $download["size"]);
                    }

                    $this->cacheIcon[$group["iconid"]] = $download;
                } else {
                    $download = $this->cacheIcon[$group["iconid"]];
                }

                if ($this->ftclient == "data:image") {
                    $html .= $this->getImage(
                        "data:" . Convert::imageMimeType($download) . ";base64," . base64_encode(
                            $download
                        ),
                        $group . " [" . $type . "]",
                        null,
                        false
                    );
                } else {
                    $html .= $this->getImage(
                        $this->ftclient . "?ftdata=" . base64_encode(serialize($download)),
                        $group . " [" . $type . "]",
                        null,
                        false
                    );
                }
            } elseif (in_array($group["iconid"], $this->cachedIcons)) {
                $html .= $this->getImage("group_icon_" . $group["iconid"] . ".png", $group . " [" . $type . "]");
            }
        }

        if ($this->currObj["client_icon_id"]) {
            if (!$this->currObj->iconIsLocal("client_icon_id") && $this->ftclient) {
                if (!isset($this->cacheIcon[$this->currObj["client_icon_id"]])) {
                    $download = $this->currObj->getParent()->transferInitDownload(
                        rand(0x0000, 0xFFFF),
                        0,
                        $this->currObj->iconGetName("client_icon_id")
                    );

                    if ($this->ftclient == "data:image") {
                        $download = TeamSpeak3::factory(
                            "filetransfer://" . $download["host"] . ":" . $download["port"]
                        )->download($download["ftkey"], $download["size"]);
                    }

                    $this->cacheIcon[$this->currObj["client_icon_id"]] = $download;
                } else {
                    $download = $this->cacheIcon[$this->currObj["client_icon_id"]];
                }

                if ($this->ftclient == "data:image") {
                    $html .= $this->getImage(
                        "data:" . Convert::imageMimeType($download) . ";base64," . base64_encode(
                            $download
                        ),
                        "Client Icon",
                        null,
                        false
                    );
                } else {
                    $html .= $this->getImage(
                        $this->ftclient . "?ftdata=" . base64_encode(serialize($download)),
                        "Client Icon",
                        null,
                        false
                    );
                }
            } elseif (in_array($this->currObj["client_icon_id"], $this->cachedIcons)) {
                $html .= $this->getImage("group_icon_" . $this->currObj["client_icon_id"] . ".png", "Client Icon");
            }
        }

        return $html;
    }
Returns the HTML img tags which can be used to display the various icons for a
TeamSpeak_Node_Client object.

@return string