public static function getAllRibbons()
 {
     // todo: cache?
     $ribbons = array();
     $sql = "SELECT\tlanguage.languageItemValue AS ribbonName,\n\t\t\t\tlanguage.languageItem AS ribbonID\n\t\t\tFROM\twcf" . WCF_N . "_language_item language\n\t\t\tWHERE\tlanguage.languageItem LIKE 'wcf.cheatDatabase.entry.ribbon.%'";
     $result = WCF::getDB()->sendQuery($sql);
     while ($row = WCF::getDB()->fetchArray($result)) {
         if (preg_match('/\\d+$/', $row['ribbonID'], $matches)) {
             $row['ribbonID'] = intval($matches[0]);
             $row['entryID'] = 0;
             $ribbons[] = new EntryRibbon(null, null, $row);
         }
     }
     DatabaseObject::sort($ribbons, 'ribbonID');
     return $ribbons;
 }