Sindbad~EG File Manager
<?php
/**
* Functions of bbPress's Default theme
*
* @package bbPress
* @subpackage BBP_Theme_Compat
* @since bbPress (r3732)
*/
// Exit if accessed directly
if ( !defined( 'ABSPATH' ) ) exit;
/** Theme Setup ***************************************************************/
if ( !class_exists( 'BBP_Default' ) ) :
/**
* Loads bbPress Default Theme functionality
*
* This is not a real theme by WordPress standards, and is instead used as the
* fallback for any WordPress theme that does not have bbPress templates in it.
*
* To make your custom theme bbPress compatible and customize the templates, you
* can copy these files into your theme without needing to merge anything
* together; bbPress should safely handle the rest.
*
* See @link BBP_Theme_Compat() for more.
*
* @since bbPress (r3732)
*
* @package bbPress
* @subpackage BBP_Theme_Compat
*/
class BBP_Default extends BBP_Theme_Compat {
/** Functions *************************************************************/
/**
* The main bbPress (Default) Loader
*
* @since bbPress (r3732)
*
* @uses BBP_Default::setup_globals()
* @uses BBP_Default::setup_actions()
*/
public function __construct() {
$this->setup_globals();
$this->setup_actions();
}
/**
* Component global variables
*
* Note that this function is currently commented out in the constructor.
* It will only be used if you copy this file into your current theme and
* uncomment the line above.
*
* You'll want to customize the values in here, so they match whatever your
* needs are.
*
* @since bbPress (r3732)
* @access private
*/
private function setup_globals() {
$bbp = bbpress();
$this->id = 'default';
$this->name = esc_html__( 'bbPress Default', 'mk_framework' );
$this->version = bbp_get_version();
$this->dir = trailingslashit( $bbp->themes_dir . 'default' );
$this->url = trailingslashit( $bbp->themes_url . 'default' );
}
/**
* Setup the theme hooks
*
* @since bbPress (r3732)
* @access private
*
* @uses add_filter() To add various filters
* @uses add_action() To add various actions
*/
private function setup_actions() {
/** Scripts ***********************************************************/
add_action( 'bbp_enqueue_scripts', array( $this, 'enqueue_styles' ) ); // Enqueue theme CSS
add_action( 'bbp_enqueue_scripts', array( $this, 'enqueue_scripts' ) ); // Enqueue theme JS
add_filter( 'bbp_enqueue_scripts', array( $this, 'localize_topic_script' ) ); // Enqueue theme script localization
add_action( 'bbp_head', array( $this, 'head_scripts' ) ); // Output some extra JS in the <head>
add_action( 'bbp_ajax_favorite', array( $this, 'ajax_favorite' ) ); // Handles the ajax favorite/unfavorite
add_action( 'bbp_ajax_subscription', array( $this, 'ajax_subscription' ) ); // Handles the ajax subscribe/unsubscribe
/** Template Wrappers *************************************************/
add_action( 'bbp_before_main_content', array( $this, 'before_main_content' ) ); // Top wrapper HTML
add_action( 'bbp_after_main_content', array( $this, 'after_main_content' ) ); // Bottom wrapper HTML
/** Override **********************************************************/
do_action_ref_array( 'bbp_theme_compat_actions', array( &$this ) );
}
/**
* Inserts HTML at the top of the main content area to be compatible with
* the Twenty Twelve theme.
*
* @since bbPress (r3732)
*/
public function before_main_content() {
?>
<div id="bbp-container">
<div id="bbp-content" role="main">
<?php
}
/**
* Inserts HTML at the bottom of the main content area to be compatible with
* the Twenty Twelve theme.
*
* @since bbPress (r3732)
*/
public function after_main_content() {
?>
</div><!-- #bbp-content -->
</div><!-- #bbp-container -->
<?php
}
/**
* Load the theme CSS
*
* @since bbPress (r3732)
*
* @uses wp_enqueue_style() To enqueue the styles
*/
public function enqueue_styles() {
// LTR or RTL
global $mk_options;
$file = 'assets/stylesheet/plugins/min/bbpress.css';
// Check child theme
if ( file_exists( trailingslashit( get_stylesheet_directory() ) . $file ) ) {
$location = trailingslashit( get_stylesheet_directory_uri() );
$handle = 'bbp-child-bbpress';
// Check parent theme
} elseif ( file_exists( trailingslashit( get_template_directory() ) . $file ) ) {
$location = trailingslashit( get_template_directory_uri() );
$handle = 'bbp-parent-bbpress';
// bbPress Theme Compatibility
} else {
$location = trailingslashit( $this->url );
$handle = 'bbp-default-bbpress';
}
// Enqueue the bbPress styling
wp_enqueue_style( $handle, $location . $file, array(), $this->version, 'screen' );
}
/**
* Enqueue the required Javascript files
*
* @since bbPress (r3732)
*
* @uses bbp_is_single_topic() To check if it's the topic page
* @uses bbp_is_single_user_edit() To check if it's the profile edit page
* @uses wp_enqueue_script() To enqueue the scripts
*/
public function enqueue_scripts() {
// Setup scripts array
$scripts = array();
// Editor scripts
// @see https://bbpress.trac.wordpress.org/ticket/2930
if ( bbp_use_wp_editor() && is_bbpress() ) {
$scripts['bbpress-editor'] = array(
'file' => 'js/editor.js',
'dependencies' => array( 'jquery' )
);
}
// Forum-specific scripts
if ( bbp_is_single_forum() ) {
$scripts['bbpress-engagements'] = array(
'file' => 'js/engagements.js',
'dependencies' => array( 'jquery' )
);
}
// Topic-specific scripts
if ( bbp_is_single_topic() || bbp_is_topic_edit() ) {
// Engagements
$scripts['bbpress-engagements'] = array(
'file' => 'js/engagements.js',
'dependencies' => array( 'jquery' )
);
// Hierarchical replies
if ( bbp_thread_replies() ) {
$scripts['bbpress-reply'] = array(
'file' => 'js/reply.js',
'dependencies' => array( 'jquery' )
);
}
}
// User Profile edit
if ( bbp_is_single_user_edit() ) {
wp_enqueue_script( 'user-profile' );
}
// Enqueue the scripts
foreach ( $scripts as $handle => $attributes ) {
wp_enqueue_script( $handle, $this->url . $attributes['file'], $attributes['dependencies'], $this->version, true );
}
}
/**
* Put some scripts in the header, like AJAX url for wp-lists
*
* @since bbPress (r3732)
*
* @uses bbp_is_single_topic() To check if it's the topic page
* @uses admin_url() To get the admin url
* @uses bbp_is_single_user_edit() To check if it's the profile edit page
*/
public function head_scripts() {
// Bail if no extra JS is needed
if ( ! bbp_is_single_user_edit() && ! bbp_use_wp_editor() )
return; ?>
<script type="text/javascript">
/* <![CDATA[ */
<?php if ( bbp_is_single_user_edit() ) : ?>
if ( window.location.hash === '#password' ) {
document.getElementById('pass1').focus();
}
<?php endif; ?>
<?php if ( bbp_use_wp_editor() ) : ?>
jQuery(document).ready( function() {
/* Use backticks instead of <code> for the Code button in the editor */
if ( typeof( edButtons ) !== 'undefined' ) {
edButtons[110] = new QTags.TagButton( 'code', 'code', '`', '`', 'c' );
QTags._buttonsInit();
}
/* Tab from topic title */
jQuery( '#bbp_topic_title' ).bind( 'keydown.editor-focus', function(e) {
if ( e.which !== 9 )
return;
if ( !e.ctrlKey && !e.altKey && !e.shiftKey ) {
if ( typeof( tinymce ) !== 'undefined' ) {
if ( ! tinymce.activeEditor.isHidden() ) {
var editor = tinymce.activeEditor.editorContainer;
jQuery( '#' + editor + ' td.mceToolbar > a' ).focus();
} else {
jQuery( 'textarea.bbp-the-content' ).focus();
}
} else {
jQuery( 'textarea.bbp-the-content' ).focus();
}
e.preventDefault();
}
});
/* Shift + tab from topic tags */
jQuery( '#bbp_topic_tags' ).bind( 'keydown.editor-focus', function(e) {
if ( e.which !== 9 )
return;
if ( e.shiftKey && !e.ctrlKey && !e.altKey ) {
if ( typeof( tinymce ) !== 'undefined' ) {
if ( ! tinymce.activeEditor.isHidden() ) {
var editor = tinymce.activeEditor.editorContainer;
jQuery( '#' + editor + ' td.mceToolbar > a' ).focus();
} else {
jQuery( 'textarea.bbp-the-content' ).focus();
}
} else {
jQuery( 'textarea.bbp-the-content' ).focus();
}
e.preventDefault();
}
});
});
<?php endif; ?>
/* ]]> */
</script>
<?php
}
/**
* Load localizations for topic script
*
* These localizations require information that may not be loaded even by init.
*
* @since bbPress (r3732)
*
* @uses bbp_is_single_topic() To check if it's the topic page
* @uses is_user_logged_in() To check if user is logged in
* @uses bbp_get_current_user_id() To get the current user id
* @uses bbp_get_topic_id() To get the topic id
* @uses bbp_get_favorites_permalink() To get the favorites permalink
* @uses bbp_is_user_favorite() To check if the topic is in user's favorites
* @uses bbp_is_subscriptions_active() To check if the subscriptions are active
* @uses bbp_is_user_subscribed() To check if the user is subscribed to topic
* @uses bbp_get_topic_permalink() To get the topic permalink
* @uses wp_localize_script() To localize the script
*/
public function localize_topic_script() {
// Bail if not viewing a single topic
if ( !bbp_is_single_topic() )
return;
wp_localize_script( 'bbpress-topic', 'bbpTopicJS', array(
'bbp_ajaxurl' => bbp_get_ajax_url(),
'generic_ajax_error' => esc_html__( 'Something went wrong. Refresh your browser and try again.', 'mk_framework' ),
'is_user_logged_in' => is_user_logged_in(),
'fav_nonce' => wp_create_nonce( 'toggle-favorite_' . get_the_ID() ),
'subs_nonce' => wp_create_nonce( 'toggle-subscription_' . get_the_ID() )
) );
}
/**
* AJAX handler to add or remove a topic from a user's favorites
*
* @since bbPress (r3732)
*
* @uses bbp_get_current_user_id() To get the current user id
* @uses current_user_can() To check if the current user can edit the user
* @uses bbp_get_topic() To get the topic
* @uses wp_verify_nonce() To verify the nonce & check the referer
* @uses bbp_is_user_favorite() To check if the topic is user's favorite
* @uses bbp_remove_user_favorite() To remove the topic from user's favorites
* @uses bbp_add_user_favorite() To add the topic from user's favorites
* @uses bbp_ajax_response() To return JSON
*/
public function ajax_favorite() {
// Bail if favorites are not active
if ( ! bbp_is_favorites_active() ) {
bbp_ajax_response( false, esc_html__( 'Favorites are no longer active.', 'mk_framework' ), 300 );
}
// Bail if user is not logged in
if ( !is_user_logged_in() ) {
bbp_ajax_response( false, esc_html__( 'Please login to make this topic a favorite.', 'mk_framework' ), 301 );
}
// Get user and topic data
$user_id = bbp_get_current_user_id();
$id = !empty( $_POST['id'] ) ? intval( $_POST['id'] ) : 0;
// Bail if user cannot add favorites for this user
if ( !current_user_can( 'edit_user', $user_id ) ) {
bbp_ajax_response( false, esc_html__( 'You do not have permission to do this.', 'mk_framework' ), 302 );
}
// Get the topic
$topic = bbp_get_topic( $id );
// Bail if topic cannot be found
if ( empty( $topic ) ) {
bbp_ajax_response( false, esc_html__( 'The topic could not be found.', 'mk_framework' ), 303 );
}
// Bail if user did not take this action
if ( !isset( $_POST['nonce'] ) || !wp_verify_nonce( $_POST['nonce'], 'toggle-favorite_' . $topic->ID ) ) {
bbp_ajax_response( false, esc_html__( 'Are you sure you meant to do that?', 'mk_framework' ), 304 );
}
// Take action
$status = bbp_is_user_favorite( $user_id, $topic->ID ) ? bbp_remove_user_favorite( $user_id, $topic->ID ) : bbp_add_user_favorite( $user_id, $topic->ID );
// Bail if action failed
if ( empty( $status ) ) {
bbp_ajax_response( false, esc_html__( 'The request was unsuccessful. Please try again.', 'mk_framework' ), 305 );
}
// Put subscription attributes in convenient array
$attrs = array(
'topic_id' => $topic->ID,
'user_id' => $user_id
);
// Action succeeded
bbp_ajax_response( true, bbp_get_user_favorites_link( $attrs, $user_id, false ), 200 );
}
/**
* AJAX handler to Subscribe/Unsubscribe a user from a topic
*
* @since bbPress (r3732)
*
* @uses bbp_is_subscriptions_active() To check if the subscriptions are active
* @uses bbp_get_current_user_id() To get the current user id
* @uses current_user_can() To check if the current user can edit the user
* @uses bbp_get_topic() To get the topic
* @uses wp_verify_nonce() To verify the nonce
* @uses bbp_is_user_subscribed() To check if the topic is in user's subscriptions
* @uses bbp_remove_user_subscriptions() To remove the topic from user's subscriptions
* @uses bbp_add_user_subscriptions() To add the topic from user's subscriptions
* @uses bbp_ajax_response() To return JSON
*/
public function ajax_subscription() {
// Bail if subscriptions are not active
if ( !bbp_is_subscriptions_active() ) {
bbp_ajax_response( false, esc_html__( 'Subscriptions are no longer active.', 'mk_framework' ), 300 );
}
// Bail if user is not logged in
if ( !is_user_logged_in() ) {
bbp_ajax_response( false, esc_html__( 'Please login to subscribe to this topic.', 'mk_framework' ), 301 );
}
// Get user and topic data
$user_id = bbp_get_current_user_id();
$id = intval( $_POST['id'] );
// Bail if user cannot add favorites for this user
if ( !current_user_can( 'edit_user', $user_id ) ) {
bbp_ajax_response( false, esc_html__( 'You do not have permission to do this.', 'mk_framework' ), 302 );
}
// Get the topic
$topic = bbp_get_topic( $id );
// Bail if topic cannot be found
if ( empty( $topic ) ) {
bbp_ajax_response( false, esc_html__( 'The topic could not be found.', 'mk_framework' ), 303 );
}
// Bail if user did not take this action
if ( !isset( $_POST['nonce'] ) || !wp_verify_nonce( $_POST['nonce'], 'toggle-subscription_' . $topic->ID ) ) {
bbp_ajax_response( false, esc_html__( 'Are you sure you meant to do that?', 'mk_framework' ), 304 );
}
// Take action
$status = bbp_is_user_subscribed( $user_id, $topic->ID ) ? bbp_remove_user_subscription( $user_id, $topic->ID ) : bbp_add_user_subscription( $user_id, $topic->ID );
// Bail if action failed
if ( empty( $status ) ) {
bbp_ajax_response( false, esc_html__( 'The request was unsuccessful. Please try again.', 'mk_framework' ), 305 );
}
// Put subscription attributes in convenient array
$attrs = array(
'topic_id' => $topic->ID,
'user_id' => $user_id
);
// Action succeeded
bbp_ajax_response( true, bbp_get_user_subscribe_link( $attrs, $user_id, false ), 200 );
}
}
new BBP_Default();
endif;
/**
* Remove topic & reply revision log
* -------------------------------------------------------------------------------------------*/
remove_filter( 'bbp_get_reply_content', 'bbp_reply_content_append_revisions', 1, 2 );
remove_filter( 'bbp_get_topic_content', 'bbp_topic_content_append_revisions', 1, 2 );
add_filter( 'bbp_no_breadcrumb', '__return_true' );
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists