public function render_pix_icon(pix_icon $icon)
 {
     if (self::replace_moodle_icon($icon->pix)) {
         if (!isset($icon->attributes['alt'])) {
             $icon->attributes['alt'] = '';
         }
         $newicon = self::replace_moodle_icon($icon->pix, $icon->attributes['alt']) . parent::render_pix_icon($icon) . "</i>";
         return $newicon;
     } else {
         return parent::render_pix_icon($icon);
     }
 }
 public function render_pix_icon(pix_icon $icon)
 {
     static $icons = array('add' => 'plus', 'book' => 'book', 'chapter' => 'file', 'docs' => 'question-circle', 'generate' => 'gift', 'i/marker' => 'lightbulb-o', 'i/delete' => 'times-circle', 'i/dragdrop' => 'arrows', 'i/loading' => 'refresh fa-spin fa-2x', 'i/loading_small' => 'refresh fa-spin', 'i/backup' => 'cloud-download', 'i/checkpermissions' => 'user', 'i/edit' => 'pencil', 'i/enrolusers' => 'user-plus', 'i/filter' => 'filter', 'i/grades' => 'table', 'i/group' => 'group', 'i/groupn' => 'user', 'i/groupv' => 'user-plus', 'i/groups' => 'user-secret', 'i/hide' => 'eye', 'i/import' => 'upload', 'i/move_2d' => 'arrows', 'i/navigationitem' => 'file', 'i/outcomes' => 'magic', 'i/preview' => 'search', 'i/publish' => 'globe', 'i/reload' => 'refresh', 'i/report' => 'list-alt', 'i/restore' => 'cloud-upload', 'i/return' => 'repeat', 'i/roles' => 'user', 'i/cohort' => 'users', 'i/scales' => 'signal', 'i/settings' => 'cogs', 'i/show' => 'eye-slash', 'i/switchrole' => 'random', 'i/user' => 'user', 'i/users' => 'user', 't/right' => 'arrow-right', 't/left' => 'arrow-left', 't/edit_menu' => 'cogs', 'i/withsubcat' => 'indent', 'i/permissions' => 'key', 'i/assignroles' => 'lock', 't/assignroles' => 'lock', 't/block_to_dock' => 'caret-square-o-left', 't/cohort' => 'users', 't/copy' => 'copy', 't/delete' => 'times-circle', 't/down' => 'arrow-down', 't/edit' => 'cog', 't/editstring' => 'pencil-square-o', 't/grades' => 'th-list', 't/hide' => 'eye', 't/preview' => 'search', 't/show' => 'eye-slash', 't/sort' => 'sort', 't/sort_asc' => 'sort-asc', 't/sort_desc' => 'sort-desc', 't/up' => 'arrow-up');
     if (array_key_exists($icon->pix, $icons)) {
         $pix = $icons[$icon->pix];
         /* Note: MUST have the 'i' tag instead of 'span' and the embedded icon even though it is not displayed otherwise
            the editing action menu will break! */
         if (empty($icon->attributes['alt'])) {
             return '<i class="fa fa-' . $pix . ' icon" aria-hidden="true">' . parent::render_pix_icon($icon) . '</i>';
         } else {
             $alt = $icon->attributes['alt'];
             return '<i class="fa fa-' . $pix . ' icon" title="' . $alt . '" aria-hidden="true">' . parent::render_pix_icon($icon) . '</i>';
         }
     } else {
         return parent::render_pix_icon($icon);
     }
 }