Plugin Directory

Changeset 2030539


Ignore:
Timestamp:
02/14/2019 01:21:55 PM (7 years ago)
Author:
vashkatsi
Message:

Do not show ads to logged in users

Location:
bbq/tags/1.4.4
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • bbq/tags/1.4.4/admin/class-bbq-admin.php

    r1961346 r2030539  
    5151
    5252    public $plugin_screen_hook_suffix;
     53
     54    public static $users_id = [];
    5355
    5456    /**
     
    165167        add_meta_box($this->plugin_name . '-blocks-in-text', __('Блоки в тексте', 'bbq'), [$this, 'blocks_in_text'], null, 'normal');
    166168        add_meta_box($this->plugin_name . '-fixed-widgets', __('Фиксированные виджеты', 'bbq'), [$this, 'bbq_meta_box_fixed_widgets'], null, 'normal');
     169        add_meta_box($this->plugin_name . '-display-ad-auth-user', __('Отображение рекламы пользователям', 'bbq'), [$this, 'bbq_meta_box_displaying_ad_to_auth_user'], null, 'normal');
    167170
    168171        include_once 'partials/bbq-admin-display.php';
     
    178181        register_setting($this->plugin_name, self::$option_name . '_marginTop');
    179182        register_setting($this->plugin_name, self::$option_name . '_marginBottom');
     183        $users = get_users();
     184        foreach ($users as $user) {
     185            register_setting($this->plugin_name, self::$option_name . '_displayedAdToAuthUser' . $user->data->ID);
     186        }
    180187        register_setting($this->plugin_name, self::$option_name . '_excludedAdvertisementContainerTags');
    181188        register_setting($this->plugin_name, self::$option_name . '_blocksInTextDistance');
     
    207214        $maxBlockInTextPosition = Bbq::$option->maxBlockInTextPosition;
    208215        echo '<p>';
    209         echo '<label for="' . self::$option_name . '_domain' . '">Количество:';
     216        echo '<label for="' . self::$option_name . '_maxBlockInTextPosition' . '">Количество:';
    210217        echo '</label>';
    211218        echo '<input style="width:70px;text-align:center;" type="number" min="0" name="' . self::$option_name . '_maxBlockInTextPosition' . '" id="' . self::$option_name . '_domain' . '" value="' . $maxBlockInTextPosition . '">';
     
    269276        echo '</p>';
    270277    }
     278
     279    public function bbq_meta_box_displaying_ad_to_auth_user()
     280    {
     281        $displayedAdToAuthUsers = Bbq::$option->getDisplayedAdToAuthUser();
     282        $users = get_users();
     283
     284        foreach ($users as $user)
     285        {
     286            $displayedAdToAuthUser = $displayedAdToAuthUsers[$user->data->ID] === 'on' ? 'checked' : '';
     287
     288            echo '<p>';
     289            echo '<span>Не показывать рекламу:  </span>';
     290            echo '<label for="' . self::$option_name . '_displayedAdToAuthUser' . $user->data->ID . '">';
     291            echo '
     292            <input type="checkbox" name="' . self::$option_name . '_displayedAdToAuthUser'. $user->data->ID .'" id="' . self::$option_name . '_displayedAdToAuthUser' . $user->data->ID . '" '. $displayedAdToAuthUser . '>'. $user->data->user_email;
     293            echo '</label>';
     294            echo '</p>';
     295        }
     296    }
    271297}
  • bbq/tags/1.4.4/includes/BbqOption.php

    r1961346 r2030539  
    1313 *
    1414 * @property integer $marginTop
     15 * @property string $displayedAdToAuthUser
    1516 * @property integer $marginBottom
    1617 * @property array $fixedBlocksIds
     
    5253    }
    5354
     55    public function getDisplayedAdToAuthUser()
     56    {
     57        $displayedAdToAuthUsers = [];
     58        $users = get_users();
     59
     60        foreach ($users as $user) {
     61            $displayedAdToAuthUsers[$user->data->ID] = get_option($this->option_prefix . 'displayedAdToAuthUser' . $user->data->ID, '');
     62        }
     63
     64        return $displayedAdToAuthUsers;
     65    }
     66
    5467    public function getBlocks()
    5568    {
  • bbq/tags/1.4.4/includes/class-bbq-deactivator.php

    r1961346 r2030539  
    4040        delete_option(Bbq_Admin::$option_name . '_maxBlockInTextPosition');
    4141        delete_option(Bbq_Admin::$option_name . '_excludedAdvertisementContainerClass');
     42        delete_option(Bbq_Admin::$option_name . '_displayAdToAuthUser');
    4243        delete_option(Bbq_Admin::$option_name . '_syncedCategories');
    4344        delete_option(Bbq_Admin::$option_name . '_saitCodeUrl');
  • bbq/tags/1.4.4/public/class-bbq-public.php

    r1961346 r2030539  
    164164    public function place_content_ad_blocks($content)
    165165    {
     166        $currentUserId = get_current_user_id();
     167        $displayedAdToUser = get_option('bbq_displayedAdToAuthUser' . $currentUserId);
     168
     169        if ( 'on' === $displayedAdToUser ) {
     170            return $content;
     171        }
     172
    166173        $blocks = Bbq::$option->blocks;
    167174        if($blocks) {
Note: See TracChangeset for help on using the changeset viewer.