public static function ThemeLayoutsMainAction($action) { switch ($action) { case 'delete': if (isset($_GET['id'])) { print "<div id=\"message\" class=\"updated\"><p><strong>"; GFontsDB::DeleteThemeLayout(intval($_GET['id'])); _e('Layout successfully deleted.', self::PLUGIN_SLUG); print "</strong></p></div>"; } if (isset($_GET['ids'])) { foreach ($_GET['ids'] as $id) { GFontsDB::DeleteThemeLayout(intval($id)); } print "<div id=\"message\" class=\"updated\"><p><strong>"; printf(_n('%d layout deleted.', '%d layouts deleted.', count($_GET['ids'])), count($_GET['ids'])); print "</strong></p></div>"; } return true; break; case 'export': return true; break; case 'savecurrent': if (isset($_POST['gf_layout_name'])) { GFontsDB::SaveCurrentLayoutSettings($_POST['gf_layout_name']); print "<div id=\"message\" class=\"updated\"><p><strong>" . GFontsLang::GetTranslation('Layout settings saved successfully.'); print "</strong></p></div>"; } return true; break; case 'resetcurrentlayout': $mods = get_theme_mods(); foreach ($mods as $mod => $value) { set_theme_mod($mod, null); } print "<div id=\"message\" class=\"updated\"><p><strong>" . GFontsLang::GetTranslation('Layout settings resetted successfully.'); print "</strong></p></div>"; return true; break; case 'activate': $v = GFontsDB::ActivateLayoutSettings($_GET['id'], $name); print "<div id=\"message\" class=\"updated\"><p><strong>"; if ($v) { print GFontsLang::GetTranslation('Layout activated successfully.'); } else { print sprintf(GFontsLang::GetTranslation('Layout settings could not be activated for theme %s. Please switch to theme %s and try again.'), wp_get_theme()->name, $name); } print "</strong></p></div>"; return true; break; case 'edit': return self::EditThemeLayout($_GET['id']); break; case 'editsave': GFontsDB::RenameThemeLayout($_POST['id'], $_POST['gf_layout_name']); return true; default: return true; break; } }