File: /var/www/web37/htdocs/sexnetzwerk24/wp-content/themes/classipress/includes/reports/load.php
<?php
/**
* Load Reports component
*
* @package Components\Reports
*/
add_action( 'after_setup_theme', '_appthemes_load_reports', 998 );
define( 'APP_REPORTS_VERSION', '1.0' );
/**
* Setup Reports.
*
* @return void
*/
function _appthemes_load_reports() {
if ( ! current_theme_supports( 'app-reports' ) ) {
return;
}
require_once( APP_FRAMEWORK_DIR . '/admin/class-meta-box.php' );
require_once( APP_FRAMEWORK_DIR . '/admin/class-user-meta-box.php' );
require_once( APP_FRAMEWORK_DIR . '/admin/class-tabs-page.php' );
// Reports
require_once( dirname( __FILE__ ) . '/report-functions.php' );
require_once( dirname( __FILE__ ) . '/report-comments.php' );
require_once( dirname( __FILE__ ) . '/report-factory.php' );
require_once( dirname( __FILE__ ) . '/report-class.php' );
require_once( dirname( __FILE__ ) . '/report-handle.php' );
require_once( dirname( __FILE__ ) . '/report-notify-class.php' );
require_once( dirname( __FILE__ ) . '/report-enqueue.php' );
$options = appthemes_load_reports_options();
if ( is_admin() ) {
require_once( dirname( __FILE__ ) . '/admin/admin.php' );
require_once( dirname( __FILE__ ) . '/admin/metabox.php' );
require_once( dirname( __FILE__ ) . '/admin/settings.php' );
new APP_Report_Admin( $options );
new APP_Report_Post_Metabox();
if ( appthemes_reports_get_args( 'users' ) ) {
new APP_Report_User_Metabox();
}
}
extract( appthemes_reports_get_args(), EXTR_PREFIX_ALL, 'report' );
// inits comment hooks to help handle custom comment types
APP_Report_Comments::init( $report_comment_type, $report_auto_approve );
// init email notfications
APP_Report_Comments_Email_Notify::init( $report_comment_type );
// init reports data handling
APP_Report_Handle::init( $report_comment_type );
}
/**
* Returns reports options object.
*
* @return object
*/
function appthemes_load_reports_options() {
$options = appthemes_reports_get_args( 'options' );
if ( $options && is_a( $options, 'scbOptions' ) ) {
return $options;
}
$defaults = array(
'reports' => array(
'post_options' =>
__( 'Offensive Content', APP_TD ) . "\n" .
__( 'Spam', APP_TD ) . "\n" .
__( 'Other', APP_TD ),
'user_options' =>
__( 'Offensive Content', APP_TD ) . "\n" .
__( 'Spam', APP_TD ) . "\n" .
__( 'Other', APP_TD ),
'users_only' => 0,
'send_email' => 1,
),
);
$options = new scbOptions( 'app_reports', false, $defaults );
return $options;
}
/**
* Returns reports theme support args.
*
* @param string $option (optional)
*
* @return mixed
*/
function appthemes_reports_get_args( $option = '' ) {
if ( ! current_theme_supports( 'app-reports' ) ) {
return array();
}
list( $args ) = get_theme_support( 'app-reports' );
$defaults = array(
'comment_type' => APP_REPORTS_CTYPE,
'post_type' => array( 'post' ),
'auto_approve' => true,
'options' => false,
'users' => false,
'admin_top_level_page' => false,
'admin_sub_level_page' => false,
'url' => get_template_directory_uri() . '/includes/reports',
);
$final = wp_parse_args( $args, $defaults );
if ( empty( $option ) ) {
return $final;
} elseif ( isset( $final[ $option ] ) ) {
return $final[ $option ];
} else {
return false;
}
}