Current Path : /storage/v11800/affypharma/public_html/wp-content/plugins/wp-tag-groups/include/admin/

Linux v11800 5.3.0-1023-aws #25~18.04.1-Ubuntu SMP Fri Jun 5 15:19:18 UTC 2020 aarch64

Upload File :
Current File : /storage/v11800/affypharma/public_html/wp-content/plugins/wp-tag-groups/include/admin/class.settings.php
<?php
/**
* @package     Tag Groups
* @author      Christoph Amthor
* @copyright   2018 Christoph Amthor (@ Chatty Mango, chattymango.com)
* @license     GPL-3.0+
*/

if ( ! class_exists('TagGroups_Settings') ) {

  /**
  *
  */
  class TagGroups_Settings {


    function __construct() {

    }

    /**
    * renders the top of all setting pages
    *
    * @param void
    * @return void
    */
    public static function add_header()
    {

      $view = new TagGroups_View( 'admin/settings_header' );

      $view->set( 'admin_page_title', get_admin_page_title() );

      $view->render();

    }


    /**
    * renders the bottom of all settings pages
    *
    * @param void
    * @return void
    */
    public static function add_footer()
    {

      $view = new TagGroups_View( 'admin/settings_footer' );

      $view->render();

    }


    /**
    * gets the slug of the currently selected tab
    *
    * @param string $default
    * @return string
    */
    public static function get_active_tab( $tabs )
    {

      if ( isset( $_GET['active-tab'] ) ) {

        return sanitize_title( $_GET['active-tab'] );

      } else {

        $keys = array_keys( $tabs );

        return reset( $keys );

      }

    }


    /**
    * gets the HTML of the header of tabbed view
    *
    * @param string $default
    * @return string
    */
    public static function add_tabs( $page, $tabs, $active_tab )
    {

      if ( count( $tabs ) < 2 ) {

        return empty( $label ) ? '' : '<h2>' . $label . '</h2>';

      }

      $view = new TagGroups_View( 'admin/settings_tabs' );

      $view->set( array(
        'tabs'        => $tabs,
        'page'        => $page,
        'active_tab'  => $active_tab
      ) );

      $view->render();

    }


    /**
    * renders a settings page: home
    *
    * @param void
    * @return void
    */
    public static function settings_page_home()
    {

      global $tag_group_groups;

      // Make very sure that only administrators can access this page
      if ( ! current_user_can( 'manage_options' ) ) {

        die( "Capability check failed" );

      }

      $enabled_taxonomies = TagGroups_Taxonomy::get_enabled_taxonomies();

      self::add_header();

      $html = '';

      $tg_group = new TagGroups_Group;

      $group_count = $tag_group_groups->get_number_of_term_groups();

      $tag_group_base_first_activation_time = get_option( 'tag_group_base_first_activation_time', 0 );

      $tag_group_premium_first_activation_time = get_option( 'tag_group_base_first_activation_time', 0 );

      $absolute_first_activation_time = ( $tag_group_base_first_activation_time < $tag_group_premium_first_activation_time ) ? $tag_group_base_first_activation_time : $tag_group_premium_first_activation_time;

      self::add_settings_help();

      $alerts = array();

      if ( defined( 'ICL_LANGUAGE_CODE' ) && ICL_LANGUAGE_CODE == 'all' ) {

        $view = new TagGroups_View( 'partials/language_notice' );

        $view->render();

      }

      if ( time() - $absolute_first_activation_time < 60*60*24*7 || $group_count < 2 ) {

        $alerts[] = sprintf( __( 'See the <a %s>First Steps</a> for some basic instructions on how to get started.', 'tag-groups' ), 'href="' . menu_page_url( 'tag-groups-settings-first-steps', false ) . '"' );

      }

      if ( function_exists( 'pll_get_post_language' ) ) {

        $alerts[] = __( 'We detected Polylang. Your tag group names are translatable.', 'tag-groups' );

      } elseif ( defined( 'ICL_LANGUAGE_CODE' ) ) {

        $alerts[] = __( 'We detected WPML. Your tag group names are translatable.', 'tag-groups' );

      }

      $alerts = apply_filters( 'tag_groups_settings_alerts', $alerts );

      if ( ! empty( $alerts ) ) {

        $view = new TagGroups_View( 'admin/settings_alerts' );

        $view->set( 'alerts', $alerts );

        $view->render();

      }

      $taxonomy_infos = array();

      foreach ( $enabled_taxonomies as $taxonomy ) {

        /**
        * We try to avoid excessive loading times on this page
        */
        $term_count = get_terms( array(
          'hide_empty'  => false,
          'taxonomy'  => $taxonomy,
          'fields' => 'count'
        ) );

        if ( is_object( $term_count ) ) {

          continue;

        }

        $taxonomy_infos[] = array(
          'slug'              => $taxonomy,
          'tag_group_admin'   => TagGroups_Taxonomy::get_tag_group_admin_url( $taxonomy ),
          'name'              => TagGroups_Taxonomy::get_name_from_slug( $taxonomy ),
          'info_html'         => TagGroups_Shortcode_Info::tag_groups_info( array( 'taxonomy' => $taxonomy, 'group_id' => 'all', 'html_class' => 'widefat fixed striped' ) ),
          'term_count'        => $term_count
        );

      }

      $view = new TagGroups_View( 'admin/settings_home' );

      $view->set( array(
        'group_count'   => $group_count,
        'taxonomy_infos' => $taxonomy_infos
      ) );

      $view->render();

      self::add_footer();

    }


    /**
    * renders a settings page: taxonomies
    *
    * @param void
    * @return void
    */
    public static function settings_page_taxonomies()
    {

      // Make very sure that only administrators can access this page
      if ( ! current_user_can( 'manage_options' ) ) {

        die( "Capability check failed" );

      }

      $enabled_taxonomies = TagGroups_Taxonomy::get_enabled_taxonomies();

      $public_taxonomies = TagGroups_Taxonomy::get_public_taxonomies();

      self::add_header();

      $html = '';

      self::add_settings_help();

      $tabs = array();

      $tabs['taxonomies'] = '';

      $tabs = apply_filters( 'tag_groups_settings_taxonomies_tabs', $tabs );

      $active_tab = self::get_active_tab( $tabs );

      self::add_tabs( 'tag-groups-settings-taxonomies', $tabs, $active_tab );

      switch ( $active_tab ) {

        case 'taxonomies':

        $view = new TagGroups_View( 'admin/settings_taxonomies' );

        $view->set( array(
          'public_taxonomies'   => $public_taxonomies,
          'enabled_taxonomies'  => $enabled_taxonomies,
        ) );

        $view->render();

        break;

        default:

        if ( class_exists( 'TagGroups_Premium_Settings' ) ) {

          TagGroups_Premium_Settings::get_content( $active_tab );

        }

        break;

      }

      self::add_footer();

    }


    /**
    * renders a settings page: back end
    *
    * @param void
    * @return void
    */
    public static function settings_page_back_end()
    {

      // Make very sure that only administrators can access this page
      if ( ! current_user_can( 'manage_options' ) ) {

        die( "Capability check failed" );

      }

      $show_filter_posts = get_option( 'tag_group_show_filter', 1 );

      $show_filter_tags = get_option( 'tag_group_show_filter_tags', 1 );


      self::add_header();

      self::add_settings_help();

      $tabs = array();

      $tabs['filters'] = __( 'Filters', 'tag-groups' );

      $tabs = apply_filters( 'tag_groups_settings_back_end_tabs', $tabs );

      $active_tab = self::get_active_tab( $tabs );

      self::add_tabs( 'tag-groups-settings-back-end', $tabs, $active_tab );


      switch ( $active_tab ) {

        case 'filters':

        $view = new TagGroups_View( 'admin/settings_back_end_filters' );

        $view->set( array(
          'show_filter_posts' => $show_filter_posts,
          'show_filter_tags'  => $show_filter_tags
        ) );

        $view->render();

        break; // filters

        default:

        if ( class_exists( 'TagGroups_Premium_Settings' ) ) {

          TagGroups_Premium_Settings::get_content( $active_tab );

        }

        break;

      }


      self::add_footer();

    }


    /**
    * renders a settings page: front end
    *
    * @param void
    * @return void
    */
    public static function settings_page_front_end()
    {

      // Make very sure that only administrators can access this page
      if ( ! current_user_can( 'manage_options' ) ) {

        die( "Capability check failed" );

      }

      $default_themes = explode( ',', TAG_GROUPS_BUILT_IN_THEMES );

      $tag_group_theme = get_option( 'tag_group_theme', TAG_GROUPS_STANDARD_THEME );

      $tag_group_mouseover = get_option( 'tag_group_mouseover', '' );

      $tag_group_collapsible = get_option( 'tag_group_collapsible', '' );

      $tag_group_enqueue_jquery = get_option( 'tag_group_enqueue_jquery', 1 );

      $tag_group_html_description = get_option( 'tag_group_html_description', 0 );

      $tag_group_shortcode_widget = get_option( 'tag_group_shortcode_widget' );

      $tag_group_shortcode_enqueue_always = get_option( 'tag_group_shortcode_enqueue_always', 1 );

      self::add_header();

      self::add_settings_help();

      $tabs = array();

      $tabs['shortcodes'] = __( 'Shortcodes', 'tag-groups' );

      $tabs['themes'] = __( 'Themes and Appearance', 'tag-groups' );

      $tabs = apply_filters( 'tag_groups_settings_front_end_tabs', $tabs );

      $active_tab = self::get_active_tab( $tabs );

      self::add_tabs( 'tag-groups-settings-front-end', $tabs, $active_tab );

      switch ( $active_tab ) {

        case 'shortcodes':

        /**
        * Let the premium plugin add own shortcode information.
        */
        $premium_shortcode_info = apply_filters( 'tag_groups_hook_shortcodes', '' );

        $view = new TagGroups_View( 'admin/settings_front_end_shortcodes' );

        $view->set( array(
          'premium_shortcode_info'              => $premium_shortcode_info,
          'tag_group_shortcode_enqueue_always'  => $tag_group_shortcode_enqueue_always,
          'tag_group_shortcode_widget'          => $tag_group_shortcode_widget,
        ) );

        $view->render();

        break;

        case 'themes':

        $view = new TagGroups_View( 'admin/settings_front_end_themes' );

        $view->set( array(
          'default_themes'              => $default_themes,
          'tag_group_theme'             => $tag_group_theme,
          'tag_group_enqueue_jquery'    => $tag_group_enqueue_jquery,
          'tag_group_mouseover'         => $tag_group_mouseover,
          'tag_group_collapsible'       => $tag_group_collapsible,
          'tag_group_html_description'  => $tag_group_html_description,
        ) );

        $view->render();

        break;

        default:

        if ( class_exists( 'TagGroups_Premium_Settings' ) ) {

          TagGroups_Premium_Settings::get_content( $active_tab );

        }

        break;

      }

      self::add_footer();

    }


    /**
    * renders a settings page: tools
    *
    * @param void
    * @return void
    */
    public static function settings_page_tools()
    {

      // Make very sure that only administrators can access this page
      if ( ! current_user_can( 'manage_options' ) ) {

        die( "Capability check failed" );

      }

      $tag_group_reset_when_uninstall = get_option( 'tag_group_reset_when_uninstall', 0 );

      self::add_header();

      self::add_settings_help();

      $tabs = array();

      $tabs['export_import'] = __( 'Export/Import', 'tag-groups' );

      $tabs['reset'] = __( 'Reset', 'tag-groups' );

      $tabs = apply_filters( 'tag_groups_settings_tools_tabs', $tabs );

      $active_tab = self::get_active_tab( $tabs );

      self::add_tabs( 'tag-groups-settings-tools', $tabs, $active_tab );


      switch ( $active_tab ) {

        case 'export_import':

        $view = new TagGroups_View( 'admin/settings_tools_export_import' );

        $view->render();

        break;

        case 'reset':

        $view = new TagGroups_View( 'admin/settings_tools_reset' );

        $view->set( 'tag_group_reset_when_uninstall', $tag_group_reset_when_uninstall );

        $view->render();

        break;

        default:

        if ( class_exists( 'TagGroups_Premium_Settings' ) ) {

          TagGroups_Premium_Settings::get_content( $active_tab );

        }

        break;

      }

      self::add_footer();

    }


    /**
    * renders a settings page: troubleshooting
    *
    * @param void
    * @return void
    */
    public static function settings_page_troubleshooting()
    {

      // Make very sure that only administrators can access this page
      if ( ! current_user_can( 'manage_options' ) ) {

        die( "Capability check failed" );

      }

      self::add_header();

      self::add_settings_help();

      $tabs = array();

      $tabs['faq'] = __( 'FAQ and Common Issues', 'tag-groups' );

      $tabs['documentation'] = __( 'Documentation', 'tag-groups' );

      $tabs['support'] = __( 'Get Support', 'tag-groups' );

      $tabs['system'] = __( 'System Information', 'tag-groups' );

      $tabs = apply_filters( 'tag_groups_settings_troubleshooting_tabs', $tabs );

      $active_tab = self::get_active_tab( $tabs );

      self::add_tabs( 'tag-groups-settings-troubleshooting', $tabs, $active_tab );

      switch ( $active_tab ) {

        case 'faq':

        $view = new TagGroups_View( 'admin/settings_troubleshooting_faq' );

        $view->render();

        break;


        case 'documentation':

        $view = new TagGroups_View( 'admin/settings_troubleshooting_documentation' );

        $view->render();

        break;


        case 'support':

        $view = new TagGroups_View( 'admin/settings_troubleshooting_support' );

        $view->render();

        break;


        case 'system':

        $phpversion = phpversion();

        if ( version_compare( $phpversion, '7.0.0', '<' ) ) {

          $php_upgrade_recommendation = true;

        } else {

          $php_upgrade_recommendation = false;

        }

        $active_theme = wp_get_theme();

        $protocol = isset( $_SERVER['HTTPS'] ) ? 'https://' : 'http://';

        $ajax_test_url = admin_url( 'admin-ajax.php', $protocol );


        /* constants */
        $wp_constants = array(
          'WP_DEBUG',
          'WP_DEBUG_DISPLAY',
          'WP_DEBUG_LOG',
          'ABSPATH',
          // 'WP_HOME',
          'MULTISITE',
          'WP_CACHE',
          'COMPRESS_SCRIPTS',
          // 'FS_CHMOD_DIR',
          // 'FS_CHMOD_FILE',
          'FORCE_SSL_ADMIN',
          'CM_UPDATE_CHECK',
          'WP_MEMORY_LIMIT',
          'WP_MAX_MEMORY_LIMIT'
        );

        sort( $wp_constants );


        $constants = get_defined_constants();

        foreach ( $constants as &$constant ) {

          if ( isset( $constant ) ) {

            $constant = self::echo_var( $constant );

          }

        }

        ksort( $constants );


        $view = new TagGroups_View( 'admin/settings_troubleshooting_system' );

        $view->set( array(
          'phpversion'                  => $phpversion,
          'php_upgrade_recommendation'  => $php_upgrade_recommendation,
          'wp_constants'                => $wp_constants,
          'constants'                   => $constants,
          'ajax_test_url'               => $ajax_test_url,
          'active_theme'                => $active_theme
        ) );

        $view->render();

        break;


        default:

        if ( class_exists( 'TagGroups_Premium_Settings' ) ) {

          TagGroups_Premium_Settings::get_content( $active_tab );

        }

        break;

      }

      self::add_footer();

    }


    /**
    * renders a settings page: premium
    *
    * @param void
    * @return void
    */
    public static function settings_page_premium()
    {

      global $tag_groups_premium_fs_sdk;

      // Make very sure that only administrators can access this page
      if ( ! current_user_can( 'manage_options' ) ) {

        die( "Capability check failed" );

      }

      self::add_header();

      $view = new TagGroups_View( 'admin/settings_premium' );

      $view->set( 'tag_groups_premium_fs_sdk', $tag_groups_premium_fs_sdk );

      $view->render();

      self::add_footer();

    }


    /**
    * renders a settings page: about
    *
    * @param void
    * @return void
    */
    public static function settings_page_about()
    {

      // Make very sure that only administrators can access this page
      if ( ! current_user_can( 'manage_options' ) ) {

        die( "Capability check failed" );

      }

      self::add_header();

      self::add_settings_help();

      $tabs = array();

      $tabs['info'] = __( 'Info', 'tag-groups' );

      $tabs['licenses'] = __( 'Licenses', 'tag-groups' );

      $tabs['news'] = __( 'Development News', 'tag-groups' );

      $tabs = apply_filters( 'tag_groups_settings_about_tabs', $tabs );

      $active_tab = self::get_active_tab( $tabs );

      self::add_tabs( 'tag-groups-settings-about', $tabs, $active_tab );


      switch ( $active_tab ) {

        case 'info':

        $view = new TagGroups_View( 'admin/settings_about_info' );

        $view->render();

        break;

        case 'licenses':

        $view = new TagGroups_View( 'admin/settings_about_licenses' );

        $view->render();

        break;

        case 'news':

        $protocol = isset( $_SERVER['HTTPS'] ) ? 'https://' : 'http://';

        $admin_url = admin_url( 'admin-ajax.php', $protocol );

        $view = new TagGroups_View( 'admin/settings_about_news' );

        $view->set( 'admin_url', $admin_url );

        $view->render();

        break;

        default:

        if ( class_exists( 'TagGroups_Premium_Settings' ) ) {

          TagGroups_Premium_Settings::get_content( $active_tab );

        }

        break;

      }


      self::add_footer();

    }


    /**
    * renders a menu-less settings page: onboarding
    *
    * @param void
    * @return void
    */
    public static function settings_page_onboarding()
    {

      // Make very sure that only administrators can access this page
      if ( ! current_user_can( 'manage_options' ) ) {

        return;

      }

      global $tag_groups_premium_fs_sdk;

      self::add_header();


      $settings_taxonomy_link = admin_url( 'admin.php?page=tag-groups-settings-taxonomies' );

      $settings_home_link = admin_url( 'admin.php?page=tag-groups-settings' );

      $settings_premium_link = admin_url( 'admin.php?page=tag-groups-settings-premium' );

      $settings_setup_wizard_link = admin_url( 'admin.php?page=tag-groups-settings-setup-wizard' );

      if ( defined('TAG_GROUPS_PLUGIN_IS_FREE') && TAG_GROUPS_PLUGIN_IS_FREE ) {

        $title = 'Tag Groups';

        $documentation_link = 'https://documentation.chattymango.com/documentation/tag-groups/';

        $logo = '<img src="' . TAG_GROUPS_PLUGIN_URL . '/assets/images/cm-tg-icon-64x64.png" alt="Tag Groups logo" class="tg_onboarding_logo"/>';

      } else {

        $title = 'Tag Groups Premium';

        $documentation_link = 'https://documentation.chattymango.com/documentation/tag-groups-premium/';

        $logo = '<img src="' . TAG_GROUPS_PLUGIN_URL . '/assets/images/cm-tgp-icon-64x64.png" alt="Tag Groups Premium logo" class="tg_onboarding_logo"/>';

      }

      $view = new TagGroups_View( 'admin/onboarding' );

      $view->set( array(
        'logo'                          => $logo,
        'title'                         => $title,
        'settings_taxonomy_link'        => $settings_taxonomy_link,
        'settings_home_link'            => $settings_home_link,
        'documentation_link'            => $documentation_link,
        'settings_premium_link'         => $settings_premium_link,
        'settings_setup_wizard_link'    => $settings_setup_wizard_link
      ) );

      $view->render();

      self::add_footer();

    }


    /**
    * renders a menu-less settings page: onboarding
    *
    * @param void
    * @return void
    */
    public static function settings_page_setup_wizard()
    {

      // Make very sure that only administrators can access this page
      if ( ! current_user_can( 'manage_options' ) ) {

        return;

      }

      global $tag_groups_premium_fs_sdk, $tag_group_groups;

      self::add_header();

      $step = isset( $_GET[ 'step' ] ) && $_GET[ 'step' ] > 0 ? (int) $_GET[ 'step' ] : 1;


      $setup_wizard_next_link = add_query_arg( 'step', $step + 1, admin_url( 'admin.php?page=tag-groups-settings-setup-wizard' ) );

      if ( defined('TAG_GROUPS_PLUGIN_IS_FREE') && TAG_GROUPS_PLUGIN_IS_FREE ) {

        $title = 'Tag Groups';

        $is_premium = false;

        $documentation_link = 'https://documentation.chattymango.com/documentation/tag-groups/';

      } else {

        $title = 'Tag Groups Premium';

        $is_premium = true;

        $documentation_link = 'https://documentation.chattymango.com/documentation/tag-groups-premium/';

      }


      if ( $is_premium && $tag_groups_premium_fs_sdk->is_plan_or_trial('premium') ) {

        $steps = array(
          1 => array(
            'id'    => 'start',
            'title' => 'Start'
          ),
          2 => array(
            'id'    => 'taxonomies',
            'title' => 'Taxonomies'
          ),
          3 => array(
            'id'    => 'meta_box',
            'title' => 'Meta Box'
          ),
          4 => array(
            'id'    => 'post_tags',
            'title' => 'Post Tags'
          ),
          5 => array(
            'id'    => 'sample_content',
            'title' => 'Sample Content'
          ),
          6 => array(
            'id'    => 'finished',
            'title' => null
          ),
        );

      } else {

        $steps = array(
          1 => array(
            'id'    => 'start',
            'title' => 'Start'
          ),
          2 => array(
            'id'    => 'taxonomies',
            'title' => 'Taxonomies'
          ),
          3 => array(
            'id'    => 'sample_content',
            'title' => 'Sample Content'
          ),
          4 => array(
            'id'    => 'finished',
            'title' => null
          ),
        );

      }



      $view = new TagGroups_View( 'admin/setup_wizard_header' );

      $view->set( array(
        'title'   => $title,
        'step'    => $step,
        'steps'   => $steps,
      ) );

      $view->render();



      switch ( $steps[ $step ]['id'] ) {

        case 'sample_content':

        $view = new TagGroups_View( 'admin/setup_wizard_sample_content' );

        $group_names = array(
          'Sample Group A',
          'Sample Group B',
          'Sample Group C'
        );

        /**
        * Make sure they don't yet exist
        */
        $group_names = array_map( function( $original_name ) {

          $tg_group = new TagGroups_Group();

          $name = $original_name;

          $i = 0;

          while ( $tg_group->find_by_label( $name ) !== false ) {

            $i++;

            $name = $original_name . ' - ' . $i;

          }

          return $name;

        }, $group_names );

        $tag_names = array(
          'First Sample Tag',
          'Second Sample Tag',
          'Third Sample Tag'
        );

        $enabled_taxonomies = TagGroups_Taxonomy::get_enabled_taxonomies();

        $taxonomy = array_shift( $enabled_taxonomies );

        /**
        * Make sure they don't yet exist
        */
        $tag_names = array_map( function( $original_name ) use ( $taxonomy ) {

          $name = $original_name;

          $i = 0;

          while ( get_term_by( 'name', $name, $taxonomy ) !== false ) {

            $i++;

            $name = $original_name . ' - ' . $i;

          }

          return $name;

        }, $tag_names );


        $view->set( array(
          'title'                   => $title,
          'group_names'             => $group_names,
          'tag_names'               => $tag_names,
          'setup_wizard_next_link'  => $setup_wizard_next_link
        ) );

        break;


        case 'post_tags':

        // $groups = $tag_group_groups->get_all_with_position_as_key();

        $tag_group_display_groups_under_posts = get_option( 'tag_group_display_groups_under_posts', $tag_group_groups->get_group_ids() );

        $tag_group_display_groups_under_posts_title = get_option( 'tag_group_display_groups_under_posts_title', __( 'Tags', 'tag-groups' ) );

        $tag_group_display_groups_under_posts_separator = get_option( 'tag_group_display_groups_under_posts_separator', '&nbsp;|&nbsp;' );

        $tag_group_display_groups_under_posts_single = get_option( 'tag_group_display_groups_under_posts_single', false );

        $tag_group_display_groups_under_posts_home = get_option( 'tag_group_display_groups_under_posts_home', false );

        $tag_group_display_groups_under_posts_archive = get_option( 'tag_group_display_groups_under_posts_archive', false );

        $tag_group_display_groups_under_posts_feed = get_option( 'tag_group_display_groups_under_posts_feed', false );

        $tag_group_display_groups_under_posts_priority = get_option( 'tag_group_display_groups_under_posts_priority', 10 );

        $tag_group_remove_the_post_terms = get_option( 'tag_group_remove_the_post_terms', false );


        $view = new TagGroups_Premium_View( 'admin/setup_wizard_post_tags' );


        $view->set( array(
          'title'                   => $title,
          // 'groups'                                            => $groups,
          'tag_group_display_groups_under_posts'              => $tag_group_display_groups_under_posts,
          'tag_group_display_groups_under_posts_title'        => $tag_group_display_groups_under_posts_title,
          'tag_group_display_groups_under_posts_separator'    => $tag_group_display_groups_under_posts_separator,
          'tag_group_display_groups_under_posts_single'       => $tag_group_display_groups_under_posts_single,
          'tag_group_display_groups_under_posts_home'         => $tag_group_display_groups_under_posts_home,
          'tag_group_display_groups_under_posts_archive'      => $tag_group_display_groups_under_posts_archive,
          'tag_group_display_groups_under_posts_feed'         => $tag_group_display_groups_under_posts_feed,
          'tag_group_display_groups_under_posts_priority'     => $tag_group_display_groups_under_posts_priority,
          'tag_group_remove_the_post_terms'                   => $tag_group_remove_the_post_terms,
          'setup_wizard_next_link'  => $setup_wizard_next_link
        ) );

        break;


        case 'meta_box':

        $tag_group_meta_box_change_group = get_option( 'tag_group_meta_box_change_group', 1 );

        $tag_group_meta_box_add_term = get_option( 'tag_group_meta_box_add_term', 1 );

        $tag_group_meta_box_open_all = get_option( 'tag_group_meta_box_open_all', 1 );

        $tag_group_hide_tagsdiv = get_option( 'tag_group_hide_tagsdiv', 1 );

        $tag_group_open_all_with_terms = get_option( 'tag_group_open_all_with_terms', 1 );

        $tag_group_meta_box_taxonomy = get_option( 'tag_group_meta_box_taxonomy', array() );

        $all_taxonomies = get_taxonomies( array( 'public' => true ), 'objects' );

        $non_hierarchical_taxonomies_names = array();

        foreach ( $all_taxonomies as $taxonomy ) {

          /**
          * We offer only non-hierarchical taxonomies
          */
          if ( ! empty( $taxonomy ) && is_object( $taxonomy ) && ! $taxonomy->hierarchical ) {

            $non_hierarchical_taxonomies_names[] = $taxonomy->name;

          }

        }

        $taxonomies = array_intersect( get_option( 'tag_group_taxonomy', array() ), $non_hierarchical_taxonomies_names );

        // No groups yet defined
        $tag_group_meta_box_include = get_option( 'tag_group_meta_box_include', $tag_group_groups->get_group_ids() );


        $view = new TagGroups_Premium_View( 'admin/setup_wizard_meta_box' );

        $view->set( array(
          'title'                   => $title,
          'taxonomies'                        => $taxonomies,
          'tag_group_meta_box_include'        => $tag_group_meta_box_include,
          'tag_group_meta_box_change_group'   => $tag_group_meta_box_change_group,
          'tag_group_meta_box_add_term'       => $tag_group_meta_box_add_term,
          'tag_group_meta_box_open_all'       => $tag_group_meta_box_open_all,
          'tag_group_hide_tagsdiv'            => $tag_group_hide_tagsdiv,
          'tag_group_open_all_with_terms'     => $tag_group_open_all_with_terms,
          'tag_group_meta_box_taxonomy'       => $tag_group_meta_box_taxonomy,
          'setup_wizard_next_link'  => $setup_wizard_next_link
        ) );

        break;


        case 'taxonomies':

        $view = new TagGroups_View( 'admin/setup_wizard_taxonomies' );

        $view->set( array(
          'title'                   => $title,
          'public_taxonomies'       => TagGroups_Taxonomy::get_public_taxonomies(),
          'enabled_taxonomies'      => TagGroups_Taxonomy::get_enabled_taxonomies(),
          'setup_wizard_next_link'  => $setup_wizard_next_link
        ) );

        break;


        case 'finished':

        $view = new TagGroups_View( 'admin/setup_wizard_finished' );

        $documentation_link = $is_premium ? 'https://documentation.chattymango.com/documentation/tag-groups-premium/?pk_campaign=tgp&pk_kwd=wizard' : 'https://documentation.chattymango.com/documentation/tag-groups/?pk_campaign=tg&pk_kwd=wizard';

        $enabled_taxonomies = TagGroups_Taxonomy::get_enabled_taxonomies();

        $taxonomy = array_shift( $enabled_taxonomies );

        $view->set( array(
          'groups_admin_link'         => TagGroups_Taxonomy::get_tag_group_admin_url( $taxonomy ),
          'documentation_link'        => $documentation_link,
          'settings_home_link'        => admin_url( 'admin.php?page=tag-groups-settings' ),
          'tag_group_sample_page_id'  => get_option( 'tag_group_sample_page_id', 0 )
        ) );

        break;


        case 'start':
        default:

        $view = new TagGroups_View( 'admin/setup_wizard_start' );

        $view->set( array(
          'title'                   => $title,
          'setup_wizard_next_link'  => $setup_wizard_next_link,
          'is_premium'              => $is_premium
        ) );

        break;

      }

      $view->render();


      $view = new TagGroups_View( 'admin/setup_wizard_footer' );

      $view->render();


      self::add_footer();

    }


    /**
    * Processes form submissions from the settings page
    *
    * @param void
    * @return void
    */
    static function settings_page_actions_wizard() {

      global $tag_group_groups, $tag_groups_premium_fs_sdk;


      if ( empty( $_REQUEST['tg_action_wizard'] ) ) {

        return;

      }

      // Make very sure that only administrators can do actions
      if ( ! current_user_can( 'manage_options' ) ) {

        die( "Capability check failed" );

      }

      if ( ! isset( $_POST['tag-groups-setup-wizard-nonce'] ) || ! wp_verify_nonce( $_POST['tag-groups-setup-wizard-nonce'], 'tag-groups-setup-wizard-nonce' ) ) {

        die( "Security check failed" );

      }


      $enabled_taxonomies = TagGroups_Taxonomy::get_enabled_taxonomies();

      $taxonomy = array_shift( $enabled_taxonomies );


      switch ( $_REQUEST['tg_action_wizard'] ) {

        case 'taxonomy':

        if ( isset( $_POST['taxonomies'] ) ) {

          $taxonomies = $_POST['taxonomies'];

          if ( is_array( $taxonomies ) ) {

            $taxonomies = array_map( 'sanitize_text_field', $taxonomies );

            $taxonomies = array_map( 'stripslashes', $taxonomies );

          } else {

            $taxonomies = array( 'post_tag' );

          }

        } else {

          $taxonomies = array( 'post_tag' );

        }

        $public_taxonomies = TagGroups_Taxonomy::get_public_taxonomies();

        foreach ( $taxonomies as $taxonomy_item ) {

          if ( ! in_array( $taxonomy_item, $public_taxonomies ) ) {

            return;

          }

        }

        update_option( 'tag_group_taxonomy', $taxonomies );

        // trigger actions
        do_action( 'taxonomies_saved', $taxonomies );

        if ( class_exists( 'TagGroups_Premium_Post' ) && ( ! defined( 'TAG_GROUPS_DISABLE_CACHE_REBUILD' ) || TAG_GROUPS_DISABLE_CACHE_REBUILD ) ) {

          // schedule rebuild of cache
          wp_schedule_single_event( time() + 10, 'tag_groups_rebuild_post_terms' );

        }

        break;


        case 'meta-box':

        if ( isset( $_POST['taxonomies'] ) ) {

          $selected_taxonomies = $_POST['taxonomies'];

        } else {

          $selected_taxonomies = array();

        }

        $taxonomies = TagGroups_Taxonomy::get_public_taxonomies();

        foreach ( $selected_taxonomies as $taxonomy_item ) {

          $taxonomy_item = stripslashes( sanitize_text_field( $taxonomy_item ) );

          if ( ! in_array( $taxonomy_item, $taxonomies ) ) {

            die( "Security check: taxonomies" );

          }

        }
        update_option( 'tag_group_meta_box_taxonomy', $selected_taxonomies );


        if ( isset( $_POST['tag_group_meta_box_include'] ) ) {

          $tag_group_meta_box_include = array_map( 'intval', array_values( $_POST['tag_group_meta_box_include'] ) );

        } else {

          // We don't allow here to select none
          $tag_groups = $tag_group_groups->get_all_with_position_as_key();

          $tag_group_ids = array_keys( $tag_groups );

          $tag_group_meta_box_include = $tag_group_ids;

          update_option( 'tag_group_meta_box_include', $tag_group_ids );


          if ( isset( $_POST['tag_group_meta_box_open_all'] ) ) {

            $tag_group_meta_box_open_all = $_POST['tag_group_meta_box_open_all'] ? 1 : 0;

          } else {

            $tag_group_meta_box_open_all = 0;

          }
          update_option( 'tag_group_meta_box_open_all', $tag_group_meta_box_open_all );


          if ( isset( $_POST['tag_group_meta_box_add_term'] ) ) {

            $tag_group_meta_box_add_term = $_POST['tag_group_meta_box_add_term'] ? 1 : 0;

          } else {

            $tag_group_meta_box_add_term = 0;

          }
          update_option( 'tag_group_meta_box_add_term', $tag_group_meta_box_add_term );


          if ( isset( $_POST['tag_group_hide_tagsdiv'] ) ) {

            $tag_group_hide_tagsdiv = $_POST['tag_group_hide_tagsdiv'] ? 1 : 0;

          } else {

            $tag_group_hide_tagsdiv = 1;

          }
          update_option( 'tag_group_hide_tagsdiv', $tag_group_hide_tagsdiv );


          if ( isset( $_POST['tag_group_meta_box_change_group'] ) ) {

            $tag_group_meta_box_change_group = $_POST['tag_group_meta_box_change_group'] ? 1 : 0;

          } else {

            $tag_group_meta_box_change_group = 0;

          }
          update_option( 'tag_group_meta_box_change_group', $tag_group_meta_box_change_group );

          if ( isset( $_POST['tag_group_open_all_with_terms'] ) ) {

            $tag_group_open_all_with_terms = $_POST['tag_group_open_all_with_terms'] ? 1 : 0;

          } else {

            $tag_group_open_all_with_terms = 0;

          }
          $return = update_option( 'tag_group_open_all_with_terms', $tag_group_open_all_with_terms );


          TagGroups_Admin_Notice::add( 'success', __( 'Your settings have been saved.', 'tag-groups' ) );

        }

        do_action( 'tag_groups_metabox_saved' );

        break;


        case 'post-tags':

        if ( isset( $_POST['tag_group_display_groups_under_posts_title'] ) ) {

          $tag_group_display_groups_under_posts_title = sanitize_text_field( $_POST['tag_group_display_groups_under_posts_title'] ) ;

        } else {

          $tag_group_display_groups_under_posts_title = __( 'Tags', 'tag-groups' );

        }

        update_option( 'tag_group_display_groups_under_posts_title', $tag_group_display_groups_under_posts_title );


        if ( isset( $_POST['tag_group_display_groups_under_posts_priority'] ) ) {

          $tag_group_display_groups_under_posts_priority = intval( $_POST['tag_group_display_groups_under_posts_priority'] ) ;

        } else {

          $tag_group_display_groups_under_posts_priority = 10;

        }

        update_option( 'tag_group_display_groups_under_posts_priority', $tag_group_display_groups_under_posts_priority );


        if ( isset( $_POST['tag_group_display_groups_under_posts_separator'] ) ) {

          // preserving space
          $tag_group_display_groups_under_posts_separator = wp_kses( $_POST['tag_group_display_groups_under_posts_separator'], array() ) ; // sanitize_textarea_field() trims spaces

        } else {

          $tag_group_display_groups_under_posts_separator = '&nbsp;|&nbsp;';

        }

        update_option( 'tag_group_display_groups_under_posts_separator', $tag_group_display_groups_under_posts_separator );


        if ( isset( $_POST['tag_group_display_groups_under_posts_single'] ) ) {

          $tag_group_display_groups_under_posts_single = intval( $_POST['tag_group_display_groups_under_posts_single'] );

        } else {

          $tag_group_display_groups_under_posts_single = array();

        }
        update_option( 'tag_group_display_groups_under_posts_single', $tag_group_display_groups_under_posts_single );


        if ( isset( $_POST['tag_group_display_groups_under_posts_home'] ) ) {

          $tag_group_display_groups_under_posts_home = intval( $_POST['tag_group_display_groups_under_posts_home'] );

        } else {

          $tag_group_display_groups_under_posts_home = array();

        }
        update_option( 'tag_group_display_groups_under_posts_home', $tag_group_display_groups_under_posts_home );


        if ( isset( $_POST['tag_group_display_groups_under_posts_archive'] ) ) {

          $tag_group_display_groups_under_posts_archive = intval( $_POST['tag_group_display_groups_under_posts_archive'] );

        } else {

          $tag_group_display_groups_under_posts_archive = array();

        }
        update_option( 'tag_group_display_groups_under_posts_archive', $tag_group_display_groups_under_posts_archive );


        if ( isset( $_POST['tag_group_display_groups_under_posts_feed'] ) ) {

          $tag_group_display_groups_under_posts_feed = intval( $_POST['tag_group_display_groups_under_posts_feed'] );

        } else {

          $tag_group_display_groups_under_posts_feed = array();

        }
        update_option( 'tag_group_display_groups_under_posts_feed', $tag_group_display_groups_under_posts_feed );


        if ( isset( $_POST['tag_group_remove_the_post_terms'] ) ) {

          $tag_group_remove_the_post_terms = intval( $_POST['tag_group_remove_the_post_terms'] );

        } else {

          $tag_group_remove_the_post_terms = array();

        }
        update_option( 'tag_group_remove_the_post_terms', $tag_group_remove_the_post_terms );



        if ( isset( $_POST['tag_group_display_groups_under_posts'] ) ) {

          $tag_group_display_groups_under_posts = array_map( 'intval', array_values( $_POST['tag_group_display_groups_under_posts'] ) );

        } else {

          $tag_group_display_groups_under_posts = array();

        }

        // Evaluate "empty" as "all" if any of the page types was selected
        if ( count( $tag_group_display_groups_under_posts ) == 0 &&
        ( $tag_group_display_groups_under_posts_single || $tag_group_display_groups_under_posts_home || $tag_group_display_groups_under_posts_archive || $tag_group_display_groups_under_posts_feed ) ) {

          $tag_group_display_groups_under_posts = $tag_group_groups->get_group_ids();

        }

        update_option( 'tag_group_display_groups_under_posts', $tag_group_display_groups_under_posts );


        do_action( 'tag_groups_post_tags_saved' );

        break;


        case 'sample-content':

        $created_groups = array();

        /**
        * Create groups
        */
        if ( isset( $_POST['tag-groups-create-sample-groups'] ) && $_POST['tag-groups-create-sample-groups'] ) {

          foreach ( $_POST['tag_groups_group_names'] as $group_name ) {

            $tg_group = new TagGroups_Group();

            $tg_group->create( null, sanitize_text_field( $group_name ) );

            $created_groups[] = $tg_group->get_group_id();

          }

        }

        /**
        * Create tags
        */
        if ( isset( $_POST['tag-groups-create-sample-tags'] ) && $_POST['tag-groups-create-sample-tags'] ) {

          foreach ( $_POST['tag_groups_tag_names'] as $tag_name ) {

            $tag_name = sanitize_text_field( $tag_name );

            if ( ! term_exists( $tag_name, $taxonomy ) ) {

              $term_array = wp_insert_term( $tag_name, $taxonomy );


              $tg_term = new TagGroups_Term( $term_array['term_id'] );

              if ( empty( $created_groups ) ) {

                $group_ids = $tag_group_groups->get_group_ids();

                unset( $group_ids[0] );

              } else {

                $group_ids = $created_groups;

              }

              if ( $tag_groups_premium_fs_sdk->can_use_premium_code() ) {

                $amount = mt_rand( 2, count( $group_ids ) );

              }  else {
                // add one group

                $amount = 1;

              }

              if ( 1 == $amount ) {

                $random_group_ids = $group_ids[ array_rand( $group_ids ) ];

              } else {

                $random_group_ids = array_intersect_key( $group_ids, array_rand( $group_ids, $amount ) );

              }

              $tg_term->add_group( $random_group_ids )->save();

            }

          }

        }

        if ( isset( $_POST['tag-groups-create-sample-page'] ) && $_POST['tag-groups-create-sample-page'] ) {

          $view = new TagGroups_View( 'admin/sample_page' );

          if ( defined('TAG_GROUPS_PLUGIN_IS_FREE') && TAG_GROUPS_PLUGIN_IS_FREE ) {

            $view->set( 'premium_shortcodes', false );

          } else {

            $view->set( 'premium_shortcodes', true );

          }

          $current_user = wp_get_current_user();

          $view->set( array(
            'enabled_taxonomies'          => $enabled_taxonomies,
            'author_display_name'         => $current_user->display_name,
            'tag_groups_premium_fs_sdk'   => $tag_groups_premium_fs_sdk
          ) );

          $content = $view->return_html();

          $post_data = array(
            'post_title'    => wp_strip_all_tags( 'Tag Groups Sample Page' ),
            'post_content'  => $content,
            'post_status'   => 'draft',
            'post_type'     => 'page',
            'post_author'   => get_current_user_id(),
          );

          $post_id = wp_insert_post( $post_data );

          update_option( 'tag_group_sample_page_id', $post_id );

        } else {

          delete_option( 'tag_group_sample_page_id' );

        }

        break;

      }

    }


    /**
    * Processes form submissions from the settings page
    *
    * @param void
    * @return void
    */
    static function settings_page_actions() {

      global $tag_group_groups;


      if ( ! empty( $_REQUEST['tg_action'] ) ) {

        $tg_action = $_REQUEST['tg_action'];

      } else {

        return;

      }

      // Make very sure that only administrators can do actions
      if ( ! current_user_can( 'manage_options' ) ) {

        die( "Capability check failed" );

      }

      if ( isset( $_GET['id'] ) ) {

        $tag_groups_id = (int) $_GET['id'];

      } else {

        $tag_groups_id = 0;

      }

      if ( isset( $_POST['ok'] ) ) {

        $ok = $_POST['ok'];

      } else {

        $ok = '';

      }


      switch ( $tg_action ) {

        case 'shortcode':

        if ( ! isset( $_POST['tag-groups-shortcode-nonce'] ) || ! wp_verify_nonce( $_POST['tag-groups-shortcode-nonce'], 'tag-groups-shortcode' ) ) {

          die( "Security check" );

        }

        if ( isset( $_POST['widget'] ) && ($_POST['widget'] == '1') ) {

          update_option( 'tag_group_shortcode_widget', 1 );

        } else {

          update_option( 'tag_group_shortcode_widget', 0 );

        }


        if ( isset( $_POST['enqueue'] ) && ($_POST['enqueue'] == '1') ) {

          update_option( 'tag_group_shortcode_enqueue_always', 1 );

        } else {

          update_option( 'tag_group_shortcode_enqueue_always', 0 );

        }

        TagGroups_Admin_Notice::add( 'success', __( 'Your settings have been saved.', 'tag-groups' ) );

        break;


        case 'reset':

        if ( ! isset( $_POST['tag-groups-reset-nonce'] ) || ! wp_verify_nonce( $_POST['tag-groups-reset-nonce'], 'tag-groups-reset' ) ) {

          die( "Security check" );

        }


        if ( $ok == 'yes' ) {

          $tag_group_groups->reset_groups();

          /**
          * Remove filters
          */
          delete_option( 'tag_group_tags_filter' );

          TagGroups_Admin_Notice::add( 'success', __( 'All groups have been deleted and assignments reset.', 'tag-groups' ) );

        }

        break;


        case 'uninstall':

        if ( ! isset( $_POST['tag-groups-uninstall-nonce'] ) || ! wp_verify_nonce( $_POST['tag-groups-uninstall-nonce'], 'tag-groups-uninstall' ) ) {

          die( "Security check" );

        }


        if ( $ok == 'yes' ) {

          update_option( 'tag_group_reset_when_uninstall', 1 );

        } else {

          update_option( 'tag_group_reset_when_uninstall', 0 );

        }

        TagGroups_Admin_Notice::add( 'success', __( 'Your settings have been saved.' ) );

        break;


        case 'theme':

        if ( isset( $_POST['theme-name'] ) ) {

          $theme_name = stripslashes( sanitize_text_field( $_POST['theme-name'] ) );

        } else {

          $theme_name = '';

        }

        if ( isset( $_POST['theme'] ) ) {

          $theme = stripslashes( sanitize_text_field( $_POST['theme'] ) );

        } else {

          $theme = '';

        }

        if ( $theme == 'own' ) {

          $theme = $theme_name;

        }

        if ( ! isset( $_POST['tag-groups-settings-nonce'] ) || ! wp_verify_nonce( $_POST['tag-groups-settings-nonce'], 'tag-groups-settings' ) ) {

          die( "Security check" );

        }

        update_option( 'tag_group_theme', $theme );

        $mouseover = (isset( $_POST['mouseover'] ) && $_POST['mouseover'] == '1') ? 1 : 0;

        $collapsible = (isset( $_POST['collapsible'] ) && $_POST['collapsible'] == '1') ? 1 : 0;

        $html_description = (isset( $_POST['html_description'] ) && $_POST['html_description'] == '1') ? 1 : 0;

        update_option( 'tag_group_mouseover', $mouseover );

        update_option( 'tag_group_collapsible', $collapsible );

        update_option( 'tag_group_html_description', $html_description );

        $tag_group_enqueue_jquery = ( isset( $_POST['enqueue-jquery'] ) && $_POST['enqueue-jquery'] == '1' ) ? 1 : 0;

        update_option( 'tag_group_enqueue_jquery', $tag_group_enqueue_jquery );

        // TagGroups_Admin::clear_cache();

        TagGroups_Admin_Notice::add( 'success', __( 'Your settings have been saved.' ) );

        do_action( 'tag_groups_theme_saved' );

        break;


        case 'taxonomy':

        if ( ! isset( $_POST['tag-groups-taxonomy-nonce'] ) || ! wp_verify_nonce( $_POST['tag-groups-taxonomy-nonce'], 'tag-groups-taxonomy' ) ) {

          die( "Security check" );

        }

        if ( isset( $_POST['taxonomies'] ) ) {

          $taxonomies = $_POST['taxonomies'];

          if ( is_array( $taxonomies ) ) {

            $taxonomies = array_map( 'sanitize_text_field', $taxonomies );

            $taxonomies = array_map( 'stripslashes', $taxonomies );

          } else {

            $taxonomies = array( 'post_tag' );

          }

        } else {

          $taxonomies = array( 'post_tag' );

        }

        $public_taxonomies = TagGroups_Taxonomy::get_public_taxonomies();

        foreach ( $taxonomies as $taxonomy_item ) {

          if ( ! in_array( $taxonomy_item, $public_taxonomies ) ) {

            die( "Security check: taxonomies" );

          }

        }

        update_option( 'tag_group_taxonomy', $taxonomies );

        // trigger actions
        do_action( 'taxonomies_saved', $taxonomies );

        if ( class_exists( 'TagGroups_Premium_Post' ) && ( ! defined( 'TAG_GROUPS_DISABLE_CACHE_REBUILD' ) || TAG_GROUPS_DISABLE_CACHE_REBUILD ) ) {

          // schedule rebuild of cache
          wp_schedule_single_event( time() + 10, 'tag_groups_rebuild_post_terms' );

        }

        TagGroups_Admin_Notice::add( 'success', __( 'Your settings have been saved.' ) );


        break;


        case 'backend':

        if ( ! isset( $_POST['tag-groups-backend-nonce'] ) || ! wp_verify_nonce( $_POST['tag-groups-backend-nonce'], 'tag-groups-backend' ) ) {

          die( "Security check" );

        }

        $show_filter_posts = isset( $_POST['filter_posts'] ) ? 1 : 0;

        update_option( 'tag_group_show_filter', $show_filter_posts );

        $show_filter_tags = isset( $_POST['filter_tags'] ) ? 1 : 0;

        update_option( 'tag_group_show_filter_tags', $show_filter_tags );

        TagGroups_Admin_Notice::add( 'success', __( 'Your settings have been saved.' ) );

        break;


        case 'export':

        if ( ! isset( $_POST['tag-groups-export-nonce'] ) || ! wp_verify_nonce( $_POST['tag-groups-export-nonce'], 'tag-groups-export' ) ) {

          die( "Security check" );

        }

        $options = array(
          'name' => 'tag_groups_options',
          'version' => TAG_GROUPS_VERSION,
          'date' => current_time( 'mysql' )
        );

        $tg_options = new TagGroups_Options();

        $option_names = $tg_options->get_option_names();

        foreach ( $option_names as $key => $value ) {

          if ( $option_names[ $key ][ 'export' ] ) {

            $options[ $key ] = get_option( $key );

          }

        }

        // generate array of all terms
        $terms = get_terms( array(
          'hide_empty' => false,
        ) );

        $cm_terms = array(
          'name' => 'tag_groups_terms',
          'version' => TAG_GROUPS_VERSION,
          'date' => current_time( 'mysql' )
        );

        $cm_terms['terms'] = array();

        $tag_group_taxonomy = TagGroups_Taxonomy::get_enabled_taxonomies();

        foreach ( $terms as $term ) {

          if ( in_array( $term->taxonomy, $tag_group_taxonomy ) ) {

            if ( class_exists('TagGroups_Premium_Term') && get_term_meta( $term->term_id, '_cm_term_group_array', true ) != '' ) {

              $term_group = explode( ',', get_term_meta( $term->term_id, '_cm_term_group_array', true ) );

            } else {

              $term_group = $term->term_group;

            }

            $cm_terms['terms'][] = array(
              'term_id' => $term->term_id,
              'name' => $term->name,
              'slug' => $term->slug,
              'term_group' => $term_group,
              'term_taxonomy_id' => $term->term_taxonomy_id,
              'taxonomy' => $term->taxonomy,
              'description' => $term->description,
              'parent' => $term->parent,
              'count' => $term->count,
              'filter' => $term->filter,
              'meta' => $term->meta,
            );

          }

        }


        /**
        * Writing file
        */
        try {

          // misusing the password generator to get a hash
          $hash = wp_generate_password( 10, false );

          /*
          * Write settings/groups and tags separately
          */
          $fp = fopen( WP_CONTENT_DIR . '/uploads/tag_groups_settings-' . $hash . '.json', 'w' );

          fwrite( $fp, json_encode( $options ) );

          fclose( $fp );


          $fp = fopen( WP_CONTENT_DIR . '/uploads/tag_groups_terms-' . $hash . '.json', 'w' );

          fwrite( $fp, json_encode( $cm_terms ) );

          fclose( $fp );


          TagGroups_Admin_Notice::add( 'success', __( 'Your settings/groups and your terms have been exported. Please download the resulting files with right-click or ctrl-click:', 'tag-groups' ) .
          '  <p>
          <a href="' . get_bloginfo( 'wpurl' ) . '/wp-content/uploads/tag_groups_settings-' . $hash . '.json" target="_blank">tag_groups_settings-' . $hash . '.json</a>
          </p>' .
          '  <p>
          <a href="' . get_bloginfo( 'wpurl' ) . '/wp-content/uploads/tag_groups_terms-' . $hash . '.json" target="_blank">tag_groups_terms-' . $hash . '.json</a>
          </p>' );

        } catch ( Exception $e ) {

          TagGroups_Admin_Notice::add( 'error', __( 'Writing of the exported settings failed.', 'tag-groups' ) );

        }

        break;

        case 'import':

        if ( ! isset( $_POST['tag-groups-import-nonce'] ) || ! wp_verify_nonce( $_POST['tag-groups-import-nonce'], 'tag-groups-import' ) ) {

          die( "Security check" );

        }

        // Make very sure that only administrators can upload stuff
        if ( ! current_user_can( 'manage_options' ) ) {

          die( "Capability check failed" );

        }

        if ( ! isset( $_FILES['settings_file'] ) ) {

          die( "File missing" );

        }

        if ( ! function_exists( 'wp_handle_upload' ) ) {

          require_once ABSPATH . 'wp-admin/includes/file.php';

        }

        $settings_file = $_FILES['settings_file'];

        // Check file name, but allow for some additional characters in file name since downloading multiple times may add something to the original name.
        // Allow extension txt for backwards compatibility
        preg_match( '/^tag_groups_settings-\w{10}[\w,\s-]*\.((txt)|(json))$/', $_FILES['settings_file']['name'], $matches_settings );

        preg_match( '/^tag_groups_terms-\w{10}[\w,\s-]*\.json$/', $_FILES['settings_file']['name'], $matches_terms );

        if ( ! empty( $matches_settings ) && ! empty( $matches_settings[0] ) && $matches_settings[0] == $_FILES['settings_file']['name'] ) {

          $contents = @file_get_contents( $settings_file['tmp_name'] );

          if ( $contents === false ) {

            TagGroups_Admin_Notice::add( 'error', __( 'Error reading the file.', 'tag-groups' ) );

          } else {

            $options = @json_decode( $contents , true);

            if ( empty( $options ) || !is_array( $options ) || $options['name'] != 'tag_groups_options' ) {

              TagGroups_Admin_Notice::add( 'error', __( 'Error parsing the file.', 'tag-groups' ) );

            } else {

              $tg_options = new TagGroups_Options();

              $option_names = $tg_options->get_option_names();

              $changed = 0;

              // import only whitelisted options
              foreach ( $option_names as $key => $value ) {

                if ( isset( $options[ $key ] ) ) {

                  $changed += update_option( $key, $options[ $key ] ) ? 1 : 0;

                }

              }

              if ( ! isset( $options['date'] ) ) {
                $options['date'] = ' - ' . __( 'date unknown', 'tag-groups' ) . ' - ';
              }

              TagGroups_Admin_Notice::add( 'success', sprintf( __( 'Your settings and groups have been imported from the file %1$s (created with plugin version %2$s on %3$s).', 'tag-groups' ), '<b>' . $_FILES['settings_file']['name'] . '</b>', $options['version'], $options['date'] ) . '</p><p>' .
              sprintf( _n( '%d option was added or changed.','%d options were added or changed.', $changed, 'tag-groups' ), $changed ) );

              do_action( 'tag_groups_settings_imported' );

            }

          }

        } elseif ( ! empty( $matches_terms ) && ! empty( $matches_terms[0] ) && $matches_terms[0] == $_FILES['settings_file']['name'] ) {

          $contents = @file_get_contents( $settings_file['tmp_name'] );

          if ( $contents === false ) {

            TagGroups_Admin_Notice::add( 'error', __( 'Error reading the file.', 'tag-groups' ) );

          } else {

            $terms = @json_decode( $contents , true);

            if ( empty( $terms ) || !is_array( $terms ) || $terms['name'] != 'tag_groups_terms' ) {

              TagGroups_Admin_Notice::add( 'error', __( 'Error parsing the file.', 'tag-groups' ) );

            } else {

              $changed = 0;

              foreach ( $terms['terms'] as $term ) {

                // change only terms with the same name, else create new one
                if ( ! term_exists( $term['term_id'], $term['taxonomy'] ) ) {

                  $inserted_term = wp_insert_term( $term['name'], $term['taxonomy'] );

                  if ( is_array( $inserted_term ) ) {

                    if ( is_array( $term['term_group'] ) && class_exists( 'TagGroups_Premium_Term' ) ) {

                      TagGroups_Premium_Term::save( $inserted_term['term_id'], $term['taxonomy'], $term['term_group'] );

                      unset( $term['term_group'] );

                    }

                    $result = wp_update_term( $inserted_term['term_id'], $term['taxonomy'], $term );

                    if ( is_array( $result ) ) {

                      $changed++;

                    }

                  }

                } else {

                  $result = wp_update_term( $term['term_id'], $term['taxonomy'], $term );

                  if ( is_array( $result ) ) {

                    $changed++;

                  }

                }

              }

              if ( ! isset( $terms['date'] ) ) {

                $terms['date'] = ' - ' . __( 'date unknown', 'tag-groups' ) . ' - ';

              }

              TagGroups_Admin_Notice::add( 'success', sprintf( __( 'Your terms have been imported from the file %1$s (created with plugin version %2$s on %3$s).', 'tag-groups' ), '<b>' . $_FILES['settings_file']['name'] . '</b>', $terms['version'], $terms['date'] ) . '</p><p>' .
              sprintf( _n( '%d term was added or updated.','%d terms were added or updated.', $changed, 'tag-groups' ), $changed ) );

              do_action( 'tag_groups_terms_imported' );

            }

          }

        } else {

          if ( ! empty( $_FILES['settings_file']['name'] ) ) {

            $file_info = ' ' . $_FILES['settings_file']['name'];

          } else {

            $file_info = '';

          }

          TagGroups_Admin_Notice::add( 'error', __( 'Error uploading the file.', 'tag-groups' ) . $file_info );

        }

        break;

        default:
        // hook for premium plugin
        do_action( 'tag_groups_hook_settings_action', $tg_action );

        break;
      }


    }


    /**
    * Prepares variable for echoing as string
    *
    *
    * @param mixed $var Mixed type that needs to be echoed as string.
    * @return return string
    */
    private static function echo_var( $var = null )
    {

      if ( is_bool( $var ) ) {

        return $var ? 'true' : 'false';

      } elseif ( is_array( $var ) )  {

        return print_r( $var, true );

      } else {

        return (string) $var;

      }

    }


    /**
    * Returns an array that contains topics covered in the settings
    *
    * @param void
    * @return array
    */
    public static function get_setting_topics()
    {

      $public_taxonomies_slugs = TagGroups_Taxonomy::get_public_taxonomies();

      $public_taxonomies_names = array_map( array( 'TagGroups_Taxonomy', 'get_name_from_slug' ), $public_taxonomies_slugs );

      $topics = array(
        'taxonomies'  => array(
          'title' => __( 'Taxonomies', 'tag-groups' ),
          'page' => 'tag-groups-settings-taxonomies',
          'keywords'  => array_merge(
            array_keys( $public_taxonomies_names ),
            array_values( $public_taxonomies_names ),
            array(
              __( 'tag groups', 'tag-groups' ),
            )
          ),
        ),
        'shortcodes'  => array(
          'title' => __( 'Shortcodes', 'tag-groups' ),
          'page' => 'tag-groups-settings-front-end' ,
          'keywords'  => array(
            __( 'tag cloud', 'tag-groups' ),
            __( 'group info', 'tag-groups' ),
            __( 'sidebar widget', 'tag-groups' ),
            __( 'accordion', 'tag-groups' ),
            __( 'tabs', 'tag-groups' ),
            __( 'alphabetical', 'tag-groups' ),
            __( 'post list', 'tag-groups' ),
            'Gutenberg',
          ),
        ),
        'themes'  => array(
          'title' => __( 'Themes and Appearance', 'tag-groups' ),
          'page' => 'tag-groups-settings-front-end' ,
          'keywords'  => array(
            __( 'tag cloud', 'tag-groups' ),
            'CSS',
            'style',
            'HTML',
            __( 'colors', 'tag-groups' ),
            __( 'tag description', 'tag-groups' ),
          ),
        ),
        'filters'  => array(
          'title' => __( 'Filters', 'tag-groups' ),
          'page' => 'tag-groups-settings-back-end' ,
          'keywords'  => array(
            __( 'tag filter', 'tag-groups' ),
            __( 'post filter', 'tag-groups' ),
          ),
        ),
        'export_import'  => array(
          'title' => __( 'Export/Import', 'tag-groups' ),
          'page' => 'tag-groups-settings-tools' ,
          'keywords'  => array(
            __( 'backup', 'tag-groups' ),
          ),
        ),
        'reset'  => array(
          'title' => __( 'Reset', 'tag-groups' ),
          'page' => 'tag-groups-settings-tools' ,
          'keywords'  => array(
            __( 'remove plugin', 'tag-groups' ),
            __( 'remove data', 'tag-groups' ),
            __( 'delete groups', 'tag-groups' ),
          ),
        ),
        'faq'  => array(
          'title' => __( 'FAQ and Common Issues', 'tag-groups' ),
          'page' => 'tag-groups-settings-troubleshooting' ,
          'keywords'  => array(
            __( 'frequently asked questions', 'tag-groups' ),
            __( 'help', 'tag-groups' ),
            __( 'bug', 'tag-groups' ),
            __( 'problem', 'tag-groups' ),
            __( 'troubleshooting', 'tag-groups' ),
            __( 'support', 'tag-groups' ),
          ),
        ),
        'documentation'  => array(
          'title' => __( 'Documentation', 'tag-groups' ),
          'page' => 'tag-groups-settings-troubleshooting' ,
          'keywords'  => array(
            __( 'instructions', 'tag-groups' ),
            __( 'help', 'tag-groups' ),
            __( 'problem', 'tag-groups' ),
            __( 'troubleshooting', 'tag-groups' ),
            __( 'support', 'tag-groups' ),
            'Gutenberg',
            'CSS',
            'style',
            'PHP',
            'REST API'
          ),
        ),
        'support'  => array(
          'title' => __( 'Get Support', 'tag-groups' ),
          'page' => 'tag-groups-settings-troubleshooting' ,
          'keywords'  => array(
            __( 'support', 'tag-groups' ),
            __( 'contact', 'tag-groups' ),
            __( 'forum', 'tag-groups' ),
            __( 'bug', 'tag-groups' ),
            __( 'problem', 'tag-groups' ),
            __( 'help', 'tag-groups' ),
          ),
        ),
        'system'  => array(
          'title' => __( 'System Information', 'tag-groups' ),
          'page' => 'tag-groups-settings-troubleshooting' ,
          'keywords'  => array(
            __( 'debugging', 'tag-groups' ),
            __( 'PHP Version', 'tag-groups' ),
            __( 'Ajax Test', 'tag-groups' ),
            __( 'troubleshooting', 'tag-groups' ),
          ),
        ),
        'premium'  => array(
          'title' => __( 'Premium', 'tag-groups' ),
          'page' => 'tag-groups-settings-premium' ,
          'keywords'  => array(
            __( 'upgrade', 'tag-groups' ),
            __( 'more groups', 'tag-groups' ),
            __( 'posts', 'tag-groups' ),
            __( 'tag cloud', 'tag-groups' ),
            __( 'filter', 'tag-groups' ),
            'WooCommerce'
          ),
        ),
        'info'  => array(
          'title' => __( 'Info', 'tag-groups' ),
          'page' => 'tag-groups-settings-about' ,
          'keywords'  => array(
            __( 'author', 'tag-groups' ),
            __( 'version', 'tag-groups' ),
            __( 'contact', 'tag-groups' ),
            __( 'about', 'tag-groups' ),
          ),
        ),
        'licenses'  => array(
          'title' => __( 'Licenses', 'tag-groups' ),
          'page' => 'tag-groups-settings-about' ,
          'keywords'  => array(
            __( 'Credits', 'tag-groups' ),
          ),
        ),
        'news'  => array(
          'title' => __( 'Development News', 'tag-groups' ),
          'page' => 'tag-groups-settings-about' ,
          'keywords'  => array(
            __( 'blog', 'tag-groups'),
            __( 'updates', 'tag-groups' ),
          ),
        ),
        'getting_started'  => array(
          'title' => __( 'First Steps', 'tag-groups' ),
          'page' => 'tag-groups-settings-first-steps' ,
          'keywords'  => array(
            __( 'getting started', 'tag-groups' ),
            __( 'introduction', 'tag-groups' ),
            __( 'help', 'tag-groups' ),
          ),
        ),
        'setup_wizard'  => array(
          'title' => __( 'Setup Wizard', 'tag-groups' ),
          'page' => 'tag-groups-settings-setup-wizard' ,
          'keywords'  => array(
            __( 'getting started', 'tag-groups' ),
            __( 'introduction', 'tag-groups' ),
            __( 'sample', 'tag-groups' ),
          ),
        ),
      );

      $topics = apply_filters( 'tag_groups_setting_topics' , $topics );

      return $topics;

    }


    /**
    * Renders the widget where you can search for help
    *
    * @param void
    * @return void
    */
    public static function add_settings_help()
    {

      $topics = self::get_setting_topics();

      asort( $topics );

      $view = new TagGroups_View( 'admin/settings_help' );

      $view->set( 'topics', $topics );

      $view->render();

    }


  }

}

FADUS Healthcare – Affy Pharma Pvt Ltd

SEFOX

POWDER FOR ORAL SUSPENSION
30ML (HDPE BOTTLE)

Composition

Cefpodoxime 50mg/5ml

Indications & Uses

UTIs, LRTs

SYREGO – CV

POWDER FOR ORAL SUSPENSION
30ML (GLASS BOTTLE)

Composition

Cefpodoxime 50mg + Potassium Clavulanate 31.25mg/ 5ml

Indications & Uses

Upper & lower respiratory infections, Uncomplicated skin infections, Urinary Tract Infections

PEMOX-CLAV

POWDER FOR ORAL SUSPENSION
30ML (GLASS +HDPE BOTTLE)

Composition

Amoxycillin 200mg + Potassium clavulanate 28.50 mg/ 5ml

Indications & Uses

Community Acquired Pneumonia, Acute Exacerbations of Chronic Bronchitis, Upper Respiratory Tract Infections, Urinary Tract Infections

CEFIDUS CV

POWDER FOR ORAL SUSPENSION
30ML (GLASS BOTTLE)

Composition

Cefixime 50mg + Potassium clavulanate 31.25mg/5ml

Indications & Uses

Urinary Tract Inefctions, AECB, Otitis Media, Typhoid/p>

CEFIDUS

POWDER FOR ORAL SUSPENSION
30ML (HDPE BOTTLE)

Composition

Cefixime 50mg/5ml

Indications & Uses

Urinary Tract Inefctions, Gastroenteritis

SAMTHRO

ORAL SUSPENSION
15 ml

Composition

Azithromycin 200mg/5ml

Indications & Uses

Community Acquired Pneumonia, Acute Exacerbations of Chronic Bronchitis,

PARADUS-DS

ORAL SUSPENSION
60 ml

Composition

Paracetamol 250mg/5ml

Indications & Uses

Fever, Pain

FADSPAS-M

ORAL SUSPENSION
60 ml

Composition

Paracetamol 125mg + Mefenamic Acid 50mg/5ml

Indications & Uses

Pain, Fever

FADOFLOX

ORAL SUSPENSION
30 ml

Composition

Ofloxacin 50mg/5ml

Indications & Uses

Acute exacerbations of chronic Bronchitis, Diarrhoea

CUFFAD

SYRUP
60 ml

Composition

Paracetamol 125mg + PPH 5mg + Cetirizine HCI 2mg/5ml

Indications & Uses

Fever, common cold & Flu

FAD-HUNGRY

ORAL SUSPENSION
200ml

Composition

Cyproheptadine HCI 2mg + Tricholine citrate 0.275mg/5ml

Indications & Uses

Stimulate Apetite, Induces Weight Gain, Cure Allergies

APRAZ-DSR

CAPSULES ( HARD GELATIN)
10X10 (Alu-Alu)

Composition

Pantoprazole 40mg (EC) + Domperidone 30mg (SR)

Indications & Uses

GERD, Dyspepsia, Acid Peptic Disorders, Gastritis

TAPEN-DSR

CAPSULES ( HARD GELATIN)
11X10 (Alu-Alu)

Composition

Rabeprazole 20mg (EC) + Domperidone SR

Indications & Uses

GERD, Dyspepsia, Acid Peptic Disorders, Gastritis

APRAZ-40

INJECTION
40ml

Composition

Pantoprazole Sodium 40mg + NaCL

Indications & Uses

Acid-peptic disorders in hospitalized patients, Zollinger – Ellison Syndrome, Treatment of GERD Associated with Erasive Esophagitis, GL Bleed

NTICID

SUSPENSION
170ml

Composition

Activated Dimethicone 25mg + Magnesium Hydroxide 200mg+ Aluminium Hydroxide Gel 200mg/10ml

Indications & Uses

Heartburn, Acid Indigestion

FAD-ZYME

SYRUP
200ml

Composition

Alpha Amylase (1:2000) 50mg, Pepsin(1:3000) 10mg/5ml

Indications & Uses

Dyspepsia, Flatulence, Anorexia, Pancreatic Insufficiency

CAROFE

CAPSULES (HARD GELATIN)
10X3X10

Composition

Vitamin C 75mg + Vitamin B12 5mcg + Carbonyl Iron 100mg + Folic Acid 1.5mg + Zinc Sulphate 61.8mg

Indications & Uses

Hyphocromic Anemia in Pregnancy, Chronic and / or Acute Blood Loss, Post-gynaesurgery, Iron Deficiency Anemia

FA-D3 60K

CAPSULES (SOFT GELATIN)
10X1X4

Composition

Cholecalciferol 60000 UI

Indications & Uses

Osteoporosis, Osteoarthritis, Musculoskeletal Pain, Type- 2 Diabetes, Menstrual Irregularities, Pre-eclampsia, IUGR

CALERA

CAPSULES (SOFT GELATIN)
5X2X15

Composition

Calcitriol 0.25mcg + Calcium Carbonate 500mg + Zinc Sulphate 7.5mg

Indications & Uses

Osteoporosis, Hypoparathyroidism, Pregnancy & Lactation, Premenstrual Syndrome

IROFAD

SYRUP (IRON TONIC)
300 ml

Composition

Iron (III) Hydroxide Polymaltose 50mg, Folic Acid 0.5mg/15ml

Indications & Uses

Pregnancy and lactation, Iron Deficiency Anaemia, Anaemia due to Excessive Haemorrhage, Anaemia Associated with Infections and Malignant Disease

FAD-CCD

ORAL SUSPENSION
200ml

Composition

Calcium Carbonate 625mg, Vitamin D3 125 IU/5ml

Indications & Uses

Osteomalacia, Osteoporosis, Fractures, Premenstrual Syndrome

FADSPAS-M

TABLETS
20X10

Composition

Mefenamic Acid 250mg + Dicyclomine HCI 10mg

Indications & Uses

Dysmenorrhea, Irritable Bowel Syndrome, Colic and Bladder Spasm, Abdominal Pain

FADACIT

TABLETS (BLISTERS)
20X10

Composition

Nimeulide 100mg + Paracetamo; 325mg

Indications & Uses

Arthritis Pain, Soft Tissue Trauma Including Sprains, Musculoskeletal Pain, Pain Following Dental Extraction

PARA – T – FORTE

TABLETS

20X10

Composition

Tramadol 37.5mg + Paracetamol 325mg

Indications & Uses

Chronic Back Pain, Osteoarthritis, Postoperative Pain

FASFO

GEL
30g

Composition

Diclofenac Diethylamine 1.16% w/w + Oleum Linseed Oil 3 % w/w + Menthol 5% w/w +Methyl Salicylate 10% w/w

Indications & Uses

Sprains & Strains, Lower Back Pain, Joint Pain, Knee Pain

FAD-SOFT

CREAM
20g

Composition

Urea 10% +Lactic Acid 10% + Propylene Glycol 10% + Liquid Paraffin 10%

Indications & Uses

Foot Cracks, Keratolytic

CLOTIREL

OINTMENT
15g

Composition

Clotrimazole 1% w/w + Beclomethasone Dipropionate 0.025% w/w + Neomycin 0.5% w/w

Indications & Uses

Eczema, Psoriasis, Corticosteroid Responsive Dermatoses

KETOFAD

LOTION
100 ml

Composition

Ketoconazole 2% w/v

Indications & Uses

Pityriasis, Dandruff

KETOFAD-Z

LOTION
100 ml

Composition

Ketoconazole Shampoo 2% w/v + ZPTO 1% w/v

Indications & Uses

Pityriasis, Dandruff

DANDNIL

SOAP
75g

Composition

Ketoconazole 1% w/w

Indications & Uses

Tinea Versicolor, Prophylaxis of Pityriasis Versicolor

FADFLU

TABLETS
20X1X1

Composition

Fluconazole 200mg

Indications & Uses

Vaginal Candidiasis, Brochopulmonary Infections, Candiduria, Tinea Pedis, Corposis, Cruris, Versicolor

FADVIT

SYRUP
200ml

Composition

L-Iysine HCI 25mg + Vitamin B1 2.5mg + Vitamin B2 2.5mg + Vitamin B6 0.75mg + D-panthenol 3mg +Niacinamide 25mg + Mecobalamin 2mcg/10ml

Indications & Uses

Sub-optimal Growth, Poor Weight Gain, Malnutrition, Prolonged Illness

LYCODUS GOLD

SYRUP
225ml

Composition

Each 10ml Contains: Lycopene 6% 1000mcg + Vitamin A Palmitate 2500 IU + Vitamin E 10 IU + Ascorbic Acid 50mg + Selenium (as Sodium Selenate) 35mcg + Zinc (As Zinc Gluconate) 3mg + Manganese (as Manganese Gluconate) 2mg + Iodine ( As Potassium Iodine) 100mcg + Copper (As Copper Sulphate0 500mcg + Thiamine HCI 2mg + Riboflavine 3mg + Pyridoxine HCI 1.5mg

Indications & Uses

Tiredness, Stress, Feeling of Weakness, Vitality Deficiency

VITERA

CAPSULES (SOFT GELATIN)
10X1X10

Composition

Antioxidant, Multivitamin & Multiminerals

Indications & Uses

Tiredness, Stress, Feeling of Weakness, Vitality Deficiency

EWHEA

CAPSULES (SOFT GELATIN)
10X1X10

Composition

Vitamin E (Natural) 400 IU + Wheat Germ Oil 100mg + Omega 3 Fatty Acids 30mg

Indications & Uses

Ulcerative colitis, Metabolic Syndrome, Rheumatoid Arthritis, Type-2 Diabetes, Cardiovascular Diseases

VITERA-4G

CAPSULES (SOFT GELATIN)
10X1X10

Composition

Omega 3 Fatty Acid + Ginseng Extract + Ginkgo Bilaba Extract + Grape Seed Extract + Ginseng Extract + Multimineral + Multivitamin + Antioxidants + Trace Elements

Indications & Uses

Tiredness, Stress, Feeling of Weakness, Vitality Deficiency

VITERA-G

CAPSULES (SOFT GELATIN)
10X1X10

Composition

Ginseng + Multivitamin + Multimineral

Indications & Uses

Tiredness, Stress, Feeling of Weakness, Vitality Deficiency

LYCODUS

CAPSULES (SOFT GELATIN)
10X1X10

Composition

Each SG Contains Lycopene 6% 2000 IU + Vitamin A 2500 IU + Vitamin E Acetate 10 IU + Vitamin C 50 mg + Zinc sulphate Monohydrate 27.45mg + Selenium Dioxide 70mcg

Indications & Uses

Idiopathic Male Infertility, Pre-eclampsia, Prostate Cancer, Cardiovascular Diseases, Diabetes Mellitus

CEFIDUS-200-LB

TABLETS (Alu-Alu)
20X10

Composition

Cefixime 200mg + Lactic Acid Bacilus 2.5 billion spores

Indications & Uses

Otitis Media, Pharyngitis & Tonsillitis, Uncomplicated Urinary Tract Infections, Acute Exacerbations of Chronic Bronchitis, Enteric Fever

CEFIDUS-CV 325

TABLETS (Alu-Alu)
10X1X6

Composition

Cefixime 200mg + Potassium Clavulanate 125mg

Indications & Uses

Respiratory Tract Infections, Urinary Tract Infections, Skin & Skin Structure Infections

PEMOX-CLAV 625

TABLETS (Alu-Alu)
10X1X7

Composition

Amoxycillin 500mg + Potassium Clavulanate 125mg

Indications & Uses

Respiratory Tract Infections, Community Acquired Pneumonia, Gynaecological Infections, Acute Exacerbations of Chronic Bronchitis, Skin and Soft Tissue Infections

FADFLOX-O

TABLETS (Blister)
20X10

Composition

Ofloxacin 200mg + Ornidazole 500mg

Indications & Uses

Surgical ions, Diarrheas of Mixed Etiology, Gynaecological Infections, Orofacial and Dental Infections

LEVOXA-500

TABLETS
10X10

Composition

Levofloxacin 500mg

Indications & Uses

Acute Bacterial Sinusitis, Acute Bacterial Exacerbations of Chronic Bronchitis, Skin & Skin Structure Infections, Chronic Bacterial Prostatitis, Urinary Tract Infections

CEFIDUS-O

TABLETS (Alu-Alu)
20X10

Composition

Cefixime 200mg + Ofloxacin 200mg

Indications & Uses

Community Acquired Pneumonia, Multiple Drug Resistant-TB, Typhoid

FADFLOX

TABLETS (Alu-Alu)
10X1X10

Composition

Cefixime 200mg + Ofloxacin 200mg

Indications & Uses

RTIs, Otitis Media, Sinustis, UTIs, Typhoid

PEMOX-CLAV 1.2

INJECTIONS
1.2g

Composition

Amoxycillin 1000mg + Potassium Clavulanate 200mg + WFI

Indications & Uses

Community Acquired Pneumonia, Gynaecological Infections, Upper Respiratory Tract Infections, Skin and Soft Tissue Infections, Urinary Tract Infections, Acute Exacerbations of Chronic Bronchitis

EFTRI-S 1.5

INJECTIONS
1.5g

Composition

Ceftriaxone 1000mg + Sulbactam 500mg + WFI

Indications & Uses

Gynaecological Infections, Lower Respiratory Tract Infections, Intra-abdominal Infections with Aerobic Organisms, Surgical Prophylaxis

CEFOPER-S 1.5

INJECTIONS
1.5gm

Composition

Cefaperazone 1000mg + Sulbactam 500mg +WFI

Indications & Uses

Peritonitis, Bacterial Simusitis, Cholecystitis, Meningitis

BEMRO

INJECTIONS
1gm

Composition

Meropenem 1gm + WFI

Indications & Uses

Complicated Intra-abdominal Infection (cIAI), Complicated Skin & Skin Structure Infections (cSSSI), Bacterial Meningitis, Noscocomial Pneumonia

PIPDUS-T-4.5

INJECTIONS
4.5gm

Composition

Piperacillin 4000mg + Tazobactam 500mg + WFI

Indications & Uses

Intra-abdominal Infections, Complicated Urinary Tract Infections, Febrile Neutropenia, Lower Respiratory Tract Infections

EFTRI-T 1.125

INJECTIONS
1.125gm

Composition

Ceftriaxone 1000mg + Tazobactam 500 mg + WFI

Indications & Uses

Bone & Joint Infections, Intra-abdominal Infections, Bacterial Meningitis, Pre-operative Surgical Prophylaxis

SEFOX-200

TABLETS (Alu-Alu)
10X1X6

Composition

Cefpodoxime Proxetil 200mg

Indications & Uses

Pharyngitis, CAP, Tonsilitis

BRONKUFF

SYRUP
100ml

Composition

Ambroxol HCI 15mg + Guaiphensin 50mg + Terbutaline Sulphate 1.5mg + Mentholated Base/5ml

Indications & Uses

Bronchitis, Productive Cough, Emphysema, Bronchial Asthma

BRONKUFF-BR

SYRUP
100ml

Composition

Terbutaline Sulphate 2.5mg + Bromhexine HCI 8mg + Guaiphenesin 100mg + Methalated Base/5ml

Indications & Uses

Acute Cough, Abnormal Mucus Secretion, Productive Cough

CUFEX-CP

SYRUP
100ml

Composition

Dextromethorphan Hydrobromide 10mg + Phenylpherine 5 mg + Cetrizine 5mg + Mentholated Base/5ml

Indications & Uses

Commom Cold and Flu, Nasal Congestion, Sore Throat

MONLEV

TABLETS (Alu-Alu)
20X10

Composition

Levocetirizine 5mg + Montelukast 10mg

Indications & Uses

Allergic Rhinitis, Nasal Congestion, Asthma

LOVOFAD

TABLETS (Alu-Alu)
20X11

Composition

Levocetirizine 5mg

Indications & Uses

Chronic Idiopathic Urticaria (CIU), Seasonal Allergic Rhinitis (SAR), Perennial Allergic Rhinitis (PAR)

Arrange A Callback
[]
1 Step 1
Full Name
Telephone
Departmentyour full name
Postal Address
Message
0 /
Previous
Next
Shopping Basket