예제 #1
0
 /**
  * Front-end display of widget.
  *
  * @see WP_Widget::widget()
  *
  * @param array $args     Widget arguments.
  * @param array $instance Saved values from database.
  */
 public function widget($args, $instance)
 {
     global $user_ID;
     echo $args['before_widget'];
     if (!empty($instance['title'])) {
         echo $args['before_title'] . apply_filters('widget_title', $instance['title']) . $args['after_title'];
     }
     $show_messagebox = isset($instance['show_messagebox']) ? $instance['show_messagebox'] : false;
     $show_announcement = isset($instance['show_announcement']) ? $instance['show_announcement'] : false;
     echo "Welcome " . fep_get_userdata($user_ID, 'display_name', 'id') . '<br />';
     echo __('You have', 'fep');
     if ($show_messagebox) {
         $New_mgs = fep_get_new_message_number();
         $sm = $New_mgs > 1 ? 's' : '';
         echo "<a href='" . fep_action_url('messagebox') . "'>" . sprintf(__(" %d new message%s", 'fep'), $New_mgs, $sm) . '</a>';
     }
     if ($show_messagebox && $show_announcement) {
         echo __(' and', 'fep');
     }
     if ($show_announcement) {
         $New_ann = 0;
         if (class_exists('fep_announcement_class')) {
             $New_ann = fep_announcement_class::init()->getAnnouncementsNum();
         }
         $sa = $New_ann > 1 ? 's' : '';
         echo "<a href='" . fep_action_url('announcements') . "'>" . sprintf(__(" %d new announcement%s", 'fep'), $New_ann, $sa) . '</a>';
     }
     do_action('fep_text_widget');
     echo $args['after_widget'];
 }
                }
                $userDel = $wpdb->get_row($wpdb->prepare("SELECT meta_id, field_value FROM " . FEP_META_TABLE . " WHERE message_id = %d AND field_name = %s LIMIT 1", $delID, 'announcement_deleted_user_id'));
                $user_array = maybe_unserialize($userDel->field_value);
                if (is_array($user_array)) {
                    $user_array[] = $user_ID;
                } else {
                    $user_array = array($user_ID);
                }
                sort($user_array);
                $serialized_value = maybe_serialize(array_unique($user_array));
                if ($userDel) {
                    $result = $wpdb->update(FEP_META_TABLE, array('field_value' => $serialized_value), array('meta_id' => $userDel->meta_id), array('%s'), array('%d'));
                } else {
                    $result = $wpdb->insert(FEP_META_TABLE, array('message_id' => $delID, 'field_name' => 'announcement_deleted_user_id', 'field_value' => $serialized_value), array('%d', '%s', '%s'));
                }
                if ($result) {
                    delete_transient("fep_announcements_with_deleted");
                    echo '<div id="fep-success">' . __("Announcement successfully Deleted.", 'fep') . ' </div>';
                    return true;
                }
            } else {
                echo '<div id="fep-error">' . __("Something wrong. Please try again.", 'fep') . ' </div>';
                return false;
            }
        }
    }
    //END CLASS
}
//ENDIF
add_action('wp_loaded', array(fep_announcement_class::init(), 'actions_filters'));
예제 #3
0
function fep_notification()
{
    if (!is_user_logged_in()) {
        return;
    }
    if (fep_get_option('hide_notification', 0) == 1) {
        return;
    }
    $New_mgs = fep_get_new_message_number();
    $sm = $New_mgs != 1 ? __('new messages', 'fep') : __('new message', 'fep');
    $New_ann = 0;
    $show = '';
    if (class_exists('fep_announcement_class')) {
        $New_ann = fep_announcement_class::init()->getAnnouncementsNum();
    }
    $sa = $New_ann != 1 ? __('new announcements', 'fep') : __('new announcement', 'fep');
    if ($New_mgs || $New_ann) {
        $show = __("You have", 'fep');
        if ($New_mgs) {
            $show .= "<a href='" . fep_action_url('messagebox') . "'> {$New_mgs} {$sm}</a>";
        }
        if ($New_mgs && $New_ann) {
            $show .= ' ' . __('and', 'fep');
        }
        if ($New_ann) {
            $show .= "<a href='" . fep_action_url('announcements') . "'> {$New_ann} {$sa}</a>";
        }
    }
    return apply_filters('fep_header_notification', $show);
}