public static function InstallOrUninstallFont($install) { $count = GFontsDB::CountFonts(); if ($install && $count >= 10) { echo '<span style="color: red;">' . __('You can install maximum 10 fonts with Free Version. If you need more please purchase PRO. <a href="http://powerposts.net" target="_blank" >Click here for PRO</a>', self::PLUGIN_SLUG) . '</span>'; die; } $serializedItems = get_option(self::PLUGIN_OPTION_FONT_DATABASE); if (!$serializedItems) { echo '<span style="color: red;">' . __('Could not find font list. Consider updating database?', self::PLUGIN_SLUG) . '</span>'; die; } else { $fontname = isset($_POST['name']) ? $_POST['name'] : false; if ($fontname === false) { echo '<span style="color: red;">' . __('Font name is not set.', self::PLUGIN_SLUG) . '</span>'; die; } $items = unserialize($serializedItems); foreach ($items as $item) { if ($item['name'] == $fontname) { $variant = isset($_POST['variant']) ? $_POST['variant'] : false; if ($variant === false) { echo '<span style="color: red;">' . __('Font variant is not set.', self::PLUGIN_SLUG) . '</span>'; die; } else { if ($install) { $usedin = GFontsDB::InstallFont($fontname, $variant, implode(",", $item['subsets'])); } else { $usedin = GFontsDB::UninstallFont($fontname, $variant, implode(",", $item['subsets'])); } $usedtext = ""; if ($usedin > 0) { $usedtext = ' (' . sprintf(_n('used in %d post', 'used in %d posts', $usedin, self::PLUGIN_SLUG), $usedin) . ')'; } if ($install) { printf('<a href="#" onclick="return GfUninstallFont(\'%s\', \'%s\', this);">%s %s %s%s</a>', $fontname, $variant, __('Uninstall', self::PLUGIN_SLUG), $fontname, $variant, $usedtext); } else { printf('<a href="#" onclick="return GfInstallFont(\'%s\', \'%s\', this);">%s %s %s%s</a>', $fontname, $variant, __('Install', self::PLUGIN_SLUG), $fontname, $variant, $usedtext); } die; } } } echo '<span style="color: red;">' . __('Could not find specified font.', self::PLUGIN_SLUG) . '</span>'; die; } }